On Thu, 2010-01-14 at 13:15 +0300, Roman wrote:
I'm developing an application which can benefit from using a
deltacloud API. It appeared very difficult to configure instances in
practive. I've blogged on the subject here:
http://it-result.me/configuring-cloud-nodes-with-deltacloud/
Nice, I see you even have a patch for supporting user data on that post.
Before committing that, I'd like to see if we can expand that mechanism
to other clouds than just EC2.
My personal opinion is that full-scale file injection via deltacloud
API is likely not necessary. It is sufficient to be able to pass a
single file to the instance on start. If instance needs to be heavily
customized it is better to customize the image or use some kind of
configuration management system.
I agree with that - I believe people are in general better off if they
use some central cloud-independent service for configuring their
instances. Of course, we still need to provide them with enough of a
hook to bootstrap that process.
A solution which worked fine for me was instance model class
modification to contain additional "client_data" property used to pass
the configuration data to the instance (the patch attached below).
Not attached, but I saw it on your blog ;)
The patch does not attempt to establish any standard location for
the
client_data information on the instance filesystem. It is probably
unnecessary because it is platform-dependent and because not all
providers (e.g. EC2) support file injection anyway.
I think longer term, we'd also want some sort of cloud-compat package
that people can install inside their instances so that you can get user
data through the exact same mechanism, regardless of cloud.
I want to get some clarity on how we can simulate that in other clouds,
but I think your patch will be the way to go as a generic mechanism.
David