Audience: Intermediate
About: Rackspace has one of, if not the largest, OpenStack Development teams in the A/NZ region – a technical depth that delivers unique capabilities to customers. This session will review a unique Continuous Integration approach for one of our Australian clients that sees fortnightly rolling updates in their production environment with no downtime; work done by the various OpenStack PTL and Core contributors we have within our Australian development organisation leading up to the Mitaka release and conclude with an update on future directions for utilising Containers within OpenStack environments.
Speaker Bio: Tony Breeds – Software Developer / OpenStack Stable PTL,Rackspace
Tony Breeds is the Project Team Lead for OpenStack Stable Branch Maintenance within Rackspace’s Global OpenStack team. Tony’s extensive experience in using OpenSource goes back to 1991, not long after Linus Torvalds released the first Linux Kernel. Since then he has held roles as a Systems Administrator, Network Architect, Kernel Developer and Engineering Manager.
OpenStack Australia Day - Sydney 2016
https://events.aptira.com/openstack-australia-day-sydney-2016/
2. 2
Who am I?
• New to OpenStack
• Not new to Open Source
• Project Team Lead (PTL) for the OpenStack Stable Branch Maintenance
– I make sure that a released version of OpenStack doesn’t regress!
4. 4
Who are we?
• In numbers
– 15 Upstream developers
– 2 Project Team Leads (PTL)
– 10 ‘core’ contributors across 10 projects and many more repositories
– 1 ‘infra-root’ team member
• More than numbers
– Simply put we are 15 developers that are committed Open Source, OpenStack
and our partnerships with our customers and the community
6. 6
The conversation
• Initial interest in our Rackspace
Private Cloud (RPC) product
• Needed to support OnMetal (ironic)
deploys
• Wanted Continuous Deployment (CD)
of the control plane
• Needed a simple and safe rollback
strategy
• Installation of the control plane itself
is out of scope
• Application/workload can sustain a
degraded state temporarily.
7. 7
What we did
• Got very excited 😃
• Partnered with the customer
• Developed a semi-automated
Continuous Deployment tool
• Side-by-Side - Blue/Green
• Rolling Upgrade
• Open test infrastructure (CI) that
doesn’t require ironic
• We’re in the process of modifying
this infrastructure to augment to
OpenStack CI gate
• From scratch under and Open
(Apache) license.
8. 8
The scenario
• A running workload which can’t be interrupted
• A running OpenStack Control Plane (CP1) “in charge” of the nodes
• A deployed the new OpenStack Control Plane (CP2) waiting for nodes
9. 9
What it does – it’s simple said out loud
The ‘fork-lift’
1. Notify workload manager that a
node will vanish
2. Wait for workload on that node to
complete
3. Save the meta-data about node
4. De-enroll node from ironic in CP1
5. Enroll node in CP2 with the meta-
data saved previously
6. This will reboot the node
7. Notify workload manager that a
node is available
8. Monitor application/workload
stability
9. Repeat
10. 10
A few considerations
• Add/Remove Control planes
• Automated ‘one click’ migrate
Control plane now
• Viewing the progress of the whole
process
• We need to be able to ‘lock‘ the
system to prevent any fork-lifts
• We need to be able to pause the
system to address application/
stability
• The level of parallelism is limited by
the application/workload
• The workload is upgraded outside of
the fork-lift
• All using OpenStack APIs not product
APIs
• Which endpoints do the OpenStack
APIs target?
11. 11
Summary
• Introduced our team and culture
• Showed how we translate that culture into value for our customers
• Described the OpenStack new tool we created
– The tool is destined for the OpenStack ‘big tent’
– Built using OpenStack principles and paradigms
– Built for OpenStack by an OpenStack team