On Mon, Aug 14, 2017 at 1:52 PM, anthony shaw <anthony.p.s...@gmail.com>
wrote:

> Hi,
>
> I wouldn't use that one as an example. Vultr is one of the most minimal and
> clean implementations
> https://github.com/apache/libcloud/blob/trunk/libcloud/
> compute/drivers/vultr.py
>
> Start with the basics, raise a PR and I'll walk you through the process and
> steps. Oh and write lots of tests :0) so you need to record fixtures from a
> real API endpoint, I recommend using Charles proxy or Fiddler2.
>

Thanks for the quick response. The vultr driver seems reasonable.
FWIW, I'm looking at feasibility of writing a driver for oVirt[1] using its
Python SDK[2][3].

The tests against mock is a bit discouraging - as I was about to use the
Python SDK, I'm unsure how much effort it'd take. Need to look at it
further. I guess I'll develop something, test it first, then think of how
to implement the tests.

Thanks again,
Y.

[1] http://www.ovirt.org/
[2] https://github.com/oVirt/ovirt-engine-sdk
[3] https://github.com/oVirt/ovirt-engine-sdk/tree/master/sdk/examples


> Anthony
>
> On Mon, Aug 14, 2017 at 8:39 PM, Yaniv Kaul <yk...@redhat.com> wrote:
>
> > Hi,
> >
> > I was wondering (and could not find in the documentation) if there are
> > guidelines on what needs to be implemented for a cloud (and specifically
> > compute) driver. Any 'MUST' functions the driver needs to support? Or
> can I
> > start with something minimalist and gradually add more?
> >
> > I was looking at the libvirt driver[1 and dummy[2] as an example, but
> > wasn't sure about ex_ functions. For example, ex_start_node() , is
> > mandatory or not?
> >
> > I assume those are needed:
> > list_nodes()
> > reboot_node()
> > destroy_node()
> >
> >
> > What about create_node() ?
> >
> > What about:
> > ex_start_node()
> > ex_shutdown_node()
> > ex_suspend_node()
> > ex_resume_node()
> > ex_get_node_by_uuid()
> > ex_get_node_by_name()
> > ex_take_node_screenshot()  (?!)
> > ex_get_hypervisor_hostname()
> > ex_get_hypervisor_sysinfo()  (?! - isn't it very driver specific?)
> >
> > TIA,
> > Y.
> >
> > [1]
> > https://git-wip-us.apache.org/repos/asf?p=libcloud.git;a=
> > blob;f=libcloud/compute/drivers/libvirt_driver.py;h=
> > a914c5e613c53d90fbd5b5de6028bd3ae4e643be;hb=HEAD
> > [2]
> > https://git-wip-us.apache.org/repos/asf?p=libcloud.git;a=
> > blob;f=libcloud/compute/drivers/dummy.py;h=
> 982433525b6ef927115616cf7080c5
> > 6b53a93499;hb=HEAD
> >
>

Reply via email to