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. Anthony On Mon, Aug 14, 2017 at 8:39 PM, Yaniv Kaul <[email protected]> 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 >
