I'm attaching a diff/patch that contains modifications to several compute drivers; OpenNebula in particular.
With regard to OpenNebula, these changes include the ability to request a list of virtual networks provided by the OpenNebula infrastructure provider. Furthermore, the OpenNebula NodeDriver has been extended to extract the disk and network descriptions from the compute XML description. Disks and networks are instantiated as NodeImage and NodeNetwork objects and then attached to a newly instantiated Node. To support this capability, I added a NodeNetwork class to the base compute class.
Furthermore, I modified the Opsource and OpenStack drivers to match in consistency with the OpenNebula driver. This also included changes to include httplib. I hope to extend that work later to other drivers, if the work is desired.
This patch really requires additional, more in-depth testing, during this following week, but I wanted to present that patch for consideration, and comments.