incubator-libcloud mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Querna <p...@querna.org>
Subject Re: [libcloud] 0.3.x goals
Date Thu, 11 Feb 2010 16:51:49 GMT
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