OpenStack Nova Update
John Garbutt, Principal Engineer, Nova PTL
@johnthetubaguy
OpenStack Ops Midcycle, Manchester, Feb
2016
2
Ops Feedback
https://etherpad.openstack.org/p/MAN-ops-Nova
Image FPO
3
Why is johnthetubaguy talking?
3
Image FPO
4
Do you really play the Tuba?
4
5
Nova
6
to provide massively scalable ,
on demand, self ser vice
access to compute resources
OpenStack Nova’s Mission
7
Priorities
• Good API with a Strong Ecosystem
• Robust and Reliable
• Live Upgrades and Scale out
• Maintain Open Culture
• Stop Scope Creep
8
External Server “HA”
Help
External
HA Tool
Disable
Host
Live-
migrate
Mark
host
down
Evacuate
9
Upgrade
10
Upgrade
• Data plane and Control plane independence
• Upgrade from:
– Last stable branch
– Previous commit in same cycle
• Existing Configuration “just work”
• Warning before removing Features
11
Old Process
Turn Off
Old
DB
Upgrade
Turn On
New
Image FPO
12
Fix that vulnerability now!
13
Nova Architecture
API Nodes
Behind LB
Compute Compute Compute Compute Compute
Database
Message
Queue
Conductor(s)
Other Control
Nodes
Isolate from DB using
oslo.versionedobjects Versioned RPC Signature
Schema and Data Migrations
Graceful Shutdown
RPC Signature
14
New Upgrade Process
Expand
DB Schema
Restart API
and
Control Plane
Restart
n-compute
SIGHUP
all services
15
New Upgrade Process
API Nodes
Behind LB
Compute Compute Compute Compute Compute
Database
Message
Queue
Conductor(s)
Other Control
Nodes
1
2a
3
4
2b
16
API
17
API Users
The Absent The Active Multi-Cloud Ops & Dev
• Cloud upgrades
• But old script
works
• Uses newest APIs
• Check availability
• Multiple clouds
• Different versions
• Single script
• Who is using
what?
• How to evolve
API?
18
API Evolution
v2.0 v2.1 Third Party APIs
• First API
• Alias for v1.1
• Base + Extensions
• Deprecated Legacy Code
• No Extensions
• Better Validation
• Backwards compatible
mode
• Evolve using
“Microversions”
• Replaced by External
Project
• Removed in Mitaka
19
Cells v2
20
Cells Evolution
API
Compute
Cell 1
Compute
Cell 2
Compute
Cell 3
21
Scheduler
22
Scheduler
Generic
Resource
Request
Filter Hosts
by Resource
Pools
Pick
Preferred
Host
Acquire
Resource
Claim
23
Live Migration
24
Live Migration
Fixes Features
• Better CI coverage
• Make all disks configurations
moveable
• Status updates
• Force Complete / Cancel
• Split Networks
5 M I L L I N G T O N R O A D | H AY E S , U N I T E D K I N G D O M U B 3 4 A Z
U S S A L E S : + 4 4 ( 0 ) 2 0 8 71 2 6 5 07 | U K S U P P O R T: 0 8 0 0 9 8 8 0 3 0 0 | W W W. R AC K S PAC E . C O M
© RACKSPACE LTD. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED S TATES AND OTHER COUNTRIES. |
WWW.RACKSPACE.COM
Thank you
@johnthetubaguy
26
Ops Feedback
https://etherpad.openstack.org/p/MAN-ops-Nova

Nova Update - OpenStack Ops Midcycle, Manchester, Feb 2016

Editor's Notes

  • #4 Rackspace public cloud powered by OpenStack Nova Started working on OpenStack at Citrix in 2010 Joined nova-core in June 2013, Nova PTL for Liberty and Mitaka Image from unsplash.com https://images.unsplash.com/photo-1418489098061-ce87b5dc3aee?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&s=b928238e71d53b027f5f89cdeb897892
  • #5 Image from http://www.coronabrass.co.uk/
  • #6 Mission hasn’t changed. Lack of alignment is a big cause of friction.
  • #7 What is Nova?
  • #8 https://upload.wikimedia.org/wikipedia/commons/7/76/Blue_Linckia_Starfish.JPG https://images.unsplash.com/photo-1431794062232-2a99a5431c6c?q=80&fm=jpg&s=2a0c6cb067ffaef134e053d94f555d91 To get the strong ecosystem, API needs to be interoperable and useful.
  • #9 Pet VMs want Server “HA” Out of Scope for Nova, but we have work to add supporting APIs.
  • #11 https://upload.wikimedia.org/wikipedia/commons/7/78/Airforce_forklift.jpg https://images.unsplash.com/photo-1429497419816-9ca5cfb4571a?q=80&fm=jpg&s=4bf1164d23eea4f04aeefe1732149cf3 This talk will focus on the control plane
  • #14 Flow: API (-> DB) -> Conductor (-> Scheduler) -> Compute (talks to other services) Why: Scale small and large: API requests vs Compute nodes Note Upgrade features.
  • #15 http://www.danplanet.com/blog/2015/06/26/upgrading-nova-to-kilo-with-minimal-downtime/ Aim: zero downtime. Note: no rollback
  • #16 (1) Expand DB, checks all data migrations are complete, removes any cruft from previous releases (2) Pin RPC, upgrade all the control plane together, but conductor first (3) Talk about graceful compute shutdown, and its limitations (4) Un pin RPC by rechecking
  • #18 Lets take a look at our users, and what they want. Reference: https://dague.net/2015/06/05/the-nova-api-in-kilo-and-beyond-2/
  • #24 http://lists.openstack.org/pipermail/openstack-dev/2016-February/086430.html