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

4.3.2. glanceコマンド

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

4.3.2.1. 環境変数について

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

:widths: 30, 30, 100
変数名 設定例 備考
OS_NO_CACHE True パスワードをキャッシュします。デフォルトでキャッシュされるようになりました。
ADMIN_TOKEN ADMIN Keystoneを利用するためのトークンを設定します。 Keystone に設定したものになります。
OS_USERNAME admin プロジェクトを利用するユーザを設定します。
OS_PASSWORD secrete プロジェクトを利用するユーザのパスワードを設定します。
OS_TENANT_NAME admin テナント名を設定します。プロジェクト名のことになります。
OS_AUTH_URL http://stack01:5000/v2.0/ /etc/nova/api-paste.ini に設定したものを設定します。
例えば以下のようなファイルを作成して glance コマンド実行前に実行しておきます。
利用するプロジェクト毎に作成します。
$ cat << 'NOVARC' | sudo tee -a /home/stack/novarc > /dev/null
export ADMIN_TOKEN=ADMIN
export OS_USERNAME=admin
export OS_PASSWORD=secrete
export OS_TENANT_NAME=demo
export OS_AUTH_URL=http://stack01:5000/v2.0/
NOVARC
$ chmod 600 /home/stack/novarc
$ . /home/stack/novarc

4.3.2.2. コマンド

glance コマンドはイメージの管理を行うだけのコマンドのため novanova-manage と違いシンプルなコマンドです。
コマンド 概要 備考
glance help <command> コマンドの利用方法が出力する  
glance add [options] <field1=value1 field2=value2 ...> [ < /path/to/image ]
イメージの登録を行う 非推奨コマンドです。
glance clear [options] <ID> イメージを全て削除する  
glance delete [options] <ID> イメージの削除を行う 非推奨コマンドです。
glance detail イメージの詳細を表示する 非推奨コマンドです。
glance image-create [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 image-delete <IMAGE> [<IMAGE> ...] イメージの削除を行う  
glance image-download [–file <FILE>] <IMAGE> イメージの削除を行う  
glance image-list イメージリストを表示する  
glance image-members イメージのメンバーリストを表示する 非推奨コマンドです。
glance image-show [–human-readable] <IMAGE> イメージの詳細を表示する  
glance image-update [–name <NAME>] [–disk-format <DISK_FORMAT>]
[–container-format <CONTAINER_FORMAT>]
[–owner <TENANT_ID>] [–size <SIZE>]
[–min-disk <DISK_GB>] [–min-ram <DISK_RAM>]
[–location <IMAGE_URL>] [–file <FILE>]
[–checksum <CHECKSUM>] [–copy-from <IMAGE_URL>]
[–is-public [True|False]]
[–is-protected [True|False]]
[–property <key=value>] [–purge-props]
[–human-readable]
<IMAGE>
イメージの情報を更新する  
glance index [options] <field1=value1 field2=value2 ...>
登録したイメージのリストを表示する
非推奨コマンドです。
glance member-add
メンバーを作成する
非推奨コマンドです。
glance member-create [–can-share] <IMAGE_ID> <TENANT_ID>
共有イメージを作成する

glance member-delete <IMAGE> [<IMAGE> ...]
共有メージを削除する

glance member-images
共有イメージを表示する
非推奨コマンドです。
glance member-list
共有イメージを表示する
非推奨コマンドです。
glance member-replace

非推奨コマンドです。
glance show [–human-readable] <IMAGE> イメージの詳細を表示する 非推奨コマンドです。
glance update イメージの詳細を表示する 非推奨コマンドです。
glance help ヘルプを表示する 非推奨コマンドです。

4.3.2.3. コマンドオプション

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

4.3.2.4. コマンド実行例

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

4.3.2.4.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 image-create --name="tty-linux-kernel" --is-public=true --container-format=aki --disk-format=aki < ttylinux-uec-amd64-12.1_2.6.35-22_1-vmlinuz
$ glance image-create --name="tty-linux-ramdisk" --is-public=true --container-format=ari --disk-format=ari < ttylinux-uec-amd64-12.1_2.6.35-22_1-loader
$ RAMDISK_ID=$(glance image-list | grep tty-linux-ramdisk | awk -F"|" '{print $2}' | sed -e 's/^[ ]*//g')
$ KERNEL_ID=$(glance image-list | grep tty-linux-kernel | awk -F"|" '{print $2}' | sed -e 's/^[ ]*//g')
$ glance image-create --name="ttylinux" --is-public=true --container-format=ami --disk-format=ami --property kernel_id=$KERNEL_ID --property ramdisk_id=$RAMDISK_ID < ttylinux-uec-amd64-12.1_2.6.35-22_1.img

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

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

$ sudo wget http://uec-images.ubuntu.com/releases/11.10/release/ubuntu-11.10-server-cloudimg-amd64-disk1.img
$ glance image-create --name="Ubuntu_11.10" --is-public=true --container-format=ovf --disk-format=qcow2 < ubuntu-11.10-server-cloudimg-amd64-disk1.img

4.3.2.5. イメージの確認

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

$ glance image-list
+--------------------------------------+-------------------+-------------+------------------+----------+--------+
| ID                                   | Name              | Disk Format | Container Format | Size     | Status |
+--------------------------------------+-------------------+-------------+------------------+----------+--------+
| 813cd038-b0bd-4e13-8481-ffb5821a03b0 | tty-linux-kernel  | aki         | aki              | 4404752  | active |
| 6c413a77-708a-4558-95d5-65fa3f0e26f4 | tty-linux-ramdisk | ari         | ari              | 96629    | active |
| a409e331-e51a-44de-a5ef-46969348ceb6 | ttylinux          | ami         | ami              | 25165824 | active |
+--------------------------------------+-------------------+-------------+------------------+----------+--------+

名前が重複している場合はIDを指定する必要があります。

$ glance image-show ttylinux
+-----------------------+--------------------------------------+
| Property              | Value                                |
+-----------------------+--------------------------------------+
| Property 'kernel_id'  | 813cd038-b0bd-4e13-8481-ffb5821a03b0 |
| Property 'ramdisk_id' | 6c413a77-708a-4558-95d5-65fa3f0e26f4 |
| checksum              | 10047a119149e08fb206eea89832eee0     |
| container_format      | ami                                  |
| created_at            | 2013-03-17T09:53:36                  |
| deleted               | False                                |
| disk_format           | ami                                  |
| id                    | a409e331-e51a-44de-a5ef-46969348ceb6 |
| is_public             | True                                 |
| min_disk              | 0                                    |
| min_ram               | 0                                    |
| name                  | ttylinux                             |
| owner                 | 51e0036313ee4bd1806ecb0647f8a8d5     |
| protected             | False                                |
| size                  | 25165824                             |
| status                | active                               |
| updated_at            | 2013-03-17T09:53:36                  |
+-----------------------+--------------------------------------+

4.3.2.6. イメージの更新

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

$ 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

4.3.2.7. イメージの削除

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

$ 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

4.3.2.8. イメージの削除

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

$ 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