Ubuntu 13.10にOpenStackインストール ~Glance編~

だいぶ停滞していましたが、時間が作れたので今日は
Glanceをインストールしていきます。

Glanceというのは仮想マシンのイメージを管理するサービスらしいです。
実際の動きは今後確認していきたいと思います。

今日の動画は秦基博 鱗。
何度聞いてもいい声してますねー。

まずはDBの作成から

root@openstack:~# mysql -u root -p
mysql> CREATE DATABASE glance;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
    ->   IDENTIFIED BY 'GLANCE_DBPASS';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
    ->   IDENTIFIED BY 'GLANCE_DBPASS';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

設定ファイルにDBの接続設定を追記

root@openstack:/etc/glance# sdiff -s glance-api.conf glance-api.conf_before
#sql_connection = sqlite:////var/lib/glance/glance.sqlite     | sql_connection = sqlite:////var/lib/glance/glance.sqlite
sql_connection = mysql://glance:GLANCE_DBPASS@localhost/glanc |
root@openstack:/etc/glance# sdiff -s glance-registry.conf glance-registry.conf_before
#sql_connection = sqlite:////var/lib/glance/glance.sqlite     | sql_connection = sqlite:////var/lib/glance/glance.sqlite
sql_connection = mysql://glance:GLANCE_DBPASS@localhost/glanc |

設定入れたらテーブルを作成する

root@openstack:/etc/glance# glance-manage db_sync

#商用に入れたらぶっ飛ばされそうなパスワードなのは仕様です(キリッ

ここまで出来たら、次は先日構築したkeystoneにユーザーを作成して、
ロールを割り当てていきます。

root@openstack:/etc/glance# keystone user-create --name=glance --pass=GLANCE_DBPASS --email=glance@utlab.local
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|  email   |        glance@utlab.local        |
| enabled  |               True               |
|    id    | 95346d4ea63c4289ab2e98c8e9337b8e |
|   name   |              glance              |
+----------+----------------------------------+
root@openstack:/etc/glance# keystone user-role-add --user=glance --tenant=service --role=admin

ユーザーが無事作成できたら先ほど触ったglance-api.conf と glance-registry.conf に
認証情報を記載する項目があるので、編集していきます。

root@openstack:/etc/glance# sdiff -s glance-api.conf glance-api.conf_before
#sql_connection = sqlite:////var/lib/glance/glance.sqlite     | sql_connection = sqlite:////var/lib/glance/glance.sqlite
sql_connection = mysql://glance:GLANCE_DBPASS@localhost/glanc |
admin_tenant_name = service                                   | admin_tenant_name = %SERVICE_TENANT_NAME%
admin_user = glance                                           | admin_user = %SERVICE_USER%
admin_password = GLANCE_DBPASS                                | admin_password = %SERVICE_PASSWORD%
root@openstack:/etc/glance# sdiff -s glance-registry.conf glance-registry.conf_before
#sql_connection = sqlite:////var/lib/glance/glance.sqlite     | sql_connection = sqlite:////var/lib/glance/glance.sqlite
sql_connection = mysql://glance:GLANCE_DBPASS@localhost/glanc |
admin_tenant_name = service                                   | admin_tenant_name = %SERVICE_TENANT_NAME%
admin_user = glance                                           | admin_user = %SERVICE_USER%
admin_password = GLANCE_DBPASS                                | admin_password = %SERVICE_PASSWORD%

続いてkeystoneにサービスとして登録します。

root@openstack:/etc/glance# keystone service-create --name=glance --type=image \
>   --description="Glance Image Service"
+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
| description |       Glance Image Service       |
|      id     | c5e52680f2a045e7b49cfdeb59b5f69d |
|     name    |              glance              |
|     type    |              image               |
+-------------+----------------------------------+

先日も作成したエンドポイントの作成(APIのアクセスURL)

keystone endpoint-create \
  --service-id=c5e52680f2a045e7b49cfdeb59b5f69d  \
  --publicurl=http://openstack.local:9292 \
  --internalurl=http://openstack.local:9292 \
  --adminurl=http://openstack.local:9292

最後にサービスの再起動

root@openstack:/etc/glance# service glance-registry restart
glance-registry stop/waiting
glance-registry start/running, process 4710
root@openstack:/etc/glance# service glance-api restart
glance-api stop/waiting
glance-api start/running, process 4726

ここから動作試験です。
cirrosという非常に軽量なLinuxOSで確認していきます。

root@openstack:~# mkdir images
root@openstack:~# cd images/
root@openstack:~/images# wget http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img

#glanceに標準出力を介してアップロードする
root@openstack:~/images# glance image-create \
> –name=”CirrOS 0.3.2″ \
> –disk-format=qcow2 \
> –container-format=bare \
> –is-public=true < cirros-0.3.2-x86_64-disk.img +------------------+--------------------------------------+ | Property | Value | +------------------+--------------------------------------+ | checksum | 64d7c1cd2b6f60c92c14662941cb7913 | | container_format | bare | | created_at | 2014-06-06T15:24:32 | | deleted | False | | deleted_at | None | | disk_format | qcow2 | | id | cbff1ca3-81c2-49a7-90f0-435e3c9b157c | | is_public | True | | min_disk | 0 | | min_ram | 0 | | name | CirrOS 0.3.2 | | owner | None | | protected | False | | size | 13167616 | | status | active | | updated_at | 2014-06-06T15:24:32 | +------------------+--------------------------------------+ #正常に登録されたか確認する root@openstack:~/images# glance index ID Name Disk Format Container Format Size ------------------------------------ ------------------------------ -------------------- -------------------- -------------- cbff1ca3-81c2-49a7-90f0-435e3c9b157c CirrOS 0.3.2 qcow2 bare 13167616 [/shell] ここまでがGlanceの設定です。 単純に設定するだけでしたが、内容的にはDB作って、 設定ファイルに接続定義入れて、keystoneにエンドポイント作りーの、 イメージファイルうpだけでしたね。 早く環境作ってHadoopやら検証したいので明日も早く起きたら・・・やろっかな。