1 of 21

Continuously Delivering OpenStack using OpenStack-Salt

@tcpcloud

OpenStack Summit Austin 2016

2 of 21

Presenters

Ales Komarek for

tcp cloud

  • Private Cloud Builders
  • openstack-salt PTL

Lachlan Evenson for

Lithium

  • Public/Private Cloud Users
  • openstack-salt contributor

3 of 21

Presentation Agenda

  • Config. management Saltstack
  • openstack-salt project
  • Operations demonstration
  • New integration samples

4 of 21

The need for configuration management

5 of 21

Complex topology management

6 of 21

Management of multiple processes

7 of 21

Real Infrastructure as a Code

8 of 21

Everything is model-driven ...

  • Service configuration
  • Monitoring and metering
  • System documentation
  • Firewall rules

9 of 21

The OpenStack distribution

  • tcp cloud Mk.20
  • Best practices for deployment
  • Reference architecture
  • Flexible service composition

10 of 21

The openstack-salt project

11 of 21

Project history

  • Project started 11/2015
  • Growing community and contributors
  • Packages on Launchpad PPA
  • Doc: http://openstack-salt.tcpcloud.eu/

12 of 21

Actual service ecosystem

  • Infrastructure services
  • Supplemental services
  • OpenStack services
  • Monitoring services
  • Integration services

http://openstack-salt.tcpcloud.eu/develop/extending-ecosystem.html

13 of 21

Testbed deployments

  • Local Vagrant deployments
  • Openstack Heat deployments
  • Multiple scenarios

14 of 21

New service integration process

  • Gerrit workflow
  • Package management
  • Testing framework

15 of 21

Current status

  • Total of about 100 services
  • Core OpenStack services covered

Juno to Liberty

  • Complex integration testing

16 of 21

Future plans

  • Finish Mitaka services
  • Full system orchestration

17 of 21

Let’s see it in action

18 of 21

Integration of SolidFire storage backend

Model configuration

cinder:

volume:

enabled: true

backend:

solidfire:

type_name: normal-storage

engine: solidfire

san_ip: 10.10.10.10

san_login: user

san_password: password

clustername: cluster1

sf_emulate_512: false

Configuration file example

[{{ backend_name }}]

volume_backend_name={{ backend_name }}

san_ip={{ backend.san_ip }}

san_login={{ backend.san_login }}

san_password={{ backend.san_password }}

sf_emulate_512={{ backend.sf_emulate_512 }}

volume_driver=cinder.volume.drivers.

solidfire.SolidFireDriver

19 of 21

Let’s start contributing

  • Join the Openstack-salt community
    • #openstack-salt @ freenode
  • Contributor documentation
  • I’ll be here till the end of week to help you get started

20 of 21

Conclusion

Ales Komarek

ales.komarek@tcpcloud.eu

@ales_komarek

Lachlan Evenson

lachlan.evenson@lithium.com

@LachlanEvenson

    • Contribute new and fixes to OpenStack formulas
    • Contribute new Cinder/Nova/Neutron backends
    • Test the deployments in our dedicated virtual labs

21 of 21

@tcpcloud

OpenStack Summit Austin 2016