본문 바로가기

Cloud/Openstack

openstack 최신 yoga버전 수동 설치 - Placement

Placement

Placement는 placement-apiApache, nginx 또는 기타 WSGI 지원 웹 서버에서 서비스를 실행하기 위한 WSGI 스크립트를 제공합니다.

Database 생성

1. 데이터베이스 액세스 클라이언트를 사용하여 root사용자로 데이터베이스 서버에 연결합니다.

# mysql

 

2. placement데이터베이스 생성 :

MariaDB [(none)]> CREATE DATABASE placement;

 

3. placement데이터베이스에 액세스 권한 부여 :

GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' \
 IDENTIFIED BY 'PLACEMENT_DBPASS';
GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' \
 IDENTIFIED BY 'PLACEMENT_DBPASS';

 

4. admin관리자 전용 CLI 명령을 사용하기 위해 아래 명령어 실행합니다.

# . admin-openrc

 

5. 사용자 생성

# openstack user create --domain default --password-prompt placement

 

6. 프로젝트에 사용자를 admin 역할로 추가합니다.

# openstack role add --project service --user placement admin

 

7. placement service를 추가해줍니다.

# openstack service create --name placement \
 --description "Placement API" placement

 

8. placement API 서비스 엔드포인트를 생성합니다.

# openstack endpoint create --region RegionOne \
  placement public http://controller:8778
# openstack endpoint create --region RegionOne \
  placement internal http://controller:8778
# openstack endpoint create --region RegionOne \
  placement admin http://controller:8778


구성 요소 설치 및 구성

1. 패키지 설치 :

# apt install placement-api

 

2. /etc/placement/placement.conf 파일을 아래와 같이 수정해줍니다.

[placement_database]
# ...
connection = mysql+pymysql://placement:PLACEMENT_DBPASS@controller/placement


[api]
# ...
auth_strategy = keystone


[keystone_authtoken]
# ...
auth_url = http://controller:5000/v3
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = placement
password = PLACEMENT_PASS

 

3. placement service database를 채워줍니다.

# su -s /bin/sh -c "placement-manage db sync" placement
 

설치완료

  • apache2 서비스를 다시 시작합니다.
# systemctl restart apache2

 

작동확인

 

1. 상태 확인을 수행하여 모든 것이 정상인지 확인합니다.

# placement-status upgrade check

 

2. placement API에 대해 몇 가지 명령을 실행합니다.

# pip3 install osc-placement
  • 사용 가능한 리소스 class 및 특성 출력
# openstack --os-placement-api-version 1.2 resource class list --sort-column name
+----------------------------+
| name                       |
+----------------------------+
| DISK_GB                    |
| IPV4_ADDRESS               |
| ...                        |
# openstack --os-placement-api-version 1.6 trait list --sort-column name
+---------------------------------------+
| name                                  |
+---------------------------------------+
| COMPUTE_DEVICE_TAGGING                |
| COMPUTE_NET_ATTACH_INTERFACE          |
| ...                                   |