このセクションでは、OpenStack のプロジェクト(テナント)とプロジェクトのユーザーを作成について紹介します。

コントローラーノードで、admin クレデンシャルを読み込み、管理者専用 CLI コマンドへのアクセス権を取得します。

[root@controller ~]# . openrc/admin-openrc 
[root@controller ~]# 

OpenStack ドメインの作成

Openstack のドメインを作成します。

[root@controller ~]# openstack domain create --description "Test Domain" test-domain
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | Test Domain                      |
| enabled     | True                             |
| id          | 721807fb575446c391e317c6daa4f0dc |
| name        | test-domain                      |
| tags        | []                               |
+-------------+----------------------------------+
[root@controller ~]# 

OpenStack のドメイン一覧を表示し、作成したドメインが追加されていることを確認します。

[root@controller ~]# openstack domain list
+----------------------------------+---------+---------+--------------------------+
| ID                               | Name    | Enabled | Description              |
+----------------------------------+---------+---------+--------------------------+
| 721807fb575446c391e317c6daa4f0dc | test-domain | True    | Test Domain              |
| 8cb97e70020048cb8b27d6689b182e51 | example | True    | An Example Domain        |
| b40b2be9a53d47529fcde32c1039a4f6 | heat    | True    | Stack projects and users |
| default                          | Default | True    | The default domain       |
+----------------------------------+---------+---------+--------------------------+
[root@controller ~]# 

OpenStack プロジェクト(テナント)の作成

OpenStack のプロジェクト(テナント)を作成します。

[root@controller ~]# openstack project create --domain test-domain --description "Test Project" test
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | Test Project                     |
| domain_id   | 721807fb575446c391e317c6daa4f0dc |
| enabled     | True                             |
| id          | faf1bcc101eb4c9d84198768deca78ce |
| is_domain   | False                            |
| name        | test                             |
| parent_id   | 721807fb575446c391e317c6daa4f0dc |
| tags        | []                               |
+-------------+----------------------------------+
[root@controller ~]# 

OpenStack のプロジェクト一覧を表示し、作成したプロジェクトが追加されていることを確認します。

[root@controller ~]# openstack project list
+----------------------------------+-----------+
| ID                               | Name      |
+----------------------------------+-----------+
| 257bcb40994f44a1b2740dba5200d6c4 | admin     |
| b9644b0689c4469baa45f9acb009d860 | myproject |
| cfe83bbcacb94f2ebde2ab55e998dff2 | service   |
| faf1bcc101eb4c9d84198768deca78ce | test      |
+----------------------------------+-----------+
[root@controller ~]# 

OpenStack ユーザーの作成

Openstack ユーザーに割り当てるロール(役割)を作成します。

[root@controller ~]# openstack role create test
+-----------+----------------------------------+
| Field     | Value                            |
+-----------+----------------------------------+
| domain_id | None                             |
| id        | 71dbc9389c1a4c0cb7b6456154d1700a |
| name      | test                             |
+-----------+----------------------------------+
[root@controller ~]# 

OpenStack のロール一覧を表示し、作成したロールが追加されていることを確認します。

[root@controller ~]# openstack role list
+----------------------------------+------------------+
| ID                               | Name             |
+----------------------------------+------------------+
| 4bc8c9559ec54858b1a227429166fdd2 | heat_stack_owner |
| 62a9c5c22da445cebd7dcd0c2db853f2 | member           |
| 71dbc9389c1a4c0cb7b6456154d1700a | test             |
| 9bd168050c5d4d93bc9ebe59bc8c4f84 | heat_stack_user  |
| a766452813974f97b5ccd5cb306cdb55 | myrole           |
| b7794aa1560d48c58de39abef61aacfb | ResellerAdmin    |
| bb3baf80d9424cb6a6c77506a78a742f | reader           |
| d5940c004e3942618946f588171f997c | admin            |
+----------------------------------+------------------+
[root@controller ~]# 

OpenStack ユーザーを作成します。

[root@controller ~]# openstack user create --domain test-domain --password-prompt test-user
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | 721807fb575446c391e317c6daa4f0dc |
| enabled             | True                             |
| id                  | 6a890fc97bfd4d9e984d27b0160f551c |
| name                | test-user                        |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+
[root@controller ~]# 

OpenStack のユーザー一覧を表示し、作成したユーザーが追加されていることを確認します。

[root@controller ~]# openstack user list
+----------------------------------+-------------------+
| ID                               | Name              |
+----------------------------------+-------------------+
| 1085576577104c85b4d4d34362c6072e | swift             |
| 209f45901238438489e2f08bbf378dc6 | ceilometer        |
| 2d2700a5019149a4ba81204a005424fe | heat              |
| 3efc171a13814b1b967eec92522b6c17 | heat_domain_admin |
| 60a3c1f30a314aefb8efe9db7038de26 | neutron           |
| 6a890fc97bfd4d9e984d27b0160f551c | test-user         |
| 77b83f4eb8a743b7849e9ce8e246a5be | placement         |
| 9931465e648344669764ad704f1b5170 | nova              |
| a8ac77bcc90e470f860f90b0734848ea | glance            |
| bdecfc1d147d46ad98b9452ef89a8fa0 | cinder            |
| e8c3d4d3c06d47e1b1b28fea4bc30dbb | gnocchi           |
+----------------------------------+-------------------+
[root@controller ~]# 

作成したユーザー( test-user )に、test プロジェクトと test ロールを割り当てます。

[root@controller ~]# openstack role add --project test --user test-user test
[root@controller ~]#