ConoHa ISO
ConoHaにISOイメージのダウンロードリクエストを送ったり、VPSへのISOイメージの挿入、排出などが行える簡易ツールです。ConoHaはAPI経由でしかISOイメージを扱えませんが、このツールを使うとコマンドライン/Webブラウザから簡単に扱うことができます。
インストール
以下の手順で実行ファイルをダウンロードしてください。以下のコマンドはカレントディレクトリにダウンロードしますが、使用頻度が高い場合はパスの通った場所に置いてください。
Mac OSX
curl -sL https://github.com/hironobu-s/conoha-iso/releases/download/current/conoha-iso-osx.amd64.gz | zcat > conoha-iso && chmod +x ./conoha-iso
Linux(amd64)
curl -sL https://github.com/hironobu-s/conoha-iso/releases/download/current/conoha-iso-linux.amd64.gz | zcat > conoha-iso && chmod +x ./conoha-iso
Windows(amd64)
Dockerで使う
Dockerイメージを用意してあります。環境変数などを渡す必要があるので、添付のスクリプトdocker-conoha-iso.shを使うと簡単です。
自分でビルドする
上述したように配布された実行ファイルを使用することもできますが、 以下のように自分でビルドすることもできます。
go get -u github.com/golang/dep/cmd/dep
dep ensure
make
binディレクトリ以下に実行ファイルと配布アーカイブファイルが生成されます。
はじめに(認証情報とリージョンの指定)
conoha-isoを実行するには、APIへの認証情報とリージョンの指定が必須となります。
API認証情報は「APIユーザ名」「APIパスワード」「テナント名 or テナントID」です。これらの情報はConoHaのコントロールパネルにあります。
リージョンはISOイメージを登録するリージョンで、tyo1, tyo2, sin1, sjc1の4つです(順に東京、シンガポール、アメリカ)。
これらはコマンドライン引数で渡す方法と環境変数に登録する方法が選べます。
コマンドライン引数で渡す
-u -p -n -t -rオプションを使います。テナント名とテナントIDは、どちらか一方を指定するだけで良いです。たとえばlistコマンドを実行する場合、以下のようになります。また、リージョンは指定しなかった場合、tyo1が使用されます。
テナント名を指定
./conoha-iso list -u [APIユーザ名] -p [APIパスワード] -n [テナント名] -r [リージョン]
テナントIDを指定
./conoha-iso list -u [APIユーザ名] -p [APIパスワード] -t [テナントID] -r [リージョン]
環境変数で渡す
API認証情報は環境変数経由で渡すこともできます。変数名は OS_USERNAME, OS_PASSWORD, OS_TENANT_NAME, OS_AUTH_URL, OS_TENANT_ID, OS_REGIONです。以下はbashの場合です。1
export OS_USERNAME=[APIユーザ名]
export OS_PASSWORD=[APIパスワード]
export OS_TENANT_NAME=[テナント名]
export OS_AUTH_URL=[Identity Endpoint]
export OS_REGION_NAME=[リージョン]
使い方
機能ごとにサブコマンドになっています。
download
ConoHaにISOイメージをダウンロードするよう要求します。以前のConoHaのISOイメージアップロードに近い機能です。-iオプションでISOイメージのURLを指定してください。
./conoha-iso download -i http://stable.release.core-os.net/amd64-usr/current/coreos_production_iso_image.iso
list
登録されているISOイメージの一覧を取得できます。ダウンロード要求が完了するには少し時間がかかりますので、downloadコマンド実行後にlistコマンドでチェックしてください。
./conoha-iso list
出力例
# ./conoha-iso list
[Image1]
Name: alpine-mini-3.2.0-x86_64.iso
Url: http://wiki.alpinelinux.org/cgi-bin/dl.cgi/v3.2/releases/x86_64/alpine-mini-3.2.0-x86_64.iso
Path: /mnt/isos/repos/tenant_iso_data/6150e7c42bab40c59db53d415629841f/alpine-mini-3.2.0-x86_64.iso
Ctime: Wed May 27 04:30:45 2015
Size: 92329984
[Image2]
Name: coreos_production_iso_image.iso
Url: http://beta.release.core-os.net/amd64-usr/current/coreos_production_iso_image.iso
Path: /mnt/isos/repos/tenant_iso_data/6150e7c42bab40c59db53d415629841f/coreos_production_iso_image.iso
Ctime: Thu May 28 02:03:18 2015
Size: 178257920
insert
VPSにISOイメージを挿入します。実行するとイメージを挿入するVPSを選択するメニューと、挿入するISOイメージを選択するメニューが順に表示されるので、番号で選択してください。
# ./conoha-iso insert
[1] ***-***-***-***
[2] ***-***-***-***
Please select VPS no. [1-2]: 1
[1] alpine-mini-3.2.0-x86_64.iso
[2] coreos_production_iso_image.iso
Please select ISO no. [1-2]: 2
INFO[0039] ISO file was inserted and changed boot device.
eject
VPSからISOイメージを排出します。 VPSを選択するメニューが表示されるので、番号で選択してください。
# ./conoha-iso eject
[1] ***-***-***-***
[2] ***-***-***-***
Please select VPS no. [1-2]: 1
INFO[0001] ISO file was ejected.
server
WebブラウザからISOイメージの操作が行える管理コンソールを起動します。実行するとURLが表示されるので、Webブラウザを開き、アクセスしてください。デフォルトのURLは http://127.0.0.1:6543/ です。
$ ./conoha-iso server
Running on http://127.0.0.1:6543/
-l オプションでWebサーバが利用するアドレスとポート番号を指定することができます。
$ ./conoha-iso server -l 0.0.0.0:10000
Running on http://0.0.0.0:10000/
ヘルプ
各サブコマンドは-hオプションをつけることでヘルプが出ます。
./conoha-iso -h
ライセンス
MIT
Footnotes
-
互換性維持のためCONOHA_で始まる環境変数も使えます。 ↩