部署placement
1. 部署说明
部署地点: 控制节点(ip:192.168.0.142)。
2. 创建placement相关数据库、凭据与API端点
创建placement数据库并授权。
mysql -uroot -ploongson -e "CREATE DATABASE placement;"
mysql -uroot -ploongson -e "GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY 'loongson';"
mysql -uroot -ploongson -e "GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY 'loongson';"
创建placement-common并赋予其权限,否则数据库同步时将失败。
mysql -uroot -ploongson -e "GRANT ALL PRIVILEGES ON placement.* TO 'placement-common'@'localhost' IDENTIFIED BY 'loongson';"
mysql -uroot -ploongson -e "GRANT ALL PRIVILEGES ON placement.* TO 'placement-common'@'%' IDENTIFIED BY 'loongson';"
3. 配置用户和端点
创建服务凭据,以下命令需要输入密码loongson。
openstack user create --domain default --password-prompt placement
openstack role add --project service --user placement admin
openstack service create --name placement --description "Placement API" placement
4. 创建placement项目的endpoint(API端口)
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
openstack endpoint list
5. 安装placement软件
yum install -y openstack-placement-api
6. 配置文件修改
cp /etc/placement/placement.conf /etc/placement/placement.conf.bac
crudini --set /etc/placement/placement.conf placement_database connection mysql+pymysql://placement:loongson@controller:3306/placement
crudini --set /etc/placement/placement.conf api auth_strategy keystone
crudini --set /etc/placement/placement.conf keystone_authtoken auth_url http://controller:5000/v3
crudini --set /etc/placement/placement.conf keystone_authtoken memcached_servers controller:11211
crudini --set /etc/placement/placement.conf keystone_authtoken auth_type password
crudini --set /etc/placement/placement.conf keystone_authtoken project_domain_name Default
crudini --set /etc/placement/placement.conf keystone_authtoken user_domain_name Default
crudini --set /etc/placement/placement.conf keystone_authtoken project_name service
crudini --set /etc/placement/placement.conf keystone_authtoken username placement
crudini --set /etc/placement/placement.conf keystone_authtoken password loongson
egrep -v "^#|^$" /etc/placement/placement.conf
输出信息:
#tee /etc/placement/placement.conf <<-'EOF'
#[placement_database]
#connection = mysql+pymysql://placement:loongson@controller:3306/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 = loongson
#EOF
7. 同步placement数据库
同步并初始化。
su -s /bin/sh -c "placement-manage db sync" placement
8. 重启Apache服务(httpd)
systemctl restart httpd
9. placement验证
placement-status upgrade check