incubator-deltacloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Lutterkort <lut...@redhat.com>
Subject Re: Need information on process to add new driver
Date Wed, 20 Jul 2011 22:45:34 GMT
On Thu, 2011-07-14 at 14:43 -0700, Jeremy Bar wrote:
> So if I understand correctly, the _client file contains callbacks for the
> target cloud API?  Do you have documentation for this file?

The split between xyz_client.rb and xyz_driver.rb is entirely in the
discretion of the driver author - there's nothing in the framework that
mandates such a split. It simply comes down to taste ;)

> Do you have more detailed documentation than what is present at
> http://incubator.apache.org/deltacloud/framework.html?  That would a great
> help understanding the development workflow of the driver...  I have
> currently set up a server running the mock driver.  Also, how do
> I exercise my driver to test things are working correctly?

To add a driver for a hypothetical foo cloud, just add the driver as
file server/lib/deltacloud/drivers/foo/foo_driver.rb

That file needs to define a class Deltacloud::Drivers::Foo::FooDriver

Also, drop a file config/drivers/foo.yaml withe th following content:

        ---
        :foo:
          :name: Foo
        
You can then start 'deltacloudd -i foo' to use your server FooDriver by
default.

In terms of internal API, it's best to follow the examples of the
MockDriver and other drivers - there's a good amount of introspection
going on. For example, if your driver does not have a 'images' method,
the images collection won't show up in the API.

I would start with implementing the 'instances' method to get a list of
existing instances, and then move on to lifecycle operations
(stop/destroy/reboot etc), then implement 'images', and then
create_instance to be able to launch instances.

David

        


Mime
View raw message