第五部分 安装放置服务 placement

在 OpenStack Stein 版本发布之前,放置服务 placement 与计算服务 API(nova-api)一起位于计算服务 nova 中。

在控制节点按如下操作安装 placement 放置服务

1、创建 placement数据库

mysql -uroot -p
MariaDB [(none)]> CREATE DATABASE placement;
image.png
2、授予数据库的适当访问权限
MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO ‘placement’@’localhost’ IDENTIFIED BY ‘000000‘;
#PLACEMENT_DBPASS置换为__000000
MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO ‘placement’@’%’ IDENTIFIED BY ‘000000‘;
#PLACEMENT_DBPASS置换为__000000
MariaDB [(none)]> exit
image.png

2、创建 placement 用户

. /openrc/adminopenrc
openstack user create —domain default —password 000000 placement
openstack role add —project service —user placement admin
image.png
创建 placement 服务实体
_openstack service create —name placement —description “Placement API” placement

image.png
创建 placement 服务访问端点
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
image.png
image.png

安装 placement 软件包
yum install openstack-placement-api -y

image.png
修改配置文件
cp /etc/placement/placement.conf /etc/placement/placement.conf.bak
grep -Ev ‘^$|#’ /etc/placement/placement.conf.bak > /etc/placement/placement.conf
vim /etc/placement/placement.conf
加入:
[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 = 000000
[placement_database]

connection = mysql+pymysql://placement:000000@controller/placement
#PLACEMENT_DBPASS替换为000000
image.png

填充 placement 数据库
su -s /bin/sh -c “placement-manage db sync” placement

修改 placement 的 apache 配置文件
(官方文档坑点之一,这个步骤官方文档没有提到,如果不做,后面计算服务检查时将会报错)
vim /etc/httpd/conf.d/00-placement-api.conf
在VirtualHost中加入
#SSLCertificateKeyFile …

= 2.4>
Require all granted


Order allow,deny
Allow from all

image.png

重启 apache 服务
systemctl restart httpd

检查服务是否启动成功,使用 netstat -tnlup 查看端口情况,如果存在 8778 的端口,表示 placement 服务启动成功。

image.png
进一步检查,使用命令:curl http://controller:8778,直接访问 placement 的 API 地址,看是否能返回 json。

image.png

最后,使用下面的命令检查,看能否返回如下图中的列表

placement-status upgrade check

image.png
https://blog.51cto.com/11694088/2460060