saltconf14 - anita kuno, hp & openstack - using saltstack for event-driven orchestration of...

53

Upload: saltstack

Post on 11-May-2015

773 views

Category:

Technology


3 download

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

TRANSCRIPT

Page 1: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components
Page 2: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Page 3: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Anita Kuno – hpand

Dave Boucha - SaltStack

Page 4: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Who are we?

Page 5: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Anita Kunoworks on upstream OpenStack

a member of the infra teamreceives paycheques from hp

Page 6: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Dave Bouchadoes all the Salt things

more great stuffeven more great stuff

Page 7: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

OpenStack Infrastructure

Page 8: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

What is the purpose of the OpenStack Infrastructure team?

Page 9: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Provide automated services for OpenStack development

Page 10: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Creation and hosting of git reposAutomating check and gate

testingCommunication tools

Etherpad, Mailing Lists, Asterisk

Page 11: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Looking at the components

Page 12: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

GerritZuul

Jenkins(es)Nodepool

some glue from Gearman

Page 13: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components
Page 14: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Looks complicated, where's the Salt?

Page 15: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Salt Plays Nicely With Others

Page 16: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Salt-master running on the same server as the Puppet master

Page 17: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components
Page 18: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Salt-minions running on:Puppet master server

Jenkins slavesSalt trigger server

Page 19: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Jenkins and Salt Event Bus

Page 20: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Jenkins sends test success message

Page 21: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Reactor tells puppetmaster to update git clone

Page 22: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Reactor executes:

salt \* puppet.run

Page 23: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components
Page 24: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

OpenStack Orchestration History

Page 25: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Historically OpenStack has used Puppet for automated

configuration

Page 26: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

At the time, the choice was Chef or Puppet and Monty got Puppet

to work

Page 27: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Puppet has been triggering off of cron jobs

Page 28: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Time based orchestration no longer fits our use case in all

situations

Page 29: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Event Based Orchestration

Separation of Concerns

Avoid Programming the Orchestration

Page 30: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components
Page 31: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Let's take a look at OpenStack's manage-projects script

Page 33: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

New repos are created by submitting a patch to gerrit

Page 34: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Example:review.openstack.org/#/c/62069

Page 35: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components
Page 36: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

After an infra core ran manage-projects by hand

Page 38: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Right now time based orchestration doesn't get us the results we need for creating new

repos

Page 39: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

We need event based orchestration

Page 40: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

How does Salt enable this?

Salt Event Bus

Salt Reactor

Page 41: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Salt Event Bus

Communication bus between minions and master

salt-call event.fire_master

Page 42: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Salt Reactor

Salt Master system that “watches” the event bus

Matches event “tags” to sls files

Page 44: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components
Page 45: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Benefits of Salt in Openstack Infrastructure

Page 46: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Separation of Concerns

Page 47: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Adapt easily to variable infrastructure

Page 48: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Domain Experts can focus on their areas

Page 49: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Each step is isolated from other steps

Page 50: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Process can be restarted at any point

Page 51: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Process can be modified easily

Page 52: SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven orchestration of OpenStack infrastructure components

Process is clear