Hi Paul,

This looks great! One thing I noticed is that paramiko is LGPL'd which
may not be used with Apache products
(http://www.apache.org/legal/resolved.html#category-x), so we'll need
to use something else, unfortunately.

Cheers,
Tom

On Sun, Feb 28, 2010 at 5:15 PM, Paul Querna <[email protected]> wrote:
> Hello Everyone,
>
> I've taken a stab at a basic deployment API, and its in libcloud trunk now.
>
> An example of using it:
>
> from libcloud.providers import get_driver
> from libcloud.deployment import MultiStepDeployment, ScriptDeployment,
> SSHKeyDeployment
>
> driver = get_driver(Provider.RACKSPACE)('libcloud', 'you secret here')
> loc = driver.list_locations()
> sizes = driver.list_sizes()
> images = driver.list_images()
>
> key = open(os.path.expanduser("~/.ssh/my_rsa.pub")).read()
>
> sd = SSHKeyDeployment(key)
> script = ScriptDeployment("apt-get install -y puppet")
> msd = MultiStepDeployment([sd, script])
>
> node = driver.deploy_node(name="lc-test.k1k.me", location=loc[0],
> image=images[0],
>                    size=sizes[0], deploy=msd)
>
> So, basically there is a new deploy_node() method on the base driver
> class.  If a driver supports either giving us the nodes password, or
> setting one, it logs in using Paramiko, and can do basic setup of the
> node.  Supporting SSH Keys for places like amazon shouldn't be too
> hard to extend in here quickly either!
>
> Thoughts on the API?  Any major flaws or suggestions on how to make it
> easier and more robust?
>
> Thanks,
>
> Paul
>

Reply via email to