Description
Attached is a patch providing a libcloud driver for the Nimbus EC2-compatible query interface. Nimbus is an open source IaaS implementation: http://www.nimbusproject.org
Since the driver is a thin layer over the EC2 driver, I copied the approach used for Eucalyptus and placed the relevant code directly in drivers/ec2.py. Nimbus has good API compatibility so the only special case I had to cover was a passthrough override of ex_describe_addresses() which is used in list_nodes(). Elastic IP addresses aren't supported so this query was causing an error.
I tested the primary operations (list, reboot, create, destroy, images, sizes) successfully. Some of the ex_* operations may fail but should give appropriate UNSUPPORTED errors from the server.
I also have my changes in a commit on github in case that is preferred: https://github.com/labisso/libcloud/commit/1cd874e44d6ddc64a2862fc3ac7c2d07ab1389f2
Note that this driver is only known to work with the most recent version of Nimbus (2.7).