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
