View
773
Download
3
Category
Tags:
Preview:
DESCRIPTION
This talk will highlight how the OpenStack Infrastructure team uses SaltStack for event-driven orchestration of its various cloud infrastructure components. The speakers will review the flexibility of Salt in a complex automation environment. Salt plays very well with other tools, including Puppet, which is especially critical in the OpenStack Infrastructure environment which requires the event-driven orchestration functions of Salt to synchronize workflow timing of OpenStack Infrastructure components and events. To learn when and where the next SaltConf will be, subscribe to our newsletter here: http://www.saltstack.com/salt-ink-newsletter or follow us on Twitter: http://www.twitter.com/saltstackinc
Citation preview
Using SaltStack for event-driven orchestration of OpenStack infrastructure components
Anita Kuno – hpand
Dave Boucha - SaltStack
Who are we?
Anita Kunoworks on upstream OpenStack
a member of the infra teamreceives paycheques from hp
Dave Bouchadoes all the Salt things
more great stuffeven more great stuff
OpenStack Infrastructure
What is the purpose of the OpenStack Infrastructure team?
Provide automated services for OpenStack development
Creation and hosting of git reposAutomating check and gate
testingCommunication tools
Etherpad, Mailing Lists, Asterisk
Looking at the components
GerritZuul
Jenkins(es)Nodepool
some glue from Gearman
Looks complicated, where's the Salt?
Salt Plays Nicely With Others
Salt-master running on the same server as the Puppet master
Salt-minions running on:Puppet master server
Jenkins slavesSalt trigger server
Jenkins and Salt Event Bus
Jenkins sends test success message
Reactor tells puppetmaster to update git clone
Reactor executes:
salt \* puppet.run
OpenStack Orchestration History
Historically OpenStack has used Puppet for automated
configuration
At the time, the choice was Chef or Puppet and Monty got Puppet
to work
Puppet has been triggering off of cron jobs
Time based orchestration no longer fits our use case in all
situations
Event Based Orchestration
Separation of Concerns
Avoid Programming the Orchestration
Let's take a look at OpenStack's manage-projects script
manage-projects.py
New repos are created by submitting a patch to gerrit
After an infra core ran manage-projects by hand
Right now time based orchestration doesn't get us the results we need for creating new
repos
We need event based orchestration
How does Salt enable this?
Salt Event Bus
Salt Reactor
Salt Event Bus
Communication bus between minions and master
salt-call event.fire_master
Salt Reactor
Salt Master system that “watches” the event bus
Matches event “tags” to sls files
Salt Reactor Config
Reactor Doc
Benefits of Salt in Openstack Infrastructure
Separation of Concerns
Adapt easily to variable infrastructure
Domain Experts can focus on their areas
Each step is isolated from other steps
Process can be restarted at any point
Process can be modified easily
Process is clear
Anita: anteayaanteaya@anteaya.info
Dave: UtahDavedave@saltstack.com
Questions?
Recommended