ハマった時は # init 0

試したことを書き綴ってます

openstack havana on ubuntu 13.10 (glance)

openstackとりまとめページ http://init0.hatenablog.com/entry/2013/10/05/232939

インストール

# aptitude install glance
# dpkg -l | grep glance
ii  glance                                            1:2013.2~rc1-0ubuntu1                             all          OpenStack Image Registry and Delivery Service - Daemons
ii  glance-api                                        1:2013.2~rc1-0ubuntu1                             all          OpenStack Image Registry and Delivery Service - API
ii  glance-common                                     1:2013.2~rc1-0ubuntu1                             all          OpenStack Image Registry and Delivery Service - Common
ii  glance-registry                                   1:2013.2~rc1-0ubuntu1                             all          OpenStack Image Registry and Delivery Service - Registry
ii  python-glance                                     1:2013.2~rc1-0ubuntu1                             all          OpenStack Image Registry and Delivery Service - Python library
ii  python-glanceclient                               1:0.11.0-0ubuntu1                                 all          Client library for Openstack glance server.

設定のため、glanceは一旦停止する。

# service glance-api stop
# service glance-registry stop

設定

設定のポイントは、

  • glanceのデータを格納するDBはsqliteに(デフォルト)
  • keystoneとの連携設定をする(tenant,userなどはあらかじめkeystoneに作成済み)
    • tenant名は、service
    • user名とpasswordは、glance,glance
    • keystoneとglanceは同一サーバ上に設置するため、auto_hostは、127.0.0.1

/etc/glance/glance-api.conf

### 省略

[keystone_authtoken]
auth_host = 127.0.0.1
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = glance
#admin_tenant_name = %SERVICE_TENANT_NAME%
#admin_user = %SERVICE_USER%
#admin_password = %SERVICE_PASSWORD%

/etc/glance/glance-registry.conf

### 省略

[keystone_authtoken]
auth_host = 127.0.0.1
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = glance
#admin_tenant_name = %SERVICE_TENANT_NAME%
#admin_user = %SERVICE_USER%
#admin_password = %SERVICE_PASSWORD%

DBへスキーマ登録

# glance-manage db_sync

glance起動

# service glance-api start
# service glance-registry start

イメージ登録

credential設定
  • adminユーザのcredentialを環境変数に設定する
    • .bashrcに書いておくと楽…
# export OS_USERNAME=admin
# export OS_PASSWORD=admin
# export OS_TENANT_NAME=admin
# export OS_AUTH_URL=http://192.168.0.110:5000/v2.0
イメージ登録(qcow2形式の場合)

最近のopenstackは、qcow2形式でさくっとイメージ登録できるようになったみたいです。

# wget http://cloud-images.ubuntu.com/releases/13.04/release/ubuntu-13.04-server-cloudimg-amd64-disk1.img
# glance image-create --disk-format=qcow2 --container-format=bare --is-public=True \
    --name=ubuntu13.04-qcow2 \
    --file=./ubuntu-13.04-server-cloudimg-amd64-disk1.img
イメージ登録(ami形式の場合)

昔ながらのami形式の場合

ダウンロードして、kernelイメージとramdiskの登録

# wget https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-uec.tar.gz
# tar xvfz  cirros-0.3.0-x86_64-uec.tar.gz
# glance image-create --disk-format=aki --container-format=aki --is-public=True \
    --name=cirros-aki --file=./cirros-0.3.0-x86_64-vmlinuz

# glance image-create --disk-format=ari --container-format=ari --is-public=True \
    --name=cirros-ari --file=./cirros-0.3.0-x86_64-initrd

先ほど登録した、kernelイメージと、ramdiskのIDを確認して、マシンイメージを登録

# glance image-list | grep cirros
| fa6d0a30-f1ff-42f3-959c-7feefb4fda78 | cirros-aki                  | aki         | aki              | 4731440    | active |
| 34565d35-296c-455e-95df-151ca7e2ceb0 | cirros-ari                  | ari         | ari              | 2254249    | active |
# 
# glance image-create --disk-format=ami --container-format=ami --is-public=True \
    --property kernel_id='fa6d0a30-f1ff-42f3-959c-7feefb4fda78' --property ramdisk_id='34565d35-296c-455e-95df-151ca7e2ceb0' \
    --name=cirros-ami --file=./cirros-0.3.0-x86_64-blank.img