ようへいの日々精進XP

よかろうもん

knife-xapi を試した(1)

概要

  • XenServer を操作する knife プラグインとして公開されている knife-xapi を試してみる
  • knife-xenserver との比較もちょっとしてみる

試す

インストールは gem install で...。

インストールしても直ぐに使えない件

sudo gem install knife-xapi --no-ri --no-rdoc -V

gem install でのインストールは問題無かったが knife xapi を叩くと以下のようなエラーが出てしまう。

確認してみたところ...

上記のように一部のファイルのパーミッションがオーナーとグループ以外が読めない状態になっている。別の OS でも類似の現象が発生するかを確認してから開発者に連絡してみたい。

とりあえずは、オーナー以外のユーザーでも確認出来るように権限を追加する。

sudo chmod 644 *

ちなみに knife-xapi-0.5.3/lib/chef/knife/ 以下のファイルや knife-xapi-0.5.3/lib/xenapi/ 以下、knife-xapi-0.5.3/lib/xenapi/xenapi/ 以下も同様の状態になっているので権限を付与する。

.chef/knife.rb

以下のように設定する。knife xenserver と異なるのは Xenserver のホストを設定する際に単純に IP アドレスではなく http:// から設定すること。

knife[:xapi_host] = "http://xxx.xxx.xxx.xxx/"
knife[:xapi_username] = "user"
knife[:xapi_password] = "password"

仮想マシンのリストを取得

knife xapi guest list

以下のように仮想マシンの一覧を取得出来る。

Name Label                 State        IP Address  
redis2                     Halted       xxx.xxx.xxx.xxx

knife-xenserver と比較するとちょいと寂しい出力結果。その他にも下記のようなサブコマンドが利用可能。

** XAPI COMMANDS **
knife xapi vdi create NAME (options)
knife xapi vlan list
knife xapi guest start
knife xapi guest stop
knife xapi guest list
knife xapi vdi attach VM_name VDI_name (options)
knife xapi guest delete NAME_LABEL (options)
knife xapi vdi list
knife xapi net list
knife xapi guest create NAME [NETWORKS] (options)
knife xapi vdi delete NAME_LABEL (options)
knife xapi vdi detach NAME_LABEL (options)

knife xenserver との比較

XenServer への接続

XenServer へのアクセス方法が以下の通り knife-xapiknife-xenserver では異なるようだ。

  • knife-xapixenapi を利用している
  • knife-xenserverfog を利用している

chef との連係

chef に関連すると思われる仮想マシンを作成するサブコマンドのオプションで比較してみる。

knife-xapi の場合

knife-xenserver の場合

knife-xapi-j JSON_ATTRIBS が利用出来る程度の違いなので基本的には同じことはできそうだ...ま、同じ knife プラグインだから当たり前って言ったらそうかなw

その他

  • なぜか knife-xapi ではテンプレートの一覧が取得出来ない...

まとめ

  • knife プラグインの一覧をまとめたここを見てると楽しい
  • さらっと触っただけだがテンプレートの一覧取得が出来ないとか一部、knife-xensever と異なる点が見受けられた

次回

  • インストール直後に利用出来なかった問題について調査
  • chef server を利用して VM を構築してみる