DeltaCloudを触ってみる
DeltaCloudとは、各クラウドサービスのAPIの上にAPIをかぶせて、
複数のクラウドサービスを統一のAPIで扱えるようにするものらしいです。
とりあえず公式のページに行くといろいろと情報がありました。
http://incubator.apache.org/deltacloud/index.html
ここのDownloadっていうところを見るとインストール方法等書かれています。
どうやらgemパッケージらしいです。
ということで、とりあえずrubyのインストールとrubygemsのインストールを実施します。
導入
rubyインストール
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p180.tar.gz # tar xvzf ruby-1.9.2-p180.tar.gz # cd ruby-1.9.2-p180 # ./configure --prefix=/usr/local/ruby # make # make install # export PATH=/usr/local/ruby/bin:$PATH
rubygemsインストール
# wget http://rubyforge.org/frs/download.php/74619/rubygems-1.7.2.tgz # tar xvzf rubygems-1.7.2.tgz # cd rubygems-1.7.2 # ruby setup.rb
deltacloudインストール
# gem install deltacloud-core Fetching: haml-3.0.25.gem (100%) Fetching: rack-1.1.0.gem (100%) Fetching: tilt-1.2.2.gem (100%) Fetching: sinatra-1.2.3.gem (100%) Fetching: rack-accept-0.4.3.gem (100%) Fetching: json-1.5.1.gem (100%) Building native extensions. This could take a while... Fetching: deltacloud-core-0.1.2.gem (100%) Successfully installed haml-3.0.25 Successfully installed rack-1.1.0 Successfully installed tilt-1.2.2 Successfully installed sinatra-1.2.3 Successfully installed rack-accept-0.4.3 Successfully installed json-1.5.1 Successfully installed deltacloud-core-0.1.2 7 gems installed Installing ri documentation for haml-3.0.25... Installing ri documentation for rack-1.1.0... Installing ri documentation for tilt-1.2.2... Installing ri documentation for sinatra-1.2.3... Installing ri documentation for rack-accept-0.4.3... Installing ri documentation for json-1.5.1... Installing ri documentation for deltacloud-core-0.1.2... Installing RDoc documentation for haml-3.0.25... Installing RDoc documentation for rack-1.1.0... Installing RDoc documentation for tilt-1.2.2... Installing RDoc documentation for sinatra-1.2.3... Installing RDoc documentation for rack-accept-0.4.3... Installing RDoc documentation for json-1.5.1... Installing RDoc documentation for deltacloud-core-0.1.2...
付随していろいろgemが入ります。
これでとりあえず導入完了。
中身確認
ソースコードの中をちょっとチェックしてみます。
ちょっと階層が深いですが、中に入ってみるとこんな感じでクラウドサービスの名前がついたdriver達があります。
# ls /usr/local/ruby/lib/ruby/gems/1.9.1/gems/deltacloud-core-0.1.2/lib/deltacloud/drivers/ azure ec2 gogrid mock opennebula rackspace rhevm rimuhosting terremark
どうやらこのdriver達が各サービスのAPIを扱えるようにしているようです。
起動
とりあえずdeltaclouddというデーモンが用意されているようなので起動してみます。
# deltacloud -i mock -r xxx.xxx.xxx.xxx -p 3001
これでIPアドレスxxx.xxx.xxx.xxxでdeltaclouddのサービスがポート3001で稼働します。
- rと-pを省略すると、localhost 3001で稼働します。
アクセス
ブラウザからhttp://xxx.xxx.xxx.xxx:3001/apiにアクセスします。
すると、こんな画面が表示されます。
この画面から各サービスに対して操作ができるのかもしれません。
とりあえず各リンクをクリックすると認証がかかっているので、この辺りの設定とかをしないといけないようです。
各操作に関する解説はDocumentationのリンクからたどれます。
基本的な操作はカバーしているようです。