一、创建数据库实例和角色
[root@controller ~]# mysql -uroot -p123456
MariaDB [(none)]> CREATE DATABASE cinder;
Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'CINDER_DBPASS';
Query OK, 0 rows affected (0.005 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'CINDER_DBPASS';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.002 sec)
MariaDB [(none)]> exit
Bye
二、创建用户、修改配置文件
2.1、① 创建cinder用户,密码设置为CINDER_PASS
[root@controller ~]# openstack user create --domain default --password CINDER_PASS cinder
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | a78494324bb14e888739bb057ab43204 |
| name | cinder |
| options | {
} |
| password_expires_at | None |
+---------------------+----------------------------------+
② 把cinder用户添加到service服务中,并授予admin权限
[root@controller ~]# openstack role add --project service --user cinder admin
③ cinder有v2和v3两个并存版本的API,所以需要创建两个版本的service实例
[root@controller ~]# openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Block Storage |
| enabled | True |
| id | 4c6867f0015149e987d136c2c3794f96 |
| name | cinderv2 |
| type | volumev2 |
+-------------+----------------------------------+
[root@controller ~]# openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Block Storage |
| enabled | True |
| id | 00274d53590f4e3e8f01b3512245f81b |
| name | cinderv3 |
| type | volumev3 |
+-------------+----------------------------------+
2.2、给v2和v3版本的api创建endpoint
[root@controller ~]# openstack endpoint create --region RegionOne volumev2 public http://controller:8776/v2/%\(project_id\)s
+--------------+------------------------------------------+
| Field | Value |
+--------------+------------------------------------------+
| enabled | True |
| id | e416e9be01d740eaada10c57aa53acd7 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 4c6867f0015149e987d136c2c3794f96 |
| service_name | cinderv2 |
| service_type | volumev2 |
| url | http://controller:8776/v2/%(project_id)s |
+--------------