컨트롤러 노드에 placement-api 를 설치한다. 데이터베이스 설정과 자격증명 생성을 먼저 끝낸다. PLACEMENT_DBPASS · PLACEMENT_PASS 는 미리 정한 값으로 바꾼다.
Ubuntu 24.04
apt install placement-api
CentOS Stream 9 · RHEL 9
dnf install openstack-placement-api
/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
[keystone_authtoken] 절의 다른 항목은 주석 처리하거나 지운다.
su -s /bin/sh -c "placement-manage db sync" placement
사용 중단(deprecation) 메시지는 무시한다.
Placement 는 Apache 아래에서 동작하므로 Apache 를 재시작한다.
Ubuntu 24.04
systemctl restart apache2
CentOS Stream 9 · RHEL 9
systemctl restart httpd
RHEL 계열에서 firewalld 를 쓰면 8778/tcp 를 연다.
firewall-cmd --permanent --add-port=8778/tcp
firewall-cmd --reload
. admin-openrc
placement-status upgrade check
+-------------------------------------------+
| Upgrade Check Results |
+-------------------------------------------+
| Check: Missing Root Provider IDs |
| Result: Success |
+-------------------------------------------+
| Check: Incomplete Consumers |
| Result: Success |
+-------------------------------------------+
CLI 플러그인을 설치해 자원 클래스와 trait 를 조회할 수 있다.
pip3 install osc-placement
openstack --os-placement-api-version 1.2 resource class list --sort-column name
openstack --os-placement-api-version 1.6 trait list --sort-column name