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 adminplacementサービス (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