SlideShare a Scribd company logo
OpenStack @ Workday
Introductions
Imtiaz Chowdhury
------
Senior Software Engineer
@imtiazc
Edgar Magana, PhD
------
Cloud Operations Architect
Neutron Core
@emaganap
Outline
 Operations Challenges
 Architecture Overview
 CI – Pipeline
 CI – Environments
– Desktop
– Virtual Machines (OOO)
– Bare-Metal
 Summary
 Q & A
Ops Challenges:
 Automation
 Idempotent
 Scalable
 Secure
– SSL on End Points
– SSL on RabbitMQ
– SSL on MySQL
– IPTables
 Stable
 Production Readiness
– Logging
– Monitoring
 Bonded physical interfaces per server
 Multi-tenant
 One network per tenant with contrail policy groups enforcement
CI - CD
OpenStack @ Workday
CI/CD @ Workday for
OpenStack
How it started: Prototype #1
Controller Compute Tempest
Build once and reuse
SDN
NOTE: https://github.com/openstack/openstack-chef-repo
Rally
Drivers for Containers
 Lightweight – many containers on a single VM
 Re-usable – Build once and deploy
 Shareable –share common components (Chef
server, Tempest etc.)
Chef Development Framework
Host (Fedora 20) Virtual Machine
DNS
LDAP
Controller Compute TempestSDN
Docker Engine
Iteration #1: With Neutron
Development Workflow
Development Workflow
Iteration #2: (OpenContrail)
Development Environment - Network Diagram
Building CI/CD on
OpenStack and OpenContrail
OpenStack @ Workday Environments
CI on Virtual Machines (OoO)
–Reproducible disposable test environment
integrated with Workday’s Jenkins/Gerrit build
pipeline.
–Runs on OpenStack Icehouse
–Ruby Fog Library
CI Environment on Virtual Machines Workflow
1 2
3
4
5
6
OoO - CI Workflow
Jenkins Openstack
Controller
Git repo
Chef
Launch
Chef Server
Fetch Chef artifacts
Create OS controller
SDN, Compute
Tempest
Controller
SDN
Compute
Tempest
Run Chef Clients
Run Tempest
Road to production
Dev
• Build and test
Virtual
• Create Gerrit review
• VM CI passes
Bare Metal
• Promote cookbooks
to production
Key Take Away
 It took a number of iterations
 Docker on Vagrant proved to be a very powerful
Chef development environment
– Rapid development and prototyping
– Containers are very lightweight
– You can share container images across teams
 Increased development agility by building CI on
Openstack
 Predictable deployment outcome
How it all started..
 Build Openstack cloud with community cookbooks and packages
 Started with openstack-chef, a community project
 Realized its limitations
 Consistent and repeatable environment for developers, operations
 Share common components
 Test framework
 Continuous integration framework
NOTE: https://github.com/openstack/openstack-chef-repo

More Related Content

OpenStack @ Workday - CI/CD

  • 2. Introductions Imtiaz Chowdhury ------ Senior Software Engineer @imtiazc Edgar Magana, PhD ------ Cloud Operations Architect Neutron Core @emaganap
  • 3. Outline  Operations Challenges  Architecture Overview  CI – Pipeline  CI – Environments – Desktop – Virtual Machines (OOO) – Bare-Metal  Summary  Q & A
  • 4. Ops Challenges:  Automation  Idempotent  Scalable  Secure – SSL on End Points – SSL on RabbitMQ – SSL on MySQL – IPTables  Stable  Production Readiness – Logging – Monitoring  Bonded physical interfaces per server  Multi-tenant  One network per tenant with contrail policy groups enforcement CI - CD
  • 6. CI/CD @ Workday for OpenStack
  • 7. How it started: Prototype #1 Controller Compute Tempest Build once and reuse SDN NOTE: https://github.com/openstack/openstack-chef-repo Rally
  • 8. Drivers for Containers  Lightweight – many containers on a single VM  Re-usable – Build once and deploy  Shareable –share common components (Chef server, Tempest etc.)
  • 9. Chef Development Framework Host (Fedora 20) Virtual Machine DNS LDAP Controller Compute TempestSDN Docker Engine
  • 10. Iteration #1: With Neutron Development Workflow
  • 12. Development Environment - Network Diagram
  • 13. Building CI/CD on OpenStack and OpenContrail
  • 14. OpenStack @ Workday Environments CI on Virtual Machines (OoO) –Reproducible disposable test environment integrated with Workday’s Jenkins/Gerrit build pipeline. –Runs on OpenStack Icehouse –Ruby Fog Library
  • 15. CI Environment on Virtual Machines Workflow 1 2 3 4 5 6
  • 16. OoO - CI Workflow Jenkins Openstack Controller Git repo Chef Launch Chef Server Fetch Chef artifacts Create OS controller SDN, Compute Tempest Controller SDN Compute Tempest Run Chef Clients Run Tempest
  • 17. Road to production Dev • Build and test Virtual • Create Gerrit review • VM CI passes Bare Metal • Promote cookbooks to production
  • 18. Key Take Away  It took a number of iterations  Docker on Vagrant proved to be a very powerful Chef development environment – Rapid development and prototyping – Containers are very lightweight – You can share container images across teams  Increased development agility by building CI on Openstack  Predictable deployment outcome
  • 19. How it all started..  Build Openstack cloud with community cookbooks and packages  Started with openstack-chef, a community project  Realized its limitations  Consistent and repeatable environment for developers, operations  Share common components  Test framework  Continuous integration framework NOTE: https://github.com/openstack/openstack-chef-repo

Editor's Notes

  1. - Build Openstack cloud with community cookbooks and packages - Started with openstack-chef, a community project - Realized its limitations Without a Chef we could not test some features (Chef search) How do you test that it’s functional (Tempest) Consistent and repeatable environment for developers, operations How can we create a CI? (Jenkins)
  2. How do you share Chef server, Tempest, Jenkins
  3. Terms used in the presentation: CI/CD OOO Have this as a reference slide.
  4. WPC was not ready Development on small servers