libcloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Upayavira ...@odoko.co.uk>
Subject Re: [libcloud] 0.3.x goals
Date Thu, 18 Feb 2010 11:36:16 GMT
This is all the exact use-case I had for libcloud.

Ideally I could use it to fire up a VM, and tell the host how to
configure itself. I have had such code working against ec2, and now
working against Voxel. I've considered Puppet, but one issue is that it
doesn't handle instance creation. Combine Puppet with something like
libcloud and you end up with a powerful combination.

Note, for the Voxel API you can provide a script as a parameter at
creation time. That script will be executed on the VM once it has been
instantiated.

Upayavira

On Thu, 2010-02-11 at 08:51 -0800, Paul Querna wrote: 
> On Thu, Feb 11, 2010 at 2:38 AM, Solomon Hykes <solomon.hykes@gmail.com> wrote:
> > On Thu, Feb 11, 2010 at 3:18 AM, Paul Querna <paul@querna.org> wrote:
> >
> >> I think an interesting API to provide is the minimum needed to
> >> kickstart any of the above deployment systems.
> >
> > I agree entirely. The less abstraction we can get away with, the better.
> >
> >> For example, if we provided a deploy_node() api, which takes a similar
> >> kwargs to create_node [...]
> >
> > Why not simply add kwargs to create_node? See below.
> >
> >> after the node is booted, SSHes in,
> >> installs a few specific things, copies a small number of files into
> >> the machine, and starts a service.  The actual actions could be a
> >> class for each of the above configuration management systems, with the
> >> ability to add your own.
> >
> > I like the process. It seems to me the only abstraction we need here
> > is the ability to run commands on the node, with a "runurl" ability to
> > pull commands from a remote url.
> >
> > The result would look like this:
> > create_node(runurl="http://somewhere.tld/webserver-bootstrap.sh")
> 
> Well, not quite, there are a few barriers:
>  - You need to authenticate into the host.  Depending on the provider,
> this is either done by providing a password, an ssh key, or receiving
> a password after booting, or as Ian mentioned, via an existing ssh
> key.
>  - You would need to install runurl, this most likely means either
> just SCPing it up, but you'll still want to use apt or yum or X to
> install curl or wget etc.



Mime
View raw message