©	
  MIRANTIS	
  2013	
   PAGE	
  1	
  ©	
  MIRANTIS	
  2013	
  
Automating OpenStack
deployments with
Fuel
Tomasz Napierala
Sr. OpenStack Engineer
©	
  MIRANTIS	
  2013	
   PAGE	
  2	
  
Tomasz Z.Napierała
Senior OpenStack Engineer @ Mirantis, Inc.
+16 years in IT industry
+8 years with virtualization
©	
  MIRANTIS	
  2013	
   PAGE	
  3	
  
Mirantis,Inc.
Largest independent vendor of OpenStack services and technology.
We operate from Mountain View, California, with remote offices in Russia, Ukraine
and Poland.
40+ successful OpenStack implementations and 300+ infrastructure experts.
©	
  MIRANTIS	
  2013	
   PAGE	
  4	
  
Hungarians and Polish
...are friends
Lengyel, Magyar – két jó barát
együtt harcol, s issza borát
23 march – Day of Hungarian – Polish friendship
©	
  MIRANTIS	
  2013	
   PAGE	
  5	
  
Why Fuel?
•  No (good) orchestration for infrastructure
•  No support for HA out-of-the-box
•  There was demand for this
•  Scattered resources working on the same thing
©	
  MIRANTIS	
  2013	
   PAGE	
  6	
  
Why did we really build Fuel?
Manual installation:
•  Well, manual ;)
•  Tedious
•  Error prone
•  Time consuming
Fuel based installation
•  Fully automated
•  Routine
•  Error proof
•  Fast
©	
  MIRANTIS	
  2013	
   PAGE	
  7	
  
What is Fuel
•  OTS product
•  Automation library
•  Production-grade OpenStack deployments
•  Supports multiple deployment topologies
•  multi-node (HA & non-HA) and single-node
•  End-to-end management of the cloud, including:
•  monitoring
•  operations
•  upgrades between OpenStack releases
©	
  MIRANTIS	
  2013	
   PAGE	
  8	
  
Advantages
•  Based entirely on open source technologies
•  No proprietary, vendor-specific code
•  Using expertise from production OpenStack
deployments
•  Fully tested integration of all components
•  Warranty and 24/7 support
•  Continuous enhancements
©	
  MIRANTIS	
  2013	
   PAGE	
  9	
  
Ingredients
•  Cobbler-based bare metal provisioning
•  Puppet manifests for deploying OpenStack
•  Scripts for config generation
•  Reference OpenStack architecture with robust HA (custom HA
patches)
•  OpenStack packages
•  Support for CentOS, RHEL, Ubuntu
•  Support for Essex, Folsom (soon Grizzly)
•  Configuration guide
©	
  MIRANTIS	
  2013	
   PAGE	
  10	
  
Instant cloud deployment
©	
  MIRANTIS	
  2013	
   PAGE	
  11	
  
Building blocks
MCollec've	
  
Keepalived	
  
+Galera	
  
+corosync	
  
©	
  MIRANTIS	
  2013	
   PAGE	
  12	
  
Supported systems
• x86_64 architectures only
6.3	
   6.3	
   12.04	
  
©	
  MIRANTIS	
  2013	
   PAGE	
  13	
  
Deployment models
The real power
©	
  MIRANTIS	
  2013	
   PAGE	
  14	
  
Single node
•  All components on one
node
•  On physical or virtual
machine
•  Ideal for learning and
development
•  Not suitable for
production
Nodes:	
  1	
  
©	
  MIRANTIS	
  2013	
   PAGE	
  15	
  
Multi-node non-HA
•  Controllers separated
from computes
•  Additional components
like Quantum, Cinder
•  Control over additional
services
Compact Swift
•  Swift on controllers
Standalone Swift
•  Swift on ded. nodes
Nodes:	
  3+	
  
©	
  MIRANTIS	
  2013	
   PAGE	
  16	
  
Multi-node no HA –Compact Swift
©	
  MIRANTIS	
  2013	
   PAGE	
  17	
  
Multi-node no HA –Standalone Swift
©	
  MIRANTIS	
  2013	
   PAGE	
  18	
  
Multi-node HA
•  3 controllers with HA setup
•  Control over additional services
•  Full production grade architecture
Compact Swift
•  Swift on
controllers
Standalone Swift
•  Swift on
dedicated nodes
Nodes:	
  4+	
  
Compact Quantum
•  Quantum on
controller
©	
  MIRANTIS	
  2013	
   PAGE	
  19	
  
Multi-node HA Compact
©	
  MIRANTIS	
  2013	
   PAGE	
  20	
  
Multi-node HA Compact Swift
©	
  MIRANTIS	
  2013	
   PAGE	
  21	
  
Multi-node HA Standalone
©	
  MIRANTIS	
  2013	
   PAGE	
  22	
  
HA (ha,ha ha)
©	
  MIRANTIS	
  2013	
   PAGE	
  23	
  
HA management
• Keepalived for VRRP
• Corosync + Pacemaker for Quantum components
• HAProxy for managing VIPs
©	
  MIRANTIS	
  2013	
   PAGE	
  24	
  
Why Galera?	
  
•  No need to think about failover, no monitor on top
•  All nodes are active, all are masters
•  The application can read/write to/from any server
•  Horizontal scalability for reads and writes
•  Has optimizations for high latency networks*
•  No data loss
©	
  MIRANTIS	
  2013	
   PAGE	
  25	
  
MySQL / Galera
©	
  MIRANTIS	
  2013	
   PAGE	
  26	
  
Galera: failure scenario	
  
•  Need 3+ instances for Galera quorum
•  Fuel contains DB reconnect patch for OpenStack
Client	
  
MySQL/Galera	
  
MySQL/Galera	
  
MySQL/Galera	
  
re-­‐connected	
  
©	
  MIRANTIS	
  2013	
   PAGE	
  27	
  
RabbitMQ HA: failure scenario	
  
•  Mirrored Queues
•  Fuel contains “consumer cancellation notification”
handling patch for OpenStack
Client	
  
Master	
  
Slave	
  
Slave	
  
keeps slaves
in the same state
Clients	
  always	
  consume	
  from	
  the	
  master	
  
RabbitMQ	
  has	
  to	
  re-­‐elect	
  a	
  new	
  master	
  
	
  
Consumers	
  need	
  to	
  handle	
  a	
  noQficaQon	
  &	
  
start	
  consuming	
  from	
  a	
  new	
  master	
  
consume	
  
becomes a new
master
©	
  MIRANTIS	
  2013	
   PAGE	
  28	
  
HA details
©	
  MIRANTIS	
  2013	
   PAGE	
  29	
  
Deployment
©	
  MIRANTIS	
  2013	
   PAGE	
  30	
  
How it works
Fuel master node
Cobbler
Puppet
Master
1. Admin creates master
node and installs Fuel on it
2. Admin enters h/w info
into Cobbler and runs BMP
OpenStack Cluster
OpenStack
Node 1
OpenStack
Node 2
OpenStack
Node N
Installs Cent OS, RHEL, or Ubuntu
Installs Puppet agent
OpenStack is installed
Components are provisioned
according to the chosen topology
3. Admin picks OpenStack deployment topology,
specifies settings, and runs Puppet
©	
  MIRANTIS	
  2013	
   PAGE	
  31	
  
Installation overview
©	
  MIRANTIS	
  2013	
   PAGE	
  32	
  
Fuel Web
Awesome things happen in one month
©	
  MIRANTIS	
  2013	
   PAGE	
  33	
  
What is Fuel Web	
  
•  Web-based OpenStack management tool
•  Built on top of Fuel library
•  Less flexibility than pure Fuel, but very visual and
intuitive
•  Makes it even easier to spin up and manage an
OpenStack-based cloud
©	
  MIRANTIS	
  2013	
   PAGE	
  34	
  
Fuel Web demo time
If time allows
©	
  MIRANTIS	
  2013	
   PAGE	
  35	
  
OpenStack	
  Cluster(s)	
  
How Fuel & Fuel Web fit together	
  
OpenStack	
  Cluster(s)	
  
Puppet	
  manifests	
  
Fuel	
  Web	
  Cobbler	
  automaQon	
  
OpenStack	
  packages	
   Master	
  node	
  (ISO	
  install)	
  
Web	
  UI	
  
Fuel	
  Library	
  
	
  
OpenStack	
  deployment	
  &	
  
management	
  
Hardware	
  discovery	
  
©	
  MIRANTIS	
  2013	
   PAGE	
  36	
  
How Boris taught a goat	
  
This	
  is	
  kool!	
  
©	
  MIRANTIS	
  2013	
   PAGE	
  37	
  
Roadmap
Apr 2013
•  Support for Grizzly
•  Upgrade pilot from Folsom to Grizzly
•  NIC bonding
•  Full-features support for Xen
•  Deploy with specific storage backend for Cinder (Compellent or Ceph)
Jun 2013
•  Improved HA architecture for OpenStack. Self-healing
•  HA for Fuel master node
•  Deploy with specific Keystone backend (LDAP/AD)
•  Ceilometer
•  Certified for 1000+ nodes
Aug 2013
•  Support for multiple data centers
•  Hardware provisioning (RAID, BIOS)
•  Maintenance mode for hardware
©	
  MIRANTIS	
  2013	
   PAGE	
  38	
  
We are hiring!
http://www.mirantis.com/careers/
©	
  MIRANTIS	
  2013	
   PAGE	
  39	
  
Contact sheet	
  
•  http://fuel.mirantis.com/
•  https://github.com/Mirantis/fuel-library
©	
  MIRANTIS	
  2013	
   PAGE	
  40	
  
Q&A

Automating OpenStack Deployment with Fuel

  • 1.
    ©  MIRANTIS  2013   PAGE  1  ©  MIRANTIS  2013   Automating OpenStack deployments with Fuel Tomasz Napierala Sr. OpenStack Engineer
  • 2.
    ©  MIRANTIS  2013   PAGE  2   Tomasz Z.Napierała Senior OpenStack Engineer @ Mirantis, Inc. +16 years in IT industry +8 years with virtualization
  • 3.
    ©  MIRANTIS  2013   PAGE  3   Mirantis,Inc. Largest independent vendor of OpenStack services and technology. We operate from Mountain View, California, with remote offices in Russia, Ukraine and Poland. 40+ successful OpenStack implementations and 300+ infrastructure experts.
  • 4.
    ©  MIRANTIS  2013   PAGE  4   Hungarians and Polish ...are friends Lengyel, Magyar – két jó barát együtt harcol, s issza borát 23 march – Day of Hungarian – Polish friendship
  • 5.
    ©  MIRANTIS  2013   PAGE  5   Why Fuel? •  No (good) orchestration for infrastructure •  No support for HA out-of-the-box •  There was demand for this •  Scattered resources working on the same thing
  • 6.
    ©  MIRANTIS  2013   PAGE  6   Why did we really build Fuel? Manual installation: •  Well, manual ;) •  Tedious •  Error prone •  Time consuming Fuel based installation •  Fully automated •  Routine •  Error proof •  Fast
  • 7.
    ©  MIRANTIS  2013   PAGE  7   What is Fuel •  OTS product •  Automation library •  Production-grade OpenStack deployments •  Supports multiple deployment topologies •  multi-node (HA & non-HA) and single-node •  End-to-end management of the cloud, including: •  monitoring •  operations •  upgrades between OpenStack releases
  • 8.
    ©  MIRANTIS  2013   PAGE  8   Advantages •  Based entirely on open source technologies •  No proprietary, vendor-specific code •  Using expertise from production OpenStack deployments •  Fully tested integration of all components •  Warranty and 24/7 support •  Continuous enhancements
  • 9.
    ©  MIRANTIS  2013   PAGE  9   Ingredients •  Cobbler-based bare metal provisioning •  Puppet manifests for deploying OpenStack •  Scripts for config generation •  Reference OpenStack architecture with robust HA (custom HA patches) •  OpenStack packages •  Support for CentOS, RHEL, Ubuntu •  Support for Essex, Folsom (soon Grizzly) •  Configuration guide
  • 10.
    ©  MIRANTIS  2013   PAGE  10   Instant cloud deployment
  • 11.
    ©  MIRANTIS  2013   PAGE  11   Building blocks MCollec've   Keepalived   +Galera   +corosync  
  • 12.
    ©  MIRANTIS  2013   PAGE  12   Supported systems • x86_64 architectures only 6.3   6.3   12.04  
  • 13.
    ©  MIRANTIS  2013   PAGE  13   Deployment models The real power
  • 14.
    ©  MIRANTIS  2013   PAGE  14   Single node •  All components on one node •  On physical or virtual machine •  Ideal for learning and development •  Not suitable for production Nodes:  1  
  • 15.
    ©  MIRANTIS  2013   PAGE  15   Multi-node non-HA •  Controllers separated from computes •  Additional components like Quantum, Cinder •  Control over additional services Compact Swift •  Swift on controllers Standalone Swift •  Swift on ded. nodes Nodes:  3+  
  • 16.
    ©  MIRANTIS  2013   PAGE  16   Multi-node no HA –Compact Swift
  • 17.
    ©  MIRANTIS  2013   PAGE  17   Multi-node no HA –Standalone Swift
  • 18.
    ©  MIRANTIS  2013   PAGE  18   Multi-node HA •  3 controllers with HA setup •  Control over additional services •  Full production grade architecture Compact Swift •  Swift on controllers Standalone Swift •  Swift on dedicated nodes Nodes:  4+   Compact Quantum •  Quantum on controller
  • 19.
    ©  MIRANTIS  2013   PAGE  19   Multi-node HA Compact
  • 20.
    ©  MIRANTIS  2013   PAGE  20   Multi-node HA Compact Swift
  • 21.
    ©  MIRANTIS  2013   PAGE  21   Multi-node HA Standalone
  • 22.
    ©  MIRANTIS  2013   PAGE  22   HA (ha,ha ha)
  • 23.
    ©  MIRANTIS  2013   PAGE  23   HA management • Keepalived for VRRP • Corosync + Pacemaker for Quantum components • HAProxy for managing VIPs
  • 24.
    ©  MIRANTIS  2013   PAGE  24   Why Galera?   •  No need to think about failover, no monitor on top •  All nodes are active, all are masters •  The application can read/write to/from any server •  Horizontal scalability for reads and writes •  Has optimizations for high latency networks* •  No data loss
  • 25.
    ©  MIRANTIS  2013   PAGE  25   MySQL / Galera
  • 26.
    ©  MIRANTIS  2013   PAGE  26   Galera: failure scenario   •  Need 3+ instances for Galera quorum •  Fuel contains DB reconnect patch for OpenStack Client   MySQL/Galera   MySQL/Galera   MySQL/Galera   re-­‐connected  
  • 27.
    ©  MIRANTIS  2013   PAGE  27   RabbitMQ HA: failure scenario   •  Mirrored Queues •  Fuel contains “consumer cancellation notification” handling patch for OpenStack Client   Master   Slave   Slave   keeps slaves in the same state Clients  always  consume  from  the  master   RabbitMQ  has  to  re-­‐elect  a  new  master     Consumers  need  to  handle  a  noQficaQon  &   start  consuming  from  a  new  master   consume   becomes a new master
  • 28.
    ©  MIRANTIS  2013   PAGE  28   HA details
  • 29.
    ©  MIRANTIS  2013   PAGE  29   Deployment
  • 30.
    ©  MIRANTIS  2013   PAGE  30   How it works Fuel master node Cobbler Puppet Master 1. Admin creates master node and installs Fuel on it 2. Admin enters h/w info into Cobbler and runs BMP OpenStack Cluster OpenStack Node 1 OpenStack Node 2 OpenStack Node N Installs Cent OS, RHEL, or Ubuntu Installs Puppet agent OpenStack is installed Components are provisioned according to the chosen topology 3. Admin picks OpenStack deployment topology, specifies settings, and runs Puppet
  • 31.
    ©  MIRANTIS  2013   PAGE  31   Installation overview
  • 32.
    ©  MIRANTIS  2013   PAGE  32   Fuel Web Awesome things happen in one month
  • 33.
    ©  MIRANTIS  2013   PAGE  33   What is Fuel Web   •  Web-based OpenStack management tool •  Built on top of Fuel library •  Less flexibility than pure Fuel, but very visual and intuitive •  Makes it even easier to spin up and manage an OpenStack-based cloud
  • 34.
    ©  MIRANTIS  2013   PAGE  34   Fuel Web demo time If time allows
  • 35.
    ©  MIRANTIS  2013   PAGE  35   OpenStack  Cluster(s)   How Fuel & Fuel Web fit together   OpenStack  Cluster(s)   Puppet  manifests   Fuel  Web  Cobbler  automaQon   OpenStack  packages   Master  node  (ISO  install)   Web  UI   Fuel  Library     OpenStack  deployment  &   management   Hardware  discovery  
  • 36.
    ©  MIRANTIS  2013   PAGE  36   How Boris taught a goat   This  is  kool!  
  • 37.
    ©  MIRANTIS  2013   PAGE  37   Roadmap Apr 2013 •  Support for Grizzly •  Upgrade pilot from Folsom to Grizzly •  NIC bonding •  Full-features support for Xen •  Deploy with specific storage backend for Cinder (Compellent or Ceph) Jun 2013 •  Improved HA architecture for OpenStack. Self-healing •  HA for Fuel master node •  Deploy with specific Keystone backend (LDAP/AD) •  Ceilometer •  Certified for 1000+ nodes Aug 2013 •  Support for multiple data centers •  Hardware provisioning (RAID, BIOS) •  Maintenance mode for hardware
  • 38.
    ©  MIRANTIS  2013   PAGE  38   We are hiring! http://www.mirantis.com/careers/
  • 39.
    ©  MIRANTIS  2013   PAGE  39   Contact sheet   •  http://fuel.mirantis.com/ •  https://github.com/Mirantis/fuel-library
  • 40.
    ©  MIRANTIS  2013   PAGE  40   Q&A