OpenStack Ussuri マニュアルインストールその4―Placement 編
Controller
- Placement は CPU やメモリの使用率をはじめとするリソース情報を管理するサービス
- もともとは Nova に含まれていたが分離したらしい
前提条件
OpenStack Docs: Install and configure Placement for Ubuntu - Prerequisites
Placement をインストールする前にデータベースを作成する必要がある
root user
mysql
# 以下は`MariaDB [(none)]>`のプロンプトに入力する CREATE DATABASE placement; GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY 'PLACEMENT_DBPASS'; GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY 'PLACEMENT_DBPASS';
-
Caution
PLACEMENT_DBPASS
は適切なパスワードに書き換える placement
データベースの作成とアクセス権限の付与
-
Caution
admin
環境スクリプトの読み込みany user
. admin-openrc
サービス資格情報
placement
ユーザ作成any user
openstack user create --domain default --password-prompt placement # 対話形式のパスワードプロンプトがでる User Password: Repeat User Password:
+---------------------+----------------------------------+ | Field | Value | +---------------------+----------------------------------+ | domain_id | default | | enabled | True | | id | fa742015a6494a949f67629884fc7ec8 | | name | placement | | options | {} | | password_expires_at | None | +---------------------+----------------------------------+
-
パスワードプロンプトでは Caution
PLACEMENT_PASS
を入力
-
パスワードプロンプトでは Caution
service
プロジェクト、placement
ユーザにadmin
の役割を割り当てるany user
openstack role add --project service --user placement admin
placement
サービス (name: placement
) を作成any user
openstack service create --name placement --description "Placement API" placement
+-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | Placement API | | enabled | True | | id | 2d1a27022e6e4185b86adac4444c495f | | name | placement | | type | placement | +-------------+----------------------------------+
placement
サービスに API エンドポイント作成any user
openstack endpoint create --region RegionOne placement public http://controller:8778
+--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 2b1b2637908b4137a9c2e0470487cbc0 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 2d1a27022e6e4185b86adac4444c495f | | service_name | placement | | service_type | placement | | url | http://controller:8778 | +--------------+----------------------------------+
any user
openstack endpoint create --region RegionOne placement internal http://controller:8778
+--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 02bcda9a150a4bd7993ff4879df971ab | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 2d1a27022e6e4185b86adac4444c495f | | service_name | placement | | service_type | placement | | url | http://controller:8778 | +--------------+----------------------------------+
any user
openstack endpoint create --region RegionOne placement admin http://controller:8778
+--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 3d71177b9e0f406f98cbff198d74b182 | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 2d1a27022e6e4185b86adac4444c495f | | service_name | placement | | service_type | placement | | url | http://controller:8778 | +--------------+----------------------------------+
public
、internal
、admin
にそれぞれ作成
Placement インストール
OpenStack Docs: Install and configure Placement for Ubuntu - Install and configure components
パッケージインストール
root user
apt install placement-api
/etc/placement/placement.conf
編集# ... [placement_database] # ... # `PLACEMENT_DBPASS`は適切なパスワードに書き換える connection = mysql+pymysql://placement:PLACEMENT_DBPASS@controller/placement [api] # ... # `keystone`を利用することを指定 auth_strategy = keystone [keystone_authtoken] # 他のオプションはすべて削除またはコメントアウトする # `PLACEMENT_DBPASS`は適切なパスワードに書き換える 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 # ...
-
Caution
PLACEMENT_DBPASS
は適切なパスワードに書き換える -
Caution
PLACEMENT_PASS
は適切なパスワードに書き換える
-
Caution
Placement データベース同期
root user
su -s /bin/sh -c "placement-manage db sync" placement
サービス再起動
OpenStack Docs: Install and configure Placement for Ubuntu - Finalize installation
root user
systemctl restart apache2
動作確認
OpenStack Docs: Verify Installation
ステータスチェック
root user
placement-status upgrade check
+----------------------------------+ | Upgrade Check Results | +----------------------------------+ | Check: Missing Root Provider IDs | | Result: Success | | Details: None | +----------------------------------+ | Check: Incomplete Consumers | | Result: Success | | Details: None | +----------------------------------+
- ドキュメントでは一般ユーザで実行するように書かれているが root ユーザでないとエラーがでるので注意
Placement API インストール
root user
apt install python3-osc-placement
- ドキュメントでは
pip
インストールでの方法が書かれているが、ここだけpip
なのもなんだかあれなのでapt
インストールでやっておく
- ドキュメントでは
admin
環境スクリプトの読み込みany user
. admin-openrc
利用可能なリソース一覧を表示する
any user
openstack --os-placement-api-version 1.2 resource class list --sort-column name
+----------------------------+ | name | +----------------------------+ | DISK_GB | | IPV4_ADDRESS | | ... |
any user
openstack --os-placement-api-version 1.6 trait list --sort-column name
+---------------------------------------+ | name | +---------------------------------------+ | COMPUTE_DEVICE_TAGGING | | COMPUTE_NET_ATTACH_INTERFACE | | ... |
おわり
以上で Placement 編終了です
お疲れ様でした
関連記事一覧
- OpenStack Ussuriをマニュアルインストールしてみたメモ
- OpenStack Ussuriマニュアルインストールその1―環境構築編
- OpenStack Ussuriマニュアルインストールその2―Keystone編
- OpenStack Ussuriマニュアルインストールその3―Glance編
- OpenStack Ussuriマニュアルインストールその4―Placement編(当記事)
- OpenStack Ussuriマニュアルインストールその5―Nova編
- OpenStack Ussuriマニュアルインストールその6―Neutron編
- OpenStack Ussuriマニュアルインストールその7―Horizon編
- OpenStack Ussuriマニュアルインストールその8―Cinder編
- OpenStack Ussuriマニュアルインストールその9―起動編
- OpenStack Ussuri 追加インストールその1―Octavia編
- OpenStack Victoriaをマニュアルインストールしてみたメモ
- OpenStack Tips
- Issues