Deploying RDO OpenStack with a pair of plugins

2,402 views

Published on

In this talk, the foreman_setup and foreman_openstack_cluster plugins will be introduced for deploying RDO OpenStack in various configurations. With these, we can use Foreman for the entire installation - from provisioning the host OS, to OpenStack itself and then VMs on top.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,402
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
35
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Deploying RDO OpenStack with a pair of plugins

  1. 1. Deploying RDO OpenStack with a pair of plugins Dominic Cleal dcleal@redhat.com 4th February 2014 Greg Sutcliffe gsutclif@redhat.com
  2. 2. Agenda ● Introduction to RDO ● How Foreman helps in RDO ● Current state of astapor ● Splitting up the problem domain ● Introducing foreman_setup ● Introducing foreman_openstack_cluster ● How to proceed OpenStack deployment | 2 | Dominic Cleal & Greg Sutcliffe
  3. 3. RDO: OpenStack's Fedora ● ● ● ● RDO is a Red Hat sponsored project to help users deploy an OpenStack distribution on EL and Fedora derivatives It serves as the base for RHEL OpenStack Platform Releases are timed after major upstream OpenStack releases PackStack or Foreman are deployment options OpenStack deployment | 3 | Dominic Cleal & Greg Sutcliffe
  4. 4. How Foreman helps in RDO ● Three host setup: – – ● OpenStack controller host – ● Foreman and Puppet master host OpenStack compute host(s) One internal/provisioning network, two OpenStack networks (public/private) Foreman provisions controller and compute hosts over the provisioning network OpenStack deployment | 4 | Dominic Cleal & Greg Sutcliffe
  5. 5. Current state of astapor ● astapor is the upstream name of openstackforeman-installer – ● https://github.com/redhat-openstack/astapor/ Comprises mostly of: – foreman_server.sh – seeds.rb – foreman_client.sh – quickstack OpenStack deployment | 5 | Dominic Cleal & Greg Sutcliffe
  6. 6. astapor: foreman_server, seeds ● ● ● foreman_server.sh is a thin wrapper around foreman-installer (it runs Puppet directly) Provisioning and non-provisioning modes with env vars to configure subnet data Seeds sets up an OS, kickstart templates, subnet, domain, associations OpenStack deployment | 6 | Dominic Cleal & Greg Sutcliffe
  7. 7. astapor: quickstack, seeds ● ● ● ● ● quickstack is a Puppet module with roles built on top of the stackforge modules It defines controllers, in various types – different networking, storage and HA combinations seeds.rb populates host groups in Foreman corresponding to these roles e.g. “Controller Neutron” host group includes the quickstack::neutron::controller Puppet class seeds.rb populates default values on Puppet class parameters using sensible values and values derived from user settings OpenStack deployment | 7 | Dominic Cleal & Greg Sutcliffe
  8. 8. Splitting up the problem domain ● Problem A: foreman-installer clearly doesn't adequately solve complete, all-in-one provisioning setups in an easy manner – ● Not specific to OpenStack Problem B: data input for class parameters is repetitive and varies depending on user settings – Modules and parameters are specific to OpenStack, but this is a general problem OpenStack deployment | 8 | Dominic Cleal & Greg Sutcliffe
  9. 9. Introducing foreman_setup ● foreman_setup is a plugin that adds a wizard for configuration of provisioning prerequisites ● Prompts for subnet and domain data ● Shows appropriate foreman-installer command ● ● Sets up the OS, provisioning templates, installation media, Spacewalk parameters Creates a host group with configured OS, subnet, domain all associated OpenStack deployment | 9 | Dominic Cleal & Greg Sutcliffe
  10. 10. DEMO OpenStack deployment | 10 | Dominic Cleal & Greg Sutcliffe
  11. 11. Introducing foreman_openstack_cluster ● ● ● ● The plugin adds a new UI around host group creation, specifically based on quickstack Puppet classes Prompts for OpenStack-specific parameters, e.g. internal and external network data Hides advanced parameters and automatically generates passwords It can build on top of a parent host group, such as the one created by foreman_setup OpenStack deployment | 11 | Dominic Cleal & Greg Sutcliffe
  12. 12. DEMO OpenStack deployment | 12 | Dominic Cleal & Greg Sutcliffe
  13. 13. How to proceed ● ● ● ● foreman_setup to be installed by default with foreman-installer, our recommended route for configuring provisioning foreman_openstack_cluster needs a refresh Should this be a generic mechanism to expand to other projects? Is that technically feasible? How to better handle permutations of plugins, replacing the quickstack layer? OpenStack deployment | 13 | Dominic Cleal & Greg Sutcliffe
  14. 14. Questions? ● ● ● https://github.com/theforeman/foreman_setup https://github.com/GregSutcliffe/foreman_opens tack_cluster/ RPM users: – – ● yum install foreman-plugin-setup yum install foreman-plugin-openstack-cluster Debian users: – Gems available OpenStack deployment | 14 | Dominic Cleal & Greg Sutcliffe

×