/var/log/messages

debugging with sixth sense

Fog 抽象化に関する冥想

とりあえず command line tools が導入できないのでこちら方面でアレ。

エントリポイントとしては以下なのかどうか。

@compute = Fog::Compute.new(

で、引数として渡してる辞書に provider というソレを持たしておいて if 文orz

とは言え、処理系の特殊形式と同様でこれ以上云々できないアトミックなオブジェクトなのかどうなのか。fog の実装見てみるに lib/fog/compute.rb でこの provider な値を元に分岐な記述が入ってます。

  • gogrid
  • new_servers (?)
  • baremetalcloud
  • rackspace
  • stormondemand
  • vloud
  • その他

で、その他の場合、”fog/#{provider}/compute” を require してるのですがディレクトリを列挙してみるに (一部のみ)

  • aws
  • bluebox
  • cloudstack
  • google
  • joyent
  • openstack
  • openvz
  • xenserver

などなど、大量にありますね。で、それぞれのディレクトリの中にある compute.rb が i/f を規定している、という事になるのかな。

これって wrapper な gem を作ってみるとどうなるのかな。あと Fog::Compute.new でアレなのはここで認証もやってるのかどうか。認証もそれぞれで異なっているはず。

時間切れ

このあたり、時間作って云々したいです。つうか今日は色々残念だったorz

Comments