As I was browsing my Twitter feed last night I can across a tweet that talked about the 1.0 Release of Apache DeltaCloud.
As described on the website:
Deltacloud provides the API server and drivers necessary for connecting to cloud providers.
Deltacloud maintains long-term stability for scripts, tools and applications and backward compatibility across different versions.
Using single API Deltacloud enables management of resources in different clouds.
Start an instance on an internal cloud, then with the same code start another on EC2 or RHEV-M
For something that has come out of the relative blue, it tweaked my interest right off the bat. Where I see value in this, isn’t so much in the fact you can seamlessly control compute/storage instances from the one platform, but in the ability to look at using the API’s/REST mechanisms to control vSphere instances. Now, I’ll be up front and honest that I’ve never had a chance to look at coding/developing at this level…it’s all very much outside of my current ability, but I am seeing the need to be at least familiar with these mechanisms…I see them begin increasingly useful in the (sic) Software Defined Datacentre era. It’s a skill that needs to be learnt on my part.
Anyways, I dove straight into the installation on a spare Ubuntu 12.04 Lab VM I have running her at Anittel. I followed the step by step here: and went about installing the various packages and dependencies. I cam across a few issues where I had to look for slightly different package names then the ones listed (which may be a reason why I have run into some issues: below). But i’ve listed my initial installs below:
apt-get install ruby1.9.1-full apt-get install g++ apt-get install libxml libxml2-dev apt-get install libxml2 apt-get install libxslt libxslt-dev apt-get install libxslt1.1 libxslt1-dev apt-get install make
Once that’s been done you can run DeltaCloud from the cli as per the instructions here: Right off the bat, trying to run against the vSphere driver I got the following error:
root@LAB-UBUNTU-01:~# deltacloudd -i vsphere Starting Deltacloud API :: vsphere :: http://localhost:3001/api
/var/lib/gems/1.9.1/gems/deltacloud-core-1.0.1/lib/deltacloud/helpers/driver_helper.rb:52:in `rescue in driver': [ERROR] The driver 'vsphere' is unknown or not installed (../drivers/vsphere/vsphere_driver.rb) (RuntimeError)
cannot load such file -- rbvmomi from /var/lib/gems/1.9.1/gems/deltacloud-core-1.0.1/lib/deltacloud/helpers/driver_helper.rb:47:in `driver' from /var/lib/gems/1.9.1/gems/deltacloud-core-1.0.1/lib/deltacloud/collections/instances.rb:22:in `block in <class:Instances>' from /var/lib/gems/1.9.1/gems/sinatra-rabbit-1.0.10/lib/sinatra/rabbit/base.rb:334:in `call'
So, something is obviously wrong with the vSphere/Rubi driver. After a little searching, I couldn’t find anything definitive, so I have given up on the vSphere angle for the moment. It might well require a fresh server build as my lab instance is a little dirty.
In any case, the guys at Apache have given you the option to run up a mock instance by running this command. Note that if you want to access the website from the server IP outside of the OS you need to specify the -r command.
root@LAB-UBUNTU-01:~# deltacloudd -i mock -r 10.62.15.91 Starting Deltacloud API :: mock :: http://10.62.15.91:3001/api
>> Thin web server (v1.4.1 codename Chromeo) >> Debugging ON >> Maximum connections set to 1024 >> Listening on 10.62.15.91:3001, CTRL+C to stop
Browsing to that address you are presented with a very clean interface:
Without anything real (in terms of instances behind it) all the options look useful in the cloud compute/storage world, and clicking through a couple of the areas, you start to get a feel of the potential usefulness of the platform.
And a list of the supported cloud/storage provider drivers (once you get them working)
So, without being able to actually do anything useful…as a first look the platform looks very interesting. Hopefully with a fresh build I can get the vSphere driver working and really start to put it to work.
And if anyone has a quick fix for the issue above, feel free to post or email.