cloudstack / saltstack lightning talk at devops amsterdam

14
CloudStack and SaltStack Sebastien Goasguen @sebgoa June 13 th 2013 Amsterdam, Netherlands

Upload: sebastien-goasguen

Post on 04-Dec-2014

1.666 views

Category:

Technology


0 download

DESCRIPTION

This is my lightning talk from DevOps days Amsterdam on June 14th. I present a quick hack I did during LinuxTag berlin. Saltstack is an alternative to Puppet and Chef, written in Python it has an active community and is easy to use. Saltstack has a cloud client called salt-cloud which can use apache libcloud to interact with Cloud providers. I created a coudstack driver in saltstack and patched libcloud to be able to use salt on a CloudStack cloud. This talk lasted 5 minutes as per the rules of DevOps Lightning talk.

TRANSCRIPT

Page 1: CloudStack / Saltstack lightning talk at DevOps Amsterdam

CloudStack and SaltStack

Sebastien Goasguen@sebgoa

June 13th 2013Amsterdam, Netherlands

Page 2: CloudStack / Saltstack lightning talk at DevOps Amsterdam

Apache CloudStack

Page 3: CloudStack / Saltstack lightning talk at DevOps Amsterdam
Page 4: CloudStack / Saltstack lightning talk at DevOps Amsterdam
Page 5: CloudStack / Saltstack lightning talk at DevOps Amsterdam

Talk to the Cloud

Master

Minions

Page 6: CloudStack / Saltstack lightning talk at DevOps Amsterdam

Salt Cloud

Page 7: CloudStack / Saltstack lightning talk at DevOps Amsterdam

libcloud

• Python module that provides a Cloud Provider API abstraction

• Ability to write apps using multiple providers

• Now with an improved CloudStack driver

Page 8: CloudStack / Saltstack lightning talk at DevOps Amsterdam

libcloud

conn=Driver(key=apikey,secret=secretkey,secure=True,host=host,path=path)

conn.list_locations()

conn.list_images()

conn.list_sizes()

conn.create_node(name=’foobar',image=images[0],size=offerings[0])

Page 9: CloudStack / Saltstack lightning talk at DevOps Amsterdam

Patching libcloud

• https://issues.apache.org/jira/browse/LIBCLOUD-332

• https://issues.apache.org/jira/browse/LIBCLOUD-333

• https://issues.apache.org/jira/browse/LIBCLOUD-337

• https://issues.apache.org/jira/browse/LIBCLOUD-338

Page 10: CloudStack / Saltstack lightning talk at DevOps Amsterdam

Git pull in salt-cloud

Page 11: CloudStack / Saltstack lightning talk at DevOps Amsterdam

Defining a Provider

providers:

exoscale:

apikey: <api key>

secretkey: <secret key>

host: api.exoscale.ch

path: /compute

securitygroup: default

user: root

private_key: /path/to/private/key

provider: cloudstack

Page 12: CloudStack / Saltstack lightning talk at DevOps Amsterdam

Node Profilesubuntu-exoscale-master:

provider: exoscale

image: 1d16c78d-268f-47d0-be0c-b80d31e765d2

size: b6cd1ff5-3a2f-4e9d-a4d1-8988c1191fe8

ssh_interface: public

ssh_username: root

keypair: exoscale

make_master: True

master:

user: root

interface: 0.0.0.0

ubuntu-exoscale-minion:

provider: exoscale

image: 1d16c78d-268f-47d0-be0c-b80d31e765d2

Page 13: CloudStack / Saltstack lightning talk at DevOps Amsterdam

Using it$salt-cloud –list-locations exoscale

$salt-cloud –list-images exoscale

$salt-cloud –list-sizes exoscale

$salt-cloud –p ubuntu-exoscale-master mymaster

$salt-cloud –p ubuntu-exoscale-minion myminion

Page 14: CloudStack / Saltstack lightning talk at DevOps Amsterdam

Thank you and Info

• Apache Top Level project• http://www.cloudstack.org• #cloudstack on irc.freenode.net• @cloudstack on Twitter• http://www.slideshare.net/cloudstack• http://www.slideshare.net/sebastiengoasguen• http://www.youtube.com/diycloudcomputing

• http://cloudstack.apache.org/mailing-lists.html

Welcoming contributions and feedback !

Sebastien Goasguen@sebgoa