@[TOC](openstack placement服务(小节3))
mysql
[root@mysql ~]# mysql -uroot -p123.com -h127.0.0.1
#创建数据库'placement'
MariaDB [(none)]> CREATE DATABASE placement;
#授权
MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY 'placement123';
controller1
#101也能连接、因为之前做了'haproxy'反向代理
[root@controller1 ~]# mysql -uplacement -pplacement123 -h192.168.37.101
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| placement |
+--------------------+
2 rows in set (0.001 sec)
MariaDB [(none)]> exit
Bye
#导入环境变量
[root@controller1 ~]# source scripts/admin_stein.sh
#创建'placement'账号
[root@controller1 ~]# openstack user create --domain default --password-prompt placement
User Password: <--密码'placement'
Repeat User Password: <--密码'placement'
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | 3d6cf6014ee04da69c088ae6b9b9766a |
| enabled | True |
| id | c8a6c425605d4701b51e3f954ddbc049 |
| name | placement |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
#授权
[root@controller1 ~]# openstack role add --project service --user placement admin
#创建'Placement API'
[root@controller1 ~]# openstack service create --name placement --description "Placement API" placement
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Placement API |
| enabled | True |
| id | d41642dacde64225880fe8645949689b |
| name | placement |
| type | placement |
+-------------+----------------------------------+
[root@controller1 ~]# openstack service list
+----------------------------------+-----------+-----------+
| ID | Name | Type |
+----------------------------------+-----------+-----------+
| 08ec565d0c9744239dc7829f1468fb2b | keystone | identity |
| 29712f44f34b41a0b6fddf5787fd053f | glance | image |
| d41642dacde64225880fe8645949689b | placement | placement |
+----------------------------------+-----------+-----------+
#注册API
[root@controller1 ~]# openstack endpoint create --region RegionOne placement public http://openstack.123.net:8778
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 2670009f2ff3432e8575fc38c31b46e2 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | d41642dacde64225880fe8645949689b |
| service_name | placement |
| service_type | placement |
| url | http://openstack.123.net:8778 |
+--------------+----------------------------------+
[root@controller1 ~]# openstack endpoint create --region RegionOne placement internal http://openstack.123.net:8778
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | ee4facb5bb1c4b04b4d412ec3768ddd7 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | d41642dacde64225880fe8645949689b |
| service_name | placement |
| service_type | placement |
| url | http://openstack.123.net:8778 |
+--------------+----------------------------------+
[root@controller1 ~]# openstack endpoint create --region RegionOne placement admin http://openstack.123.net:8778
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 00f1b4a1e1cb46acb7075fb8af39fb03 |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | d41642dacde64225880fe8645949689b |
| service_name | placement |
| service_type | placement |
| url | http://openstack.123.net:8778 |
+--------------+----------------------------------+
#安装
[root@controller1 ~]# yum install openstack-placement-api -y
[root@controller1 ~]# vim /etc/placement/placement.conf
...
[placement_database]
connection = mysql+pymysql://placement:placement123@openstack.123.net/placement
[api]
auth_strategy = keystone
[keystone_authtoken]
auth_url = http://openstack.123.net:5000/v3
memcached_servers = openstack.123.net:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = placement
password = placement
...
#初始化数据库
[root@controller1 ~]# su -s /bin/sh -c "placement-manage db sync" placement
mysql
[root@mysql ~]# mysql -uroot -p123.com -h127.0.0.1
MariaDB [(none)]> use placement;
#可以看到生成的表
MariaDB [placement]> show tables;
+------------------------------+
| Tables_in_placement |
+------------------------------+
| alembic_version |
| allocations |
| consumers |
| inventories |
| placement_aggregates |
| projects |
| resource_classes |
| resource_provider_aggregates |
| resource_provider_traits |
| resource_providers |
| traits |
| users |
+------------------------------+
12 rows in set (0.000 sec)
controller1
需要重启apache
[root@controller1 ~]# systemctl restart httpd
#重启完apache会增加8778端口
[root@controller1 ~]# ss -ntlp|grep 8778
LISTEN 0 128 :::8778 :::* users:(("httpd",pid=23998,fd=6),("httpd",pid=23997,fd=6),("httpd",pid=23996,fd=6),("httpd",pid=23995,fd=6),("httpd",pid=23994,fd=6),("httpd",pid=23985,fd=6))
#导入环境变量、环境变量可多次导入没关系
[root@controller1 ~]# source scripts/admin_stein.sh
#确认返回值都是'Success'
[root@controller1 ~]# placement-status upgrade check
+----------------------------------+
| Upgrade Check Results |
+----------------------------------+
| Check: Missing Root Provider IDs |
| Result: Success | <--
| Details: None |
+----------------------------------+
| Check: Incomplete Consumers |
| Result: Success | <--
| Details: None |
+----------------------------------+
mysql
#执行后会打开'15672'端口
[root@mysql ~]# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
amqp_client
cowlib
cowboy
rabbitmq_web_dispatch
rabbitmq_management_agent
rabbitmq_management
Applying plugin configuration to rabbit@mysql... started 6 plugins.
[root@mysql ~]# ss -ntlp|grep 15672
LISTEN 0 128 *:15672 *:* users:(("beam.smp",pid=3513,fd=57))
浏览器