Hi, This is an initial draft of VMWare vSphere driver for Deltacloud API. I spend a lot of time debugging issues with 'spherical' gem and after some time I gave up (eg. I was not able to call PowerOnVM_Task, etc..). Then I found a gem called 'rbvmomi'[1] developed by regular VMWare employee. This gem was claimed to work 'only' with 1.9 but it works nice on my 1.8.7 installation.
List of supported things: - Hardware profiles (there are 4 predefined: small, medium, large and x-large) Also there is a 'unknown' profile for VM's launched manually using vSphere GUI. - Listing of images (will list VMs marked as 'template') - Get single image (it's fast, since I'm using find_vm instead of filtering whole collection) - Listing of instances - Get single instance (same as above) - Instance operations: start, stop, destroy and reboot are working flawlessly - Create instance is working from predefined template. You can specify a hardware profile and name, which will be used then as an 'id'. Mostly because find_vm() method search for an instance name instead of uuid. List of unsupported/not-working things: - Instance has *no* image information, because it's imposible to get information about whot template was used to 'deploy' virtual machine. If it's a problem, it can be solved by YAML/JSON local mapping, but I would rather avoid this. - Create instance is 'slow' (mean it takes like 50 seconds to launch a new instance. Again this could be solved using some local mapper, but fist I want to know if it's necessary or not. How to use this driver: - You will need vSphere installed and SOAP API enabled on some URL. - Then: API_PROVIDER="vsphere.provider.com" ./bin/deltacloudd -i vsphere NOTE: 'http' and 'sdk' are not needed in PROVIDER All other things should work as ussual. -- Michal [1] https://github.com/rlane/rbvmomi (look to examples directory)
