2009/12/9 Michael Neale michael.neale@gmail.com:
On Wed, Dec 9, 2009 at 7:12 AM, Adrian Cole adrian@jclouds.org wrote:
Good point, Thorsten. I think the 'bootstrap script' is the highest value add. Not a replacement for puppet/etc, but these services need to be installed before they can be used. Having an injection/exec feature allows you to overlay an embryo image with whatever you want to finish the job, albeit chef, puppet, apt-get whatever.
FWIW, jclouds is exposing this so that we don't depend so heavily on specific cloud support and images. If the vendor doesn't support injection, we simply ssh in, push the file, and exec it. Outside windows, accomplishing this cross-cloud isn't rocket science for most cases.
my 2p. -Adrian
I guess it depends on what people are happy having deltacloud do/be. Is it acceptable to require features that are not (yet) available be "emulated" via other means ?
I think Thorsten's comments make sense: you need some way to give the server enough identity to boot strap from there, that is often what it comes down to, so perhaps it isn't about arbitrary file injection but about identity/security so it can then run bootstrap scripts etc.
Hello,
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/
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.
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). A driver is supposed to pass the value to the instance in provider-dependent manner. E.g. it can inject the configuration information into a file with a well-known name on the instance filesystem. Or, for EC2, it can pass it via user-data so that instance can fetch the data from a fixed URL as described in EC2 developers guide.
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.
The deltacloud API patch can be found here: http://it-result.me/wp-content/uploads/2010/01/client-data.patch.txt
Hope it can be of any use.
Thank you, Roman