放置服務提供用於跟蹤資源提供者清單和用法的HTTP API。可以在展示位置概述中找到更多詳細信息。
Placement作為數據模型上的Web服務運行。安裝涉及創建必要的數據庫以及安裝和配置Web服務。這是一個簡單的過程,但是有很多步驟可以將展示位置與OpenStack雲的其余部分集成。
1.創建placement相關的數據庫,並進行授權;
mysql> CREATE DATABASE placement; Query OK, 1 row affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY '123'; Query OK, 0 rows affected, 1 warning (0.01 sec) mysql> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY '123'; Query OK, 0 rows affected, 1 warning (0.00 sec)
2.創建palcement用戶,設置密碼;(確保以admin來運行)
[root@sxb2 ~]# openstack user create --domain default --password-prompt placement User Password: Repeat User Password: +---------------------+----------------------------------+ | Field | Value | +---------------------+----------------------------------+ | domain_id | default | | enabled | True | | id | 23b2c39d0f3c4262ad4b4716341d51ff | | name | placement | | options | {} | | password_expires_at | None | +---------------------+----------------------------------+
3.將palcmenet加入service,並以admin身份管理;
[root@sxb2 ~]# openstack role add --project service --user placement admin
4.在服務目錄中創建Placement API條目;
[root@sxb2 ~]# openstack service create --name placement --description "Placement API" placement +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | Placement API | | enabled | True | | id | e37cb13ed33648b8a6e0d1e09c0a4af0 | | name | placement | | type | placement | +-------------+----------------------------------+
5.創建Placement API服務端點;
[root@sxb2 ~]# openstack endpoint create --region RegionOne placement public http://192.168.88.102:8778^C [root@sxb2 ~]# openstack endpoint create --region RegionOne placement internal http://192.168.88.102:8778^C [root@sxb2 ~]# openstack endpoint create --region RegionOne placement admin http://192.168.88.102:8778^C
6.安裝軟件openstack-placement-api;
[root@sxb2 ~]# yum install openstack-placement-api -y
7.配置/etc/placement/placement.conf文件;
[root@sxb2 ~]# vim /etc/placement/placement.conf [placement_database] connection = mysql+pymysql://placement:123@192.168.88.102/placement [api] auth_strategy = keystone [keystone_authtoken] auth_url = http://192.168.88.102:5000/v3 memcached_servers = 192.168.88.102:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = placement password = 123
8.placement初始化數據庫;
[root@sxb2 ~]# su -s /bin/sh -c "placement-manage db sync" placement
9.重啟httpd服務;
[root@sxb2 ~]# systemctl restart httpd
接下來我們進行測試;(確保以admin用戶運行)
[root@sxb2 ~]# placement-status upgrade check
+----------------------------------+
| Upgrade Check Results |
+----------------------------------+
| Check: Missing Root Provider IDs |
| Result: Success |
| Details: None |
+----------------------------------+
| Check: Incomplete Consumers |
| Result: Success |
| Details: None |
+----------------------------------+
我們還需要在httpd添加授權;
[root@sxb1 ~]# vim /etc/httpd/conf.d/00-placement-api.conf <Files "placement-api"> Require all granted </Files>
我們的placement到這里計算完成了,一下章配置計算服務 nova