このエントリーをはてなブックマークに追加

8.2.1. glanceコマンド

 Openstackのコマンドは数多く有ります。このページは glance のコマンドについて記述します。
glancenova と違いそんなにコマンドは無いので困ることは無いでしょう。

8.2.1.1. 環境変数について

  glance コマンドを利用するためには環境変数のファイルを作成して読み込ませるなどしたほうがコマンド実行時にいちいち指定する必要がなくなり便利になります。
 読み込ませるのは nova と同じ環境変数です。
変数名 設定例 備考
OS_USERNAME admin
プロジェクトのユーザを設定します。
Keystone に設定したものになります。
OS_PASSWORD password
ユーザのパスワードを設定します。
Keystone に設定したものになります。
OS_TENANT_NAME admin
nova コマンドを実行するテナント名を設定します。
プロジェクト名のことになります。
こちらも Keystone に設定したものになります。
OS_AUTH_URL http://stack01:5000/v2.0/
/etc/glance/glance-api-paste.ini
及び
/etc/glance/glance-registry-paste.ini
に設定したものを設定します。

例えば以下のようなファイルを作成して glance コマンド実行前に実行しておきます。

$ cat << 'NOVARC' | sudo tee -a /home/stack/novarc > /dev/null
export OS_USERNAME=admin
export OS_PASSWORD=password
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://stack01:5000/v2.0/
NOVARC
$ chmod 600 /home/stack/novarc
$ . /home/stack/novarc
$ glance index

8.2.1.2. 環境変数について

nova コマンドを利用するためには環境変数のファイルを作成して読み込ませるなどしたほうがコマンド実行時にいちいち指定する必要がなくなり便利になります。

変数名 設定例 備考
ADDRESS 0.0.0.0 Glance API が起動しているホストを設定します。
URL   URLを設定します。 OS_AUTH_URL があるので無くなる?
OS_AUTH_TOKEN 999888777666 TOKENを設定します。Essexでは設定しなくても利用出来てるんですがKeystoneと関係している?
OS_USERNAME admin ユーザを設定します。 Keystone で設定されているものです。
OS_PASSWORD password パスワードを設定します。 Keystone で設定されているものです。
USERNAME   非推奨の設定項目のため削除されるはずです。
OS_REGION_NAME RegionOne リージョン名を設定します。
OS_TENANT_NAME admin テナント名を設定します。
AUTH_URL http://stack01:5000/v2.0/ 認証するURLを設定します。 Keystone のURLです。
STRATEGY keystone 設定値は keystonenoauth です。

8.2.1.3. コマンド

  glance コマンドはイメージの管理を行うだけのコマンドのため novanova-manage と違いシンプルなコマンドです。
  member に関するコマンドもありますが keystone と連携することが主なのであまり使用しないでしょう。
コマンド 概要 備考
glance help <command> コマンドの利用方法が出力する  
glance add [options] <field1=value1 field2=value2 ...> [ < /path/to/image ]

オプションは以下
id #(省略可能)IDを指定
name #登録するイメージ名を指定
size #(省略可能)登録するイメージのサイズを指定
is_public #登録するイメージの公開範囲をパブリック(true)かプライベート(false)か指定
指定しない場合はプライベート(false)が設定される
protected #(省略可能)イメージを保護するかしないか指定
指定しない場合は保護しない(false)が設定される
disk_format #登録するイメージのディスクフォーマットを指定
指定可能なタイプは ami , ari , aki , vhd , vmk , raw , qcow2 , vdi
container_format #登録するイメージのコンテナフォーマットを指定
指定可能なタイプは ami , ari , aki , bare ovf
location #登録するイメージの場所を指定、ファイルパスもしくはURLでしていする
location=file:///usr/share/images/some.image.tar.gz
location=http://images.ubuntu.org/images/lucid-10.04-i686.iso
copy_from #(省略可能) 登録するイメージのコピー元を指定
HTTP , ``S3 , Swfit URL が指定可能
copy_from=s3://akey:skey@s3.amazonaws.com/images/fedora16
イメージの登録を行う
オプションの設定項目は色々ありますが全部設定する必要はありません。
id などはハッシュ化されたものなので自動的に設定してもらうほうがいいでしょう。
実行例は後述します。
glance update [options] <ID> <field1=value1 field2=value2 ...>

オプションは以下
name #イメージ名を指定
location #登録イメージのロケーションを指定
copy_from #(省略可能) 登録するイメージのコピー元を指定
HTTP , S3 , Swfit URL が指定可能
is_public #登録するイメージの公開範囲をパブリック(true)かプライベート(false)か指定
指定しない場合はプライベート(false)が設定される
protected #(省略可能)イメージを保護するかしないかを指定
指定しない場合は保護しない(false)が設定される
disk_format #登録するイメージのディスクフォーマットを指定
指定可能なタイプは ami , ari , aki , vhd , vmk , raw , qcow2 , vdi
container_format #登録するイメージのコンテナフォーマットを指定
指定可能なタイプは ami , ari , aki , bare ovf
イメージの登録情報を更新する
更新する場合は元の情報も記述する必要があります。
そうしないと設定情報がクリアされます。
glance delete [options] <ID> イメージの削除を行う  
glance index [options] <field1=value1 field2=value2 ...>
登録したイメージのリストを表示する
クエリとして name , disk_format , container_format , status , size_min , size_max , ``changes-since が指定可能です
|クエリに色々設定できますがそのまま glance index で特に問題ないでしょう。 | disk_format=ami などは便利かもしれません。
glance details [options] <ID> イメージの詳細を表示する クエリは index と同じです。
glance clear [options] <ID> イメージを全て削除する  

8.2.1.4. コマンドオプション

コマンドオプション 概要 備考
–version Glanceのバージョンを表示する  
–silent-upload アップロード時に情報を表示しない  
-h Glanceコマンドのヘルプを表示する  
-v コマンド実行時に詳細情報を表示する  
-d コマンド実行時に詳細情報を表示する  
-limit アップロードするイメージサイズの限界値を指定する  
-marker アップロードするイメージにマーキングする  
–sort_key イメージのリスト表示のソートキーを指定する  
–sort_dir=[desc|asc] イメージのリスト表示の降順、昇順を指定する  
-f イメージのアップロードを強制的に行う  
–dry-run イメージのアップロードの検証を行う 実際にはアップロードされないので合っているのか確認を行うのに便利です。
–can-share イメージの共有メンバーを追加する  

8.2.1.5. コマンド実行例

コマンド実行例を記述します。

8.2.1.5.1. イメージのアップロード1

 ttylinuxのイメージをアップロードします。
よく Openstack のインストール後の確認に使われる ttylinux です。
実験以外に常用する人がいるのかは謎です。
$ sudo wget http://smoser.brickies.net/ubuntu/ttylinux-uec/ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz
$ sudo tar zxvf ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz
$ glance add name="ttylinux-aki" is_public=true container_format=aki disk_format=aki < ttylinux-uec-amd64-12.1_2.6.35-22_1-vmlinuz
$ glance add name="ttylinux-ari" is_public=true container_format=ari disk_format=ari < ttylinux-uec-amd64-12.1_2.6.35-22_1-loader
$ RAMDISK_ID=$(glance index | grep ttylinux-ari | awk '{print $1}')
$ KERNEL_ID=$(glance index | grep ttylinux-aki | awk '{print $1}')
$ glance add name="ttylinux-ami" is_public=true container_format=ami disk_format=ami kernel_id=$KERNEL_ID ramdisk_id=$RAMDISK_ID < ttylinux-uec-amd64-12.1_2.6.35-22_1.img

8.2.1.5.2. イメージのアップロード2

Ubuntu11.10のイメージをアップロードします。Ubuntu公式のものです。

$ sudo wget http://cloud-images.ubuntu.com/server/oneiric/current/oneiric-server-cloudimg-amd64.tar.gz
$ sudo tar -xzvf oneiric-server-cloudimg-amd64.tar.gz
$ glance add name="oneiric-kernel" is_public=true container_format=aki disk_format=aki < oneiric-server-cloudimg-amd64-vmlinuz-virtual
$ glance add name="oneiric-ram" is_public=true container_format=ari disk_format=ari < oneiric-server-cloudimg-amd64-loader
$ RAMDISK_ID=$(glance index | grep oneiric-ram | awk '{print $1}')
$ KERNEL_ID=$(glance index | grep oneiric-kernel | awk '{print $1}')
$ glance add name="oneiric-image" is_public=true container_format=ami disk_format=ami kernel_id=$KERNEL_ID ramdisk_id=$RAMDISK_ID < oneiric-server-cloudimg-amd64.img

8.2.1.6. イメージの確認

登録したイメージを確認します。

$ glance index
ID                                   Name                           Disk Format          Container Format     Size
------------------------------------ ------------------------------ -------------------- -------------------- --------------
f52bad98-d19f-424f-aeba-c88834a5ba96 ttylinux-ami                   ami                  ami                        25165824
4dd5813d-7cec-43bc-964f-26d19e87b0fc ttylinux-ari                   ari                  ari                           96629
f7d2f99b-1a81-44e6-a1b1-cc26047fcb19 ttylinux-aki                   aki                  aki                         4404752
$ glance details
================================================================================
URI: http://localhost:9292/v1/images/f52bad98-d19f-424f-aeba-c88834a5ba96
Id: f52bad98-d19f-424f-aeba-c88834a5ba96
Public: Yes
Protected: No
Name: ttylinux-ami
Status: active
Size: 25165824
Disk format: ami
Container format: ami
Minimum Ram Required (MB): 0
Minimum Disk Required (GB): 0
Owner: a5f6eac6acf64ed09edb061ebd94675d
Property 'kernel_id': f7d2f99b-1a81-44e6-a1b1-cc26047fcb19
Property 'ramdisk_id': 4dd5813d-7cec-43bc-964f-26d19e87b0fc
================================================================================
URI: http://localhost:9292/v1/images/4dd5813d-7cec-43bc-964f-26d19e87b0fc
Id: 4dd5813d-7cec-43bc-964f-26d19e87b0fc
Public: Yes
Protected: No
Name: ttylinux-ari
Status: active
Size: 96629
Disk format: ari
Container format: ari
Minimum Ram Required (MB): 0
Minimum Disk Required (GB): 0
Owner: a5f6eac6acf64ed09edb061ebd94675d
================================================================================
URI: http://localhost:9292/v1/images/f7d2f99b-1a81-44e6-a1b1-cc26047fcb19
Id: f7d2f99b-1a81-44e6-a1b1-cc26047fcb19
Public: Yes
Protected: No
Name: ttylinux-aki
Status: active
Size: 4404752
Disk format: aki
Container format: aki
Minimum Ram Required (MB): 0
Minimum Disk Required (GB): 0
Owner: a5f6eac6acf64ed09edb061ebd94675d
================================================================================

8.2.1.7. イメージの更新

登録したイメージを更新します。ここでは名前を変更します。

$ KERNEL_ID=$(glance index | grep ttylinux-aki | awk '{print $1}')
$ glance update $KERNEL_ID name="ttylinux-aki2" is_public=true container_format=aki disk_format=aki

Updated image f7d2f99b-1a81-44e6-a1b1-cc26047fcb19
$ glance index
ID                                   Name                           Disk Format          Container Format     Size
------------------------------------ ------------------------------ -------------------- -------------------- --------------
f52bad98-d19f-424f-aeba-c88834a5ba96 ttylinux-ami                   ami                  ami                        25165824
4dd5813d-7cec-43bc-964f-26d19e87b0fc ttylinux-ari                   ari                  ari                           96629
f7d2f99b-1a81-44e6-a1b1-cc26047fcb19 ttylinux-aki2                  aki                  aki                         4404752

8.2.1.8. イメージの削除

登録したイメージを削除します。

$ glance index
ID                                   Name                           Disk Format          Container Format     Size
------------------------------------ ------------------------------ -------------------- -------------------- --------------
f52bad98-d19f-424f-aeba-c88834a5ba96 ttylinux-ami                   ami                  ami                        25165824
4dd5813d-7cec-43bc-964f-26d19e87b0fc ttylinux-ari                   ari                  ari                           96629
f7d2f99b-1a81-44e6-a1b1-cc26047fcb19 ttylinux-aki2                  aki                  aki                         4404752
$ glance delete f52bad98-d19f-424f-aeba-c88834a5ba96
Delete image f52bad98-d19f-424f-aeba-c88834a5ba96? [y/N] y
Deleted image f52bad98-d19f-424f-aeba-c88834a5ba96
root@stack01:/opt/virt/ttylinux# glance index
ID                                   Name                           Disk Format          Container Format     Size
------------------------------------ ------------------------------ -------------------- -------------------- --------------
4dd5813d-7cec-43bc-964f-26d19e87b0fc ttylinux-ari                   ari                  ari                           96629
f7d2f99b-1a81-44e6-a1b1-cc26047fcb19 ttylinux-aki2                  aki                  aki                         4404752

8.2.1.9. イメージの削除

登録したイメージを全て削除します。

$ glance index
ID                                   Name                           Disk Format          Container Format     Size
------------------------------------ ------------------------------ -------------------- -------------------- --------------
4dd5813d-7cec-43bc-964f-26d19e87b0fc ttylinux-ari                   ari                  ari                           96629
f7d2f99b-1a81-44e6-a1b1-cc26047fcb19 ttylinux-aki2                  aki                  aki                         4404752
$ glance clear
Delete all images? [y/N] y
$ glance index