Deltacloud 0.3.0→0.4.1-rc1にしてみる

DeltaCloud0.4以降でvSphereAPIに対応したDriverが追加されているようなので試してみます。
まずは、0.3から0.4.1にバージョンアップからはじめます。

github上でソースは公開されているので、ここから0.4.1のソースコードを取得してきます。
https://github.com/apache/deltacloud/tags

取得したファイルを展開し、展開したディレクトリに入り、gemspecのファイルからgemを作成します。

$ tar xvzf /home/ike-dai/install/apache-deltacloud-release-0.4.1-rc1-0-g49706d3.tar.gz
$ cd apache-deltacloud-b0dc1e8/server
$ gem build deltacloud-core.gemspec

これでdeltacloud-core-0.4.1.gemが生成されます。

あとは、gem install でインストールすればいいのですが、
以下のようにインストールしようとするとgemがいろいろ不足していてエラーになります。

$ sudo gem install --local deltacloud-core-0.4.1.gem 
ERROR:  While executing gem ... (Gem::DependencyError)
    Unable to resolve dependencies: deltacloud-core requires thin (>= 1.2.5), nokogiri (>= 1.4.3), aws (>= 2.5.4), waz-storage (>= 1.1.0), cloudservers (>= 0), cloudfiles (>= 0), fog (>= 0), excon (>= 0), rest-client (>= 0)

不足しているgemをインストールします。

$ sudo gem install thin --remote
Fetching: eventmachine-0.12.10.gem (100%)
Building native extensions.  This could take a while...
Fetching: daemons-1.1.4.gem (100%)
Fetching: thin-1.2.11.gem (100%)
Building native extensions.  This could take a while...
Successfully installed eventmachine-0.12.10
Successfully installed daemons-1.1.4
Successfully installed thin-1.2.11
3 gems installed

$ sudo  gem install nokogiri --remote
Fetching: nokogiri-1.5.0.gem (100%)
Building native extensions.  This could take a while...
Successfully installed nokogiri-1.5.0
1 gem installed

$ sudo gem install aws --remote
Fetching: aws-2.5.6.gem (100%)
Successfully installed aws-2.5.6
1 gem installed

$ sudo gem install waz-storage --remote
Fetching: rest-client-1.6.7.gem (100%)
Fetching: ruby-hmac-0.4.0.gem (100%)
Fetching: waz-storage-1.1.1.gem (100%)
Successfully installed rest-client-1.6.7
Successfully installed ruby-hmac-0.4.0
Successfully installed waz-storage-1.1.1
3 gems installed

$ sudo gem install cloudservers --remote
Fetching: cloudservers-0.4.1.gem (100%)
Successfully installed cloudservers-0.4.1
1 gem installed

$ sudo gem install cloudfiles --remote
Fetching: cloudfiles-1.4.18.gem (100%)
Successfully installed cloudfiles-1.4.18
1 gem installed

$ sudo gem install fog --remote
Fetching: excon-0.7.6.gem (100%)
Fetching: formatador-0.2.1.gem (100%)
Fetching: multi_json-1.0.3.gem (100%)
Fetching: net-scp-1.0.4.gem (100%)
Fetching: fog-1.0.0.gem (100%)
Successfully installed excon-0.7.6
Successfully installed formatador-0.2.1
Successfully installed multi_json-1.0.3
Successfully installed net-scp-1.0.4
Successfully installed fog-1.0.0
5 gems installed

再度、deltacloudをインストールします。

# gem install --local deltacloud-core-0.4.1.gem 
Successfully installed deltacloud-core-0.4.1
1 gem installed

vsphereのドライバ用のdeltaclouddを起動します。

$ sudo deltacloudd -i vsphere -r xxx.xxx.xxx.xxx -p 3001
Starting Deltacloud API :: vsphere :: http://xxx.xxx.xxx.xxx:3001/api

/usr/local/ruby/1.9.2/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- rbvmomi (LoadError)

rbvmomiパッケージが不足しているためにエラーが発生しました。
rbvmomiをインストールします。

$ sudo gem install rbvmomi
Fetching: trollop-1.16.2.gem (100%)
Fetching: rbvmomi-1.4.0.gem (100%)
Successfully installed trollop-1.16.2
Successfully installed rbvmomi-1.4.0
2 gems installed

再度挑戦

$ sudo deltacloudd -i vsphere -r xxx.xxx.xxx.xxx -p 3001
Starting Deltacloud API :: vsphere :: http://xxx.xxx.xxx.xxx:3001/api

>> Thin web server (v1.2.11 codename Bat-Shit Crazy)
>> Debugging ON
>> Maximum connections set to 1024
>> Listening on xxx.xxx.xxx.xxx:3001, CTRL+C to stop

無事起動しました。
あとは、ブラウザから確認してみます。


0.3の時からすると画面が全然違うことにびっくりしました。
次回はここからESXiの操作ができるのかを確認したいと思います。