このセクションでは、コントローラーノードに Image サービス ( Glance )をインストールして設定する方法を説明します。簡単のため、この設定ではイメージをローカルファイルシステムに保存します。

データベース環境の設定

SQL データベースに root ユーザーで接続し、GlanceのデータベースとGlance データベースに接続するユーザーとアクセス権を作成します。作業は、コントローラーノードで実施します。ここでは、Glance のデータベース名は glance 、ユーザー名は glance 、データベースに接続するパスワードは GLANCE_DB_PASS としているので、実際の情報に置き換えてください。

[root@controller ~]# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 27
Server version: 10.1.20-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE glance;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
    ->   IDENTIFIED BY 'GLANCE_DB_PASS';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
    ->   IDENTIFIED BY 'GLANCE_DB_PASS';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye
[root@controller ~]# 

クレデンシャルとエンドポイントの作成

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

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

glance ユーザーを作成します。ここでは、glance ユーザーのパスワードはGLANCE_PASS としているので、適宜変更して下さい。

[root@controller ~]# openstack user create --domain default --password-prompt glance
User Password: GLANCE_PASS
Repeat User Password: GLANCE_PASS
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | a8ac77bcc90e470f860f90b0734848ea |
| name                | glance                           |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+
[root@controller ~]# 

admin の ロールを glance ユーザーと service プロジェクトに追加します。

[root@controller ~]# openstack role add --project service --user glance admin
[root@controller ~]# 

glance サービスエンティティーを作成します。

[root@controller ~]# openstack service create --name glance \
>   --description "OpenStack Image" image
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Image                  |
| enabled     | True                             |
| id          | d2f2daec67bb46c29db876e1c1f19d47 |
| name        | glance                           |
| type        | image                            |
+-------------+----------------------------------+
[root@controller ~]# 

Image service の API エンドポイントを作成します。

[root@controller ~]# openstack endpoint create --region RegionOne \
>   image public http://controller:9292
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 6384b136508145978072e2e660a9cf0b |
| interface    | public                           |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | d2f2daec67bb46c29db876e1c1f19d47 |
| service_name | glance                           |
| service_type | image                            |
| url          | http://controller:9292           |
+--------------+----------------------------------+
[root@controller ~]# 
[root@controller ~]# openstack endpoint create --region RegionOne \
>   image internal http://controller:9292
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | e0f6af2b29b64a4b8bffaf26f81af9f0 |
| interface    | internal                         |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | d2f2daec67bb46c29db876e1c1f19d47 |
| service_name | glance                           |
| service_type | image                            |
| url          | http://controller:9292           |
+--------------+----------------------------------+
[root@controller ~]# 
[root@controller ~]# openstack endpoint create --region RegionOne \
>   image admin http://controller:9292
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 27a4f6bc3c554e1899cdc70a47910f19 |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | d2f2daec67bb46c29db876e1c1f19d47 |
| service_name | glance                           |
| service_type | image                            |
| url          | http://controller:9292           |
+--------------+----------------------------------+
[root@controller ~]# 

コンポーネントのインストールと設定

openstack-rocky の yum リポジトリ(CentOS-Openstack-rocky.repo)を使って、 Image サービス(Glance) に必要なパッケージをインストールします。インストールは、コントローラーノードで実施します。

[root@controller ~]# yum --enablerepo=centos-openstack-rocky -y install openstack-glance
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ openstack-glance.noarch 1:17.0.0-2.el7 を インストール
--> 依存性の処理をしています: python-glance = 1:17.0.0-2.el7 のパッケージ: 1:openstack-glance-17.0.0-2.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ python-glance.noarch 1:17.0.0-2.el7 を インストール
--> 依存性の処理をしています: python2-wsme >= 0.8 のパッケージ: 1:python-glance-17.0.0-2.el7.noarch
--> 依存性の処理をしています: python2-taskflow >= 2.16.0 のパッケージ: 1:python-glance-17.0.0-2.el7.noarch
--> 依存性の処理をしています: python2-swiftclient >= 2.2.0 のパッケージ: 1:python-glance-17.0.0-2.el7.noarch
--> 依存性の処理をしています: python2-oslo-vmware >= 0.11.1 のパッケージ: 1:python-glance-17.0.0-2.el7.noarch
--> 依存性の処理をしています: python2-os-brick >= 1.8.0 のパッケージ: 1:python-glance-17.0.0-2.el7.noarch
--> 依存性の処理をしています: python2-glance-store >= 0.26.1 のパッケージ: 1:python-glance-17.0.0-2.el7.noarch
--> 依存性の処理をしています: python2-cursive のパッケージ: 1:python-glance-17.0.0-2.el7.noarch
--> 依存性の処理をしています: python2-boto のパッケージ: 1:python-glance-17.0.0-2.el7.noarch
--> 依存性の処理をしています: python-retrying のパッケージ: 1:python-glance-17.0.0-2.el7.noarch
--> 依存性の処理をしています: python-httplib2 のパッケージ: 1:python-glance-17.0.0-2.el7.noarch
--> 依存性の処理をしています: pysendfile のパッケージ: 1:python-glance-17.0.0-2.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ pysendfile.x86_64 0:2.0.0-5.el7 を インストール
---> パッケージ python-boto.noarch 0:2.34.0-4.el7 を インストール
--> 依存性の処理をしています: python-rsa のパッケージ: python-boto-2.34.0-4.el7.noarch
---> パッケージ python-httplib2.noarch 0:0.9.2-1.el7 を インストール
---> パッケージ python-retrying.noarch 0:1.2.3-4.el7 を インストール
---> パッケージ python2-cursive.noarch 0:0.2.2-1.el7 を インストール
--> 依存性の処理をしています: python2-castellan >= 0.4.0 のパッケージ: python2-cursive-0.2.2-1.el7.noarch
---> パッケージ python2-glance-store.noarch 0:0.26.1-1.el7 を インストール
--> 依存性の処理をしています: python2-oslo-privsep >= 1.23.0 のパッケージ: python2-glance-store-0.26.1-1.el7.noarch
--> 依存性の処理をしています: python2-oslo-rootwrap のパッケージ: python2-glance-store-0.26.1-1.el7.noarch
---> パッケージ python2-os-brick.noarch 0:2.5.4-1.el7 を インストール
--> 依存性の処理をしています: python2-os-win >= 3.0.0 のパッケージ: python2-os-brick-2.5.4-1.el7.noarch
--> 依存性の処理をしています: sg3_utils のパッケージ: python2-os-brick-2.5.4-1.el7.noarch
--> 依存性の処理をしています: device-mapper-multipath のパッケージ: python2-os-brick-2.5.4-1.el7.noarch
---> パッケージ python2-oslo-vmware.noarch 0:2.31.0-1.el7 を インストール
--> 依存性の処理をしています: python-oslo-vmware-lang = 2.31.0-1.el7 のパッケージ: python2-oslo-vmware-2.31.0-1.el7.noarch
--> 依存性の処理をしています: python2-suds >= 0.6 のパッケージ: python2-oslo-vmware-2.31.0-1.el7.noarch
--> 依存性の処理をしています: python-lxml のパッケージ: python2-oslo-vmware-2.31.0-1.el7.noarch
---> パッケージ python2-swiftclient.noarch 0:3.6.0-1.el7 を インストール
---> パッケージ python2-taskflow.noarch 0:3.2.0-1.el7 を インストール
--> 依存性の処理をしています: python2-automaton >= 1.9.0 のパッケージ: python2-taskflow-3.2.0-1.el7.noarch
--> 依存性の処理をしています: python-networkx >= 1.10 のパッケージ: python2-taskflow-3.2.0-1.el7.noarch
--> 依存性の処理をしています: python-networkx-core のパッケージ: python2-taskflow-3.2.0-1.el7.noarch
---> パッケージ python2-wsme.noarch 0:0.9.3-1.el7 を インストール
--> 依存性の処理をしています: python-simplegeneric のパッケージ: python2-wsme-0.9.3-1.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ device-mapper-multipath.x86_64 0:0.4.9-119.el7_5.1 を インストール
--> 依存性の処理をしています: device-mapper-multipath-libs = 0.4.9-119.el7_5.1 のパッケージ: device-mapper-multipath-0.4.9-119.el7_5.1.x86_64
--> 依存性の処理をしています: libmultipath.so.0()(64bit) のパッケージ: device-mapper-multipath-0.4.9-119.el7_5.1.x86_64
--> 依存性の処理をしています: libmpathpersist.so.0()(64bit) のパッケージ: device-mapper-multipath-0.4.9-119.el7_5.1.x86_64
--> 依存性の処理をしています: libmpathcmd.so.0()(64bit) のパッケージ: device-mapper-multipath-0.4.9-119.el7_5.1.x86_64
---> パッケージ python-lxml.x86_64 0:3.2.1-4.el7 を インストール
--> 依存性の処理をしています: libxslt.so.1(LIBXML2_1.1.9)(64bit) のパッケージ: python-lxml-3.2.1-4.el7.x86_64
--> 依存性の処理をしています: libxslt.so.1(LIBXML2_1.1.26)(64bit) のパッケージ: python-lxml-3.2.1-4.el7.x86_64
--> 依存性の処理をしています: libxslt.so.1(LIBXML2_1.1.2)(64bit) のパッケージ: python-lxml-3.2.1-4.el7.x86_64
--> 依存性の処理をしています: libxslt.so.1(LIBXML2_1.0.24)(64bit) のパッケージ: python-lxml-3.2.1-4.el7.x86_64
--> 依存性の処理をしています: libxslt.so.1(LIBXML2_1.0.22)(64bit) のパッケージ: python-lxml-3.2.1-4.el7.x86_64
--> 依存性の処理をしています: libxslt.so.1(LIBXML2_1.0.18)(64bit) のパッケージ: python-lxml-3.2.1-4.el7.x86_64
--> 依存性の処理をしています: libxslt.so.1(LIBXML2_1.0.11)(64bit) のパッケージ: python-lxml-3.2.1-4.el7.x86_64
--> 依存性の処理をしています: libxslt.so.1()(64bit) のパッケージ: python-lxml-3.2.1-4.el7.x86_64
--> 依存性の処理をしています: libexslt.so.0()(64bit) のパッケージ: python-lxml-3.2.1-4.el7.x86_64
---> パッケージ python-networkx.noarch 0:1.10-1.el7 を インストール
---> パッケージ python-networkx-core.noarch 0:1.10-1.el7 を インストール
--> 依存性の処理をしています: scipy のパッケージ: python-networkx-core-1.10-1.el7.noarch
---> パッケージ python-oslo-vmware-lang.noarch 0:2.31.0-1.el7 を インストール
---> パッケージ python-simplegeneric.noarch 0:0.8-7.el7 を インストール
---> パッケージ python2-automaton.noarch 0:1.15.0-1.el7 を インストール
---> パッケージ python2-castellan.noarch 0:0.19.0-1.el7 を インストール
---> パッケージ python2-os-win.noarch 0:4.0.1-1.el7 を インストール
---> パッケージ python2-oslo-privsep.noarch 0:1.29.2-1.el7 を インストール
--> 依存性の処理をしています: python-oslo-privsep-lang = 1.29.2-1.el7 のパッケージ: python2-oslo-privsep-1.29.2-1.el7.noarch
---> パッケージ python2-oslo-rootwrap.noarch 0:5.14.1-1.el7 を インストール
---> パッケージ python2-rsa.noarch 0:3.3-2.el7 を インストール
--> 依存性の処理をしています: python-pyasn1 >= 0.1.3 のパッケージ: python2-rsa-3.3-2.el7.noarch
---> パッケージ python2-suds.noarch 0:0.7-0.4.94664ddd46a6.el7 を インストール
---> パッケージ sg3_utils.x86_64 0:1.37-12.el7 を インストール
--> 依存性の処理をしています: sg3_utils-libs = 1.37-12.el7 のパッケージ: sg3_utils-1.37-12.el7.x86_64
--> 依存性の処理をしています: libsgutils2.so.2()(64bit) のパッケージ: sg3_utils-1.37-12.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ device-mapper-multipath-libs.x86_64 0:0.4.9-119.el7_5.1 を インストール
--> 依存性の処理をしています: librados.so.2()(64bit) のパッケージ: device-mapper-multipath-libs-0.4.9-119.el7_5.1.x86_64
---> パッケージ libxslt.x86_64 0:1.1.28-5.el7 を インストール
---> パッケージ python-oslo-privsep-lang.noarch 0:1.29.2-1.el7 を インストール
---> パッケージ python2-pyasn1.noarch 0:0.1.9-7.el7 を インストール
---> パッケージ python2-scipy.x86_64 0:0.18.0-3.el7 を インストール
--> 依存性の処理をしています: numpy のパッケージ: python2-scipy-0.18.0-3.el7.x86_64
--> 依存性の処理をしています: libgfortran.so.3(GFORTRAN_1.4)(64bit) のパッケージ: python2-scipy-0.18.0-3.el7.x86_64
--> 依存性の処理をしています: libgfortran.so.3(GFORTRAN_1.0)(64bit) のパッケージ: python2-scipy-0.18.0-3.el7.x86_64
--> 依存性の処理をしています: libtatlas.so.3()(64bit) のパッケージ: python2-scipy-0.18.0-3.el7.x86_64
--> 依存性の処理をしています: libquadmath.so.0()(64bit) のパッケージ: python2-scipy-0.18.0-3.el7.x86_64
--> 依存性の処理をしています: libgfortran.so.3()(64bit) のパッケージ: python2-scipy-0.18.0-3.el7.x86_64
---> パッケージ sg3_utils-libs.x86_64 0:1.37-12.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ atlas.x86_64 0:3.10.1-12.el7 を インストール
---> パッケージ libgfortran.x86_64 0:4.8.5-28.el7_5.1 を インストール
---> パッケージ libquadmath.x86_64 0:4.8.5-28.el7_5.1 を インストール
---> パッケージ librados2.x86_64 2:12.2.5-0.el7 を インストール
--> 依存性の処理をしています: libibverbs.so.1(IBVERBS_1.1)(64bit) のパッケージ: 2:librados2-12.2.5-0.el7.x86_64
--> 依存性の処理をしています: libibverbs.so.1(IBVERBS_1.0)(64bit) のパッケージ: 2:librados2-12.2.5-0.el7.x86_64
--> 依存性の処理をしています: liblttng-ust.so.0()(64bit) のパッケージ: 2:librados2-12.2.5-0.el7.x86_64
--> 依存性の処理をしています: libibverbs.so.1()(64bit) のパッケージ: 2:librados2-12.2.5-0.el7.x86_64
---> パッケージ python2-numpy.x86_64 1:1.14.5-1.el7 を インストール
--> 依存性の処理をしています: python2-nose のパッケージ: 1:python2-numpy-1.14.5-1.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libibverbs.x86_64 0:15-7.el7_5 を インストール
--> 依存性の処理をしています: rdma-core(x86-64) = 15-7.el7_5 のパッケージ: libibverbs-15-7.el7_5.x86_64
---> パッケージ lttng-ust.x86_64 0:2.10.0-1.el7 を インストール
--> 依存性の処理をしています: liburcu-cds.so.6()(64bit) のパッケージ: lttng-ust-2.10.0-1.el7.x86_64
--> 依存性の処理をしています: liburcu-bp.so.6()(64bit) のパッケージ: lttng-ust-2.10.0-1.el7.x86_64
---> パッケージ python-nose.noarch 0:1.3.7-7.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ rdma-core.x86_64 0:15-7.el7_5 を インストール
--> 依存性の処理をしています: pciutils のパッケージ: rdma-core-15-7.el7_5.x86_64
---> パッケージ userspace-rcu.x86_64 0:0.10.0-3.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ pciutils.x86_64 0:3.5.1-3.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package                  アーキテクチャー
                                 バージョン        リポジトリー            容量
================================================================================
インストール中:
 openstack-glance         noarch 1:17.0.0-2.el7    centos-openstack-rocky  78 k
依存性関連でのインストールをします:
 atlas                    x86_64 3.10.1-12.el7     base                   4.5 M
 device-mapper-multipath  x86_64 0.4.9-119.el7_5.1 updates                138 k
 device-mapper-multipath-libs
                          x86_64 0.4.9-119.el7_5.1 updates                258 k
 libgfortran              x86_64 4.8.5-28.el7_5.1  updates                299 k
 libibverbs               x86_64 15-7.el7_5        updates                224 k
 libquadmath              x86_64 4.8.5-28.el7_5.1  updates                188 k
 librados2                x86_64 2:12.2.5-0.el7    centos-ceph-luminous   2.8 M
 libxslt                  x86_64 1.1.28-5.el7      base                   242 k
 lttng-ust                x86_64 2.10.0-1.el7      centos-ceph-luminous   245 k
 pciutils                 x86_64 3.5.1-3.el7       base                    93 k
 pysendfile               x86_64 2.0.0-5.el7       centos-openstack-rocky  10 k
 python-boto              noarch 2.34.0-4.el7      centos-openstack-rocky 1.6 M
 python-glance            noarch 1:17.0.0-2.el7    centos-openstack-rocky 760 k
 python-httplib2          noarch 0.9.2-1.el7       extras                 115 k
 python-lxml              x86_64 3.2.1-4.el7       base                   758 k
 python-networkx          noarch 1.10-1.el7        centos-openstack-rocky 7.8 k
 python-networkx-core     noarch 1.10-1.el7        centos-openstack-rocky 1.6 M
 python-nose              noarch 1.3.7-7.el7       centos-openstack-rocky 276 k
 python-oslo-privsep-lang noarch 1.29.2-1.el7      centos-openstack-rocky 8.1 k
 python-oslo-vmware-lang  noarch 2.31.0-1.el7      centos-openstack-rocky 9.4 k
 python-retrying          noarch 1.2.3-4.el7       centos-openstack-rocky  16 k
 python-simplegeneric     noarch 0.8-7.el7         centos-ceph-luminous    12 k
 python2-automaton        noarch 1.15.0-1.el7      centos-openstack-rocky  37 k
 python2-castellan        noarch 0.19.0-1.el7      centos-openstack-rocky 108 k
 python2-cursive          noarch 0.2.2-1.el7       centos-openstack-rocky  53 k
 python2-glance-store     noarch 0.26.1-1.el7      centos-openstack-rocky 266 k
 python2-numpy            x86_64 1:1.14.5-1.el7    centos-openstack-rocky 3.7 M
 python2-os-brick         noarch 2.5.4-1.el7       centos-openstack-rocky 1.1 M
 python2-os-win           noarch 4.0.1-1.el7       centos-openstack-rocky 417 k
 python2-oslo-privsep     noarch 1.29.2-1.el7      centos-openstack-rocky  30 k
 python2-oslo-rootwrap    noarch 5.14.1-1.el7      centos-openstack-rocky  39 k
 python2-oslo-vmware      noarch 2.31.0-1.el7      centos-openstack-rocky 206 k
 python2-pyasn1           noarch 0.1.9-7.el7       base                   100 k
 python2-rsa              noarch 3.3-2.el7         centos-openstack-rocky  63 k
 python2-scipy            x86_64 0.18.0-3.el7      centos-openstack-rocky  12 M
 python2-suds             noarch 0.7-0.4.94664ddd46a6.el7
                                                   centos-openstack-rocky 234 k
 python2-swiftclient      noarch 3.6.0-1.el7       centos-openstack-rocky 162 k
 python2-taskflow         noarch 3.2.0-1.el7       centos-openstack-rocky 679 k
 python2-wsme             noarch 0.9.3-1.el7       centos-openstack-rocky 193 k
 rdma-core                x86_64 15-7.el7_5        updates                 48 k
 sg3_utils                x86_64 1.37-12.el7       base                   644 k
 sg3_utils-libs           x86_64 1.37-12.el7       base                    64 k
 userspace-rcu            x86_64 0.10.0-3.el7      centos-ceph-luminous    93 k

トランザクションの要約
================================================================================
インストール  1 パッケージ (+43 個の依存関係のパッケージ)

総ダウンロード容量: 34 M
インストール容量: 145 M
Downloading packages:
(1/44): device-mapper-multipath-0.4.9-119.el7_5.1.x86_64.r | 138 kB   00:00     
(2/44): device-mapper-multipath-libs-0.4.9-119.el7_5.1.x86 | 258 kB   00:00     
(3/44): libquadmath-4.8.5-28.el7_5.1.x86_64.rpm            | 188 kB   00:00     
(4/44): libgfortran-4.8.5-28.el7_5.1.x86_64.rpm            | 299 kB   00:00     
(5/44): libibverbs-15-7.el7_5.x86_64.rpm                   | 224 kB   00:00     
(6/44): libxslt-1.1.28-5.el7.x86_64.rpm                    | 242 kB   00:00     
(7/44): pciutils-3.5.1-3.el7.x86_64.rpm                    |  93 kB   00:00     
(8/44): atlas-3.10.1-12.el7.x86_64.rpm                     | 4.5 MB   00:01     
(9/44): pysendfile-2.0.0-5.el7.x86_64.rpm                  |  10 kB   00:00     
warning: /var/cache/yum/x86_64/7/centos-ceph-luminous/packages/lttng-ust-2.10.0-1.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID e451e5b5: NOKEY
lttng-ust-2.10.0-1.el7.x86_64.rpm の公開鍵がインストールされていません
(10/44): lttng-ust-2.10.0-1.el7.x86_64.rpm                 | 245 kB   00:02     
(11/44): openstack-glance-17.0.0-2.el7.noarch.rpm          |  78 kB   00:02     
(12/44): python-httplib2-0.9.2-1.el7.noarch.rpm            | 115 kB   00:00     
(13/44): librados2-12.2.5-0.el7.x86_64.rpm                 | 2.8 MB   00:03     
(14/44): python-boto-2.34.0-4.el7.noarch.rpm               | 1.6 MB   00:02     
(15/44): python-networkx-1.10-1.el7.noarch.rpm             | 7.8 kB   00:00     
(16/44): python-glance-17.0.0-2.el7.noarch.rpm             | 760 kB   00:02     
(17/44): python-networkx-core-1.10-1.el7.noarch.rpm        | 1.6 MB   00:01     
(18/44): python-oslo-privsep-lang-1.29.2-1.el7.noarch.rpm  | 8.1 kB   00:00     
(19/44): python-oslo-vmware-lang-2.31.0-1.el7.noarch.rpm   | 9.4 kB   00:00     
(20/44): python-nose-1.3.7-7.el7.noarch.rpm                | 276 kB   00:00     
(21/44): python-retrying-1.2.3-4.el7.noarch.rpm            |  16 kB   00:00     
(22/44): python2-automaton-1.15.0-1.el7.noarch.rpm         |  37 kB   00:00     
(23/44): python2-castellan-0.19.0-1.el7.noarch.rpm         | 108 kB   00:00     
(24/44): python2-cursive-0.2.2-1.el7.noarch.rpm            |  53 kB   00:00     
(25/44): python-simplegeneric-0.8-7.el7.noarch.rpm         |  12 kB   00:00     
(26/44): python2-glance-store-0.26.1-1.el7.noarch.rpm      | 266 kB   00:00     
(27/44): python2-os-brick-2.5.4-1.el7.noarch.rpm           | 1.1 MB   00:01     
(28/44): python-lxml-3.2.1-4.el7.x86_64.rpm                | 758 kB   00:06     
(29/44): python2-os-win-4.0.1-1.el7.noarch.rpm             | 417 kB   00:04     
(30/44): python2-oslo-privsep-1.29.2-1.el7.noarch.rpm      |  30 kB   00:00     
(31/44): python2-oslo-rootwrap-5.14.1-1.el7.noarch.rpm     |  39 kB   00:00     
(32/44): python2-pyasn1-0.1.9-7.el7.noarch.rpm             | 100 kB   00:00     
(33/44): python2-numpy-1.14.5-1.el7.x86_64.rpm             | 3.7 MB   00:08     
(34/44): python2-oslo-vmware-2.31.0-1.el7.noarch.rpm       | 206 kB   00:01     
(35/44): python2-rsa-3.3-2.el7.noarch.rpm                  |  63 kB   00:00     
(36/44): python2-suds-0.7-0.4.94664ddd46a6.el7.noarch.rpm  | 234 kB   00:00     
(37/44): python2-swiftclient-3.6.0-1.el7.noarch.rpm        | 162 kB   00:00     
(38/44): python2-taskflow-3.2.0-1.el7.noarch.rpm           | 679 kB   00:01     
(39/44): rdma-core-15-7.el7_5.x86_64.rpm                   |  48 kB   00:00     
(40/44): sg3_utils-libs-1.37-12.el7.x86_64.rpm             |  64 kB   00:00     
(41/44): sg3_utils-1.37-12.el7.x86_64.rpm                  | 644 kB   00:00     
(42/44): python2-wsme-0.9.3-1.el7.noarch.rpm               | 193 kB   00:00     
(43/44): userspace-rcu-0.10.0-3.el7.x86_64.rpm             |  93 kB   00:00     
(44/44): python2-scipy-0.18.0-3.el7.x86_64.rpm             |  12 MB   00:46     
--------------------------------------------------------------------------------
合計                                               555 kB/s |  34 MB  01:03     
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage から鍵を取得中です。
Importing GPG key 0xE451E5B5:
 Userid     : "CentOS Storage SIG (http://wiki.centos.org/SpecialInterestGroup/Storage) <security@centos.org>"
 Fingerprint: 7412 9c0b 173b 071a 3775 951a d4a2 e50b e451 e5b5
 Package    : centos-release-storage-common-2-2.el7.centos.noarch (@extras)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : libquadmath-4.8.5-28.el7_5.1.x86_64            1/44 
  インストール中          : libgfortran-4.8.5-28.el7_5.1.x86_64            2/44 
  インストール中          : atlas-3.10.1-12.el7.x86_64                     3/44 
  インストール中          : python-retrying-1.2.3-4.el7.noarch             4/44 
  インストール中          : pciutils-3.5.1-3.el7.x86_64                    5/44 
  インストール中          : rdma-core-15-7.el7_5.x86_64                    6/44 
  インストール中          : libibverbs-15-7.el7_5.x86_64                   7/44 
  インストール中          : python2-pyasn1-0.1.9-7.el7.noarch              8/44 
  インストール中          : python2-rsa-3.3-2.el7.noarch                   9/44 
  インストール中          : python-boto-2.34.0-4.el7.noarch               10/44 
  インストール中          : python-httplib2-0.9.2-1.el7.noarch            11/44 
  インストール中          : python-oslo-vmware-lang-2.31.0-1.el7.noarch   12/44 
  インストール中          : python2-automaton-1.15.0-1.el7.noarch         13/44 
  インストール中          : python2-swiftclient-3.6.0-1.el7.noarch        14/44 
  インストール中          : python2-suds-0.7-0.4.94664ddd46a6.el7.noarc   15/44 
  インストール中          : userspace-rcu-0.10.0-3.el7.x86_64             16/44 
  インストール中          : lttng-ust-2.10.0-1.el7.x86_64                 17/44 
  インストール中          : 2:librados2-12.2.5-0.el7.x86_64               18/44 
  インストール中          : device-mapper-multipath-libs-0.4.9-119.el7_   19/44 
  インストール中          : device-mapper-multipath-0.4.9-119.el7_5.1.x   20/44 
  インストール中          : python2-oslo-rootwrap-5.14.1-1.el7.noarch     21/44 
  インストール中          : libxslt-1.1.28-5.el7.x86_64                   22/44 
  インストール中          : python-lxml-3.2.1-4.el7.x86_64                23/44 
  インストール中          : python2-oslo-vmware-2.31.0-1.el7.noarch       24/44 
  インストール中          : pysendfile-2.0.0-5.el7.x86_64                 25/44 
  インストール中          : sg3_utils-libs-1.37-12.el7.x86_64             26/44 
  インストール中          : sg3_utils-1.37-12.el7.x86_64                  27/44 
  インストール中          : python2-os-win-4.0.1-1.el7.noarch             28/44 
  インストール中          : python2-castellan-0.19.0-1.el7.noarch         29/44 
  インストール中          : python2-cursive-0.2.2-1.el7.noarch            30/44 
  インストール中          : python-oslo-privsep-lang-1.29.2-1.el7.noarc   31/44 
  インストール中          : python2-oslo-privsep-1.29.2-1.el7.noarch      32/44 
  インストール中          : python2-os-brick-2.5.4-1.el7.noarch           33/44 
  インストール中          : python2-glance-store-0.26.1-1.el7.noarch      34/44 
  インストール中          : python-nose-1.3.7-7.el7.noarch                35/44 
  インストール中          : 1:python2-numpy-1.14.5-1.el7.x86_64           36/44 
  インストール中          : python2-scipy-0.18.0-3.el7.x86_64             37/44 
  インストール中          : python-networkx-core-1.10-1.el7.noarch        38/44 
  インストール中          : python-networkx-1.10-1.el7.noarch             39/44 
  インストール中          : python2-taskflow-3.2.0-1.el7.noarch           40/44 
  インストール中          : python-simplegeneric-0.8-7.el7.noarch         41/44 
  インストール中          : python2-wsme-0.9.3-1.el7.noarch               42/44 
  インストール中          : 1:python-glance-17.0.0-2.el7.noarch           43/44 
  インストール中          : 1:openstack-glance-17.0.0-2.el7.noarch        44/44 
  検証中                  : python-simplegeneric-0.8-7.el7.noarch          1/44 
  検証中                  : python-nose-1.3.7-7.el7.noarch                 2/44 
  検証中                  : python-oslo-privsep-lang-1.29.2-1.el7.noarc    3/44 
  検証中                  : python2-castellan-0.19.0-1.el7.noarch          4/44 
  検証中                  : 2:librados2-12.2.5-0.el7.x86_64                5/44 
  検証中                  : python-lxml-3.2.1-4.el7.x86_64                 6/44 
  検証中                  : rdma-core-15-7.el7_5.x86_64                    7/44 
  検証中                  : python2-oslo-vmware-2.31.0-1.el7.noarch        8/44 
  検証中                  : python2-scipy-0.18.0-3.el7.x86_64              9/44 
  検証中                  : atlas-3.10.1-12.el7.x86_64                    10/44 
  検証中                  : lttng-ust-2.10.0-1.el7.x86_64                 11/44 
  検証中                  : python-networkx-core-1.10-1.el7.noarch        12/44 
  検証中                  : python2-rsa-3.3-2.el7.noarch                  13/44 
  検証中                  : 1:openstack-glance-17.0.0-2.el7.noarch        14/44 
  検証中                  : python-retrying-1.2.3-4.el7.noarch            15/44 
  検証中                  : python2-os-win-4.0.1-1.el7.noarch             16/44 
  検証中                  : 1:python2-numpy-1.14.5-1.el7.x86_64           17/44 
  検証中                  : python2-oslo-privsep-1.29.2-1.el7.noarch      18/44 
  検証中                  : device-mapper-multipath-libs-0.4.9-119.el7_   19/44 
  検証中                  : libgfortran-4.8.5-28.el7_5.1.x86_64           20/44 
  検証中                  : sg3_utils-libs-1.37-12.el7.x86_64             21/44 
  検証中                  : python2-taskflow-3.2.0-1.el7.noarch           22/44 
  検証中                  : pysendfile-2.0.0-5.el7.x86_64                 23/44 
  検証中                  : libxslt-1.1.28-5.el7.x86_64                   24/44 
  検証中                  : libibverbs-15-7.el7_5.x86_64                  25/44 
  検証中                  : sg3_utils-1.37-12.el7.x86_64                  26/44 
  検証中                  : python2-oslo-rootwrap-5.14.1-1.el7.noarch     27/44 
  検証中                  : userspace-rcu-0.10.0-3.el7.x86_64             28/44 
  検証中                  : python-networkx-1.10-1.el7.noarch             29/44 
  検証中                  : python2-os-brick-2.5.4-1.el7.noarch           30/44 
  検証中                  : libquadmath-4.8.5-28.el7_5.1.x86_64           31/44 
  検証中                  : 1:python-glance-17.0.0-2.el7.noarch           32/44 
  検証中                  : python2-suds-0.7-0.4.94664ddd46a6.el7.noarc   33/44 
  検証中                  : device-mapper-multipath-0.4.9-119.el7_5.1.x   34/44 
  検証中                  : python2-glance-store-0.26.1-1.el7.noarch      35/44 
  検証中                  : python2-swiftclient-3.6.0-1.el7.noarch        36/44 
  検証中                  : python2-automaton-1.15.0-1.el7.noarch         37/44 
  検証中                  : python-oslo-vmware-lang-2.31.0-1.el7.noarch   38/44 
  検証中                  : python2-cursive-0.2.2-1.el7.noarch            39/44 
  検証中                  : python-httplib2-0.9.2-1.el7.noarch            40/44 
  検証中                  : python2-pyasn1-0.1.9-7.el7.noarch             41/44 
  検証中                  : pciutils-3.5.1-3.el7.x86_64                   42/44 
  検証中                  : python-boto-2.34.0-4.el7.noarch               43/44 
  検証中                  : python2-wsme-0.9.3-1.el7.noarch               44/44 

インストール:
  openstack-glance.noarch 1:17.0.0-2.el7                                        

依存性関連をインストールしました:
  atlas.x86_64 0:3.10.1-12.el7                                                  
  device-mapper-multipath.x86_64 0:0.4.9-119.el7_5.1                            
  device-mapper-multipath-libs.x86_64 0:0.4.9-119.el7_5.1                       
  libgfortran.x86_64 0:4.8.5-28.el7_5.1                                         
  libibverbs.x86_64 0:15-7.el7_5                                                
  libquadmath.x86_64 0:4.8.5-28.el7_5.1                                         
  librados2.x86_64 2:12.2.5-0.el7                                               
  libxslt.x86_64 0:1.1.28-5.el7                                                 
  lttng-ust.x86_64 0:2.10.0-1.el7                                               
  pciutils.x86_64 0:3.5.1-3.el7                                                 
  pysendfile.x86_64 0:2.0.0-5.el7                                               
  python-boto.noarch 0:2.34.0-4.el7                                             
  python-glance.noarch 1:17.0.0-2.el7                                           
  python-httplib2.noarch 0:0.9.2-1.el7                                          
  python-lxml.x86_64 0:3.2.1-4.el7                                              
  python-networkx.noarch 0:1.10-1.el7                                           
  python-networkx-core.noarch 0:1.10-1.el7                                      
  python-nose.noarch 0:1.3.7-7.el7                                              
  python-oslo-privsep-lang.noarch 0:1.29.2-1.el7                                
  python-oslo-vmware-lang.noarch 0:2.31.0-1.el7                                 
  python-retrying.noarch 0:1.2.3-4.el7                                          
  python-simplegeneric.noarch 0:0.8-7.el7                                       
  python2-automaton.noarch 0:1.15.0-1.el7                                       
  python2-castellan.noarch 0:0.19.0-1.el7                                       
  python2-cursive.noarch 0:0.2.2-1.el7                                          
  python2-glance-store.noarch 0:0.26.1-1.el7                                    
  python2-numpy.x86_64 1:1.14.5-1.el7                                           
  python2-os-brick.noarch 0:2.5.4-1.el7                                         
  python2-os-win.noarch 0:4.0.1-1.el7                                           
  python2-oslo-privsep.noarch 0:1.29.2-1.el7                                    
  python2-oslo-rootwrap.noarch 0:5.14.1-1.el7                                   
  python2-oslo-vmware.noarch 0:2.31.0-1.el7                                     
  python2-pyasn1.noarch 0:0.1.9-7.el7                                           
  python2-rsa.noarch 0:3.3-2.el7                                                
  python2-scipy.x86_64 0:0.18.0-3.el7                                           
  python2-suds.noarch 0:0.7-0.4.94664ddd46a6.el7                                
  python2-swiftclient.noarch 0:3.6.0-1.el7                                      
  python2-taskflow.noarch 0:3.2.0-1.el7                                         
  python2-wsme.noarch 0:0.9.3-1.el7                                             
  rdma-core.x86_64 0:15-7.el7_5                                                 
  sg3_utils.x86_64 0:1.37-12.el7                                                
  sg3_utils-libs.x86_64 0:1.37-12.el7                                           
  userspace-rcu.x86_64 0:0.10.0-3.el7                                           

完了しました!
[root@controller ~]# 

Glance のAPI 設定ファイル( /etc/glance/glance-api.conf )を編集し、以下の設定をします。

[root@controller ~]# vi /etc/glance/glance-api.conf 

[database] セクションで、データベースのアクセス方法を設定します。ここでは、glance データベースに接続するパスワードは GLANCE_DB_PASS としているので、実際の情報に置き換えてください。

[database]
# ...
connection = mysql+pymysql://glance:GLANCE_DB_PASS@controller/glance

[keystone_authtoken] セクションと [paste_deploy] セクションで、認証サービス( Keystone )へのアクセス方法を設定します。ここでは、glance ユーザーのパスワードは GLANCE_PASS としているので、実際の情報に置き換えてください。

[keystone_authtoken]
# ...
www_authenticate_uri  = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = GLANCE_PASS

[paste_deploy]
# ...
flavor = keystone

[glance_store] セクションにおいて、ローカルファイルシステムストアおよびイメージファイルの場所を設定します。

[glance_store]
# ...
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/

Glance の registry 設定ファイル( /etc/glance/glance-registry.conf  )を編集し、以下の設定をします。

[root@controller ~]# vi /etc/glance/glance-registry.conf 

[database] セクションで、データベースのアクセス方法を設定します。ここでは、glance データベースに接続するパスワードは GLANCE_DB_PASS としているので、実際の情報に置き換えてください。

[database]
# ...
connection = mysql+pymysql://glance:GLANCE_DB_PASS@controller/glance

[keystone_authtoken] セクションと [paste_deploy] セクションで、認証サービス( Keystone )へのアクセス方法を設定します。ここでは、glance ユーザーのパスワードは GLANCE_PASS としているので、実際の情報に置き換えてください。

[keystone_authtoken]
# ...
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = GLANCE_PASS

[paste_deploy]
# ...
flavor = keystone

Image サービス( Glance )データベースを展開します。

[root@controller ~]# su -s /bin/sh -c "glance-manage db_sync" glance
/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py:1352: OsloDBDeprecationWarning: EngineFacade is deprecated; please use oslo_db.sqlalchemy.enginefacade
  expire_on_commit=expire_on_commit, _conf=conf)
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade  -> liberty, liberty initial
INFO  [alembic.runtime.migration] Running upgrade liberty -> mitaka01, add index on created_at and updated_at columns of 'images' table
INFO  [alembic.runtime.migration] Running upgrade mitaka01 -> mitaka02, update metadef os_nova_server
INFO  [alembic.runtime.migration] Running upgrade mitaka02 -> ocata_expand01, add visibility to images
INFO  [alembic.runtime.migration] Running upgrade ocata_expand01 -> pike_expand01, empty expand for symmetry with pike_contract01
INFO  [alembic.runtime.migration] Running upgrade pike_expand01 -> queens_expand01
INFO  [alembic.runtime.migration] Running upgrade queens_expand01 -> rocky_expand01, add os_hidden column to images table
INFO  [alembic.runtime.migration] Running upgrade rocky_expand01 -> rocky_expand02, add os_hash_algo and os_hash_value columns to images table
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
データベースが rocky_expand02 にアップグレードされました。現在のリビジョン: rocky_expand02
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
Database migration is up to date. No migration needed.
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade mitaka02 -> ocata_contract01, remove is_public from images
INFO  [alembic.runtime.migration] Running upgrade ocata_contract01 -> pike_contract01, drop glare artifacts tables
INFO  [alembic.runtime.migration] Running upgrade pike_contract01 -> queens_contract01
INFO  [alembic.runtime.migration] Running upgrade queens_contract01 -> rocky_contract01
INFO  [alembic.runtime.migration] Running upgrade rocky_contract01 -> rocky_contract02
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
データベースが rocky_contract02 にアップグレードされました。現在のリビジョン: rocky_contract02
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
データベースの同期に成功しました。
[root@controller ~]# 

ファイアウォールでの通信許可

Image サービス( Glance )で必要となる TCP 9191 と 9292 通信を許可します。

[root@controller ~]# firewall-cmd --add-port=9191/tcp --zone=public --permanent
success
[root@controller ~]# 

[root@controller ~]# firewall-cmd --add-port=9292/tcp --zone=public --permanent
success
[root@controller ~]# 

firewalld をリロードし、設定を反映します。

[root@controller ~]# firewall-cmd --reload
success
[root@controller ~]# 

インストールの最後

Image サービス( Glance )の自動起動を有効化します。

■ 自動起動の有効化
[root@controller ~]# systemctl enable openstack-glance-api.service \
>   openstack-glance-registry.service
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-glance-api.service to /usr/lib/systemd/system/openstack-glance-api.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-glance-registry.service to /usr/lib/systemd/system/openstack-glance-registry.service.
[root@controller ~]# 

■ 自動起動の状態確認
[root@controller ~]# systemctl is-enabled openstack-glance-api.service   openstack-glance-registry.service
enabled
enabled
[root@controller ~]#

Image サービス( Glance )を再起動します。

■ 再起動
[root@controller ~]# systemctl restart openstack-glance-api.service \
>   openstack-glance-registry.service
][root@controller ~]# 

■ 起動状態の確認
[root@controller ~]# systemctl status openstack-glance-api.service   openstack-glance-registry.service
● openstack-glance-api.service - OpenStack Image Service (code-named Glance) API server
   Loaded: loaded (/usr/lib/systemd/system/openstack-glance-api.service; enabled; vendor preset: disabled)
   Active: active (running) since 日 2018-10-21 11:39:06 JST; 8s ago
 Main PID: 4063 (glance-api)
   CGroup: /system.slice/openstack-glance-api.service
           ├─4063 /usr/bin/python2 /usr/bin/glance-api
           ├─4087 /usr/bin/python2 /usr/bin/glance-api
           └─4088 /usr/bin/python2 /usr/bin/glance-api

10月 21 11:39:06 controller glance-api[4063]: /usr/lib/python2.7/site-packa....
10月 21 11:39:06 controller glance-api[4063]: return pkg_resources.EntryPoi...)
10月 21 11:39:06 controller glance-api[4063]: /usr/lib/python2.7/site-packa....
10月 21 11:39:06 controller glance-api[4063]: return pkg_resources.EntryPoi...)
10月 21 11:39:07 controller glance-api[4063]: /usr/lib/python2.7/site-packa....
10月 21 11:39:07 controller glance-api[4063]: return pkg_resources.EntryPoi...)
10月 21 11:39:07 controller glance-api[4063]: /usr/lib/python2.7/site-packa....
10月 21 11:39:07 controller glance-api[4063]: return pkg_resources.EntryPoi...)
10月 21 11:39:07 controller glance-api[4063]: /usr/lib/python2.7/site-packa...r
10月 21 11:39:07 controller glance-api[4063]: val = callable(*args, **kw)

● openstack-glance-registry.service - OpenStack Image Service (code-named Glance) Registry server
   Loaded: loaded (/usr/lib/systemd/system/openstack-glance-registry.service; enabled; vendor preset: disabled)
   Active: active (running) since 日 2018-10-21 11:39:06 JST; 7s ago
 Main PID: 4064 (glance-registry)
   CGroup: /system.slice/openstack-glance-registry.service
           ├─4064 /usr/bin/python2 /usr/bin/glance-registry
           ├─4085 /usr/bin/python2 /usr/bin/glance-registry
           └─4086 /usr/bin/python2 /usr/bin/glance-registry

10月 21 11:39:06 controller glance-registry[4064]: /usr/lib/python2.7/site-p...
10月 21 11:39:06 controller glance-registry[4064]: return pkg_resources.Entr...
10月 21 11:39:06 controller glance-registry[4064]: /usr/lib/python2.7/site-p...
10月 21 11:39:06 controller glance-registry[4064]: return pkg_resources.Entr...
10月 21 11:39:06 controller glance-registry[4064]: /usr/lib/python2.7/site-p...
10月 21 11:39:06 controller glance-registry[4064]: return pkg_resources.Entr...
10月 21 11:39:07 controller glance-registry[4064]: /usr/lib/python2.7/site-p...
10月 21 11:39:07 controller glance-registry[4064]: debtcollector.deprecate("...
10月 21 11:39:07 controller glance-registry[4064]: /usr/lib/python2.7/site-p...
10月 21 11:39:07 controller glance-registry[4064]: val = callable(*args, **kw)
Hint: Some lines were ellipsized, use -l to show in full.
[root@controller ~]#