SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Moving to structured state
management in OpenStack
     Yahoo! and NTT Data
Deployer use cases
• As a deployer I want to ensure that an instance is
  reserved & provisioned without falling back
  and/or reporting to users internal OpenStack
  errors.
• As a deployer I want to be able to allocate,
  schedule and reserve resources before they are
  consumed so that I can make
  advanced/complex/custom scheduling decisions
  using the combination of those resources as a
  whole.
• I want to convey to my users that OpenStack is a
  reliable and dependable system that is resilient to
  API outages, resource failures…
Developer use cases
• I want to be able to add new (and improved!) states to
  OpenStack and know what the impacts will be on the
  other states in OpenStack in a easy to understand
  manner.
• I want to be able to undo (and redo) resource
  allocation decisions in a transactional and verifiably
  correct manner on errors or on other ‘smart’
  algorithmic placement logic.
• I want to be able to quickly and easily understand an
  API request from start to finish & I want other
  developers to have a single place to understand the
  same.
User use cases
• I want to ensure that my instances are reliably
  brought up without involving myself to resolve
  (or raise to support) errors inside of OpenStack.
• I want to ensure that my instances (and
  associated resources) are optimally scheduled in
  a reliable and correct manner or not have them
  scheduled to begin with.
• I want my resources to be fully utilized, and not
  have zombie resources being ‘locked’ due to the
  lack of transactional semantics (and recovery) in
  the underlying code.
The problem
• Hard to [follow, recover from, debug, ensure
  reliability, correctness, extend, audit…] ad-hoc
  distributed state transitions.
   – Created by continual placement of new features
     without revisiting the underlying state management
     system.
      • The never ending battle between new hotness vs. stability
   – Majority of focus (understandably) on getting
     OpenStack operational.
   – Typical technical debt.
      • Acceptable for a new project like OpenStack to get off the
        ground, but now is the time to focus on features that add
        stability/scalability...
The problem
• Inter-state ‘cutting’ results in instances which
  require manual or periodic tasks to recover.
   – Distributed systems should always be able to
     automatically recover from failures, and not require
     manual/periodic intervention.
• Continually adding local [solutions,fixes,patches]
  • Lack of [focus,time,desire] to fix the system as a whole?
• How many inter-state race conditions are hiding
  underneath the covers??
   – Can verification even be done with the current
     codebase (in a reasonable time period)?
CREATE SERVER API (admin/user)


            1                     4              10,14    nova-
request            nova-api           MySQL      16      compute

           2                               8
                              5                   11         13
                                                         9         15
keystone           3                  RabbitMQ

                                                             Libvirt
                                       6
                          nova-
                        scheduler          7
                                                         Volume
          glance                                         Service
                                                 12

                                       Network
                                       Service
Create Server - Transitions and States
ID         Service               Operation            vm_state       task_state       power_state
1    Nova API             Initial State           -              -                -
2    Keystone             Authenticate user       -              -                -
3    Nova API/Glance      Show image              -              -                -

4    Nova API/MySQL       Create entry            BUILDING       SCHEDULING       -
5    Nova API/RabbitMQ    Cast to Scheduler       BUILDING       SCHEDULING       -
6    Scheduler            Received at Scheduler   BUILDING       SCHEDULING       -

7    Scheduler/RabbitMQ   Cast to Compute         BUILDING       SCHEDULING       -
8    Compute              Received at Compute     BUILDING       SCHEDULING       -
9    Compute/Glance       Show image              BUILDING       SCHEDULING       -
10   Compute/MySQL        Update DB               BUILDING       NETWORKING       -
11   Compute/RabbitMQ     Call on Network         BUILDING       NETWORKING       -
12   Network              Allocate Network        BUILDING       NETWORKING       -
13   Compute/Volume       Attach volume           BUILDING       BLOCK_DEVICE_    -
                                                                 MAPPING
14   Compute/MySQL        Update DB               BUILDING       SPAWNING         -
15   Compute/Libvirt      Spawn instance          BUILDING       SPAWNING         -
16   Compute/MySQL        Update DB               ACTIVE         None             RUNNING
What happens
            if we cut here??




                               Or here??

Or here??
Solutions solutions solutions
• Nova has mostly stabilized (code-wise)
  – It appears to be a good time to rethink some of the
    foundations. And rework some of the foundations
    (with as minimal of an impact as we can)
  – Eventually as other core components (quantum)
    stabilize similar analysis can be done there (if needed)
• Prototyping a potential solution and discuss with
  community on next steps.
  – That’s why we are here folks 
Create request without orchestration




https://docs.google.com/document/d/1xpUszQFEtKmRAf1Wz_XpwyJslhI5X6siM29amPnKifE
Create request with orchestration




https://docs.google.com/document/d/1xpUszQFEtKmRAf1Wz_XpwyJslhI5X6siM29amPnKifE
Key Benefits
• Less scattering of state management
    – Makes it easier to understand…
• Less scattering of recovery scenarios
    – Clearly defined rollbacks…
• Faster and more dependable resource acquisition
    – Compute node will perform initialization and final acquisition of resources.
    – Reservations and initial acquisitions will be done before request to provision
      instances, hence faster VM spawns.
• Scheduler can be make better ‘overall’ scheduling decisions.
    – Ex. no need for compute <-> scheduler retry hacks
    – Can make advanced scheduling decisions based on volume choices, locality,
      network choices... When you are able to acquire/release resources before
      there use, anything is possible…
    – No more need for 'hinting'...
• Creates a single place where others can extend or alter nova state
  transitions to plug-in there own ‘custom/internal’ state transitions.
DEMO
                AND
            DISCUSSION



https://etherpad.openstack.org/the-future-of-orch

Weitere ähnliche Inhalte

Was ist angesagt?

Abap slide lockenqueuedataclustersauthchecks
Abap slide lockenqueuedataclustersauthchecksAbap slide lockenqueuedataclustersauthchecks
Abap slide lockenqueuedataclustersauthchecksMilind Patil
 
GR8Conf 2011: Tuning Grails Applications by Peter Ledbrook
GR8Conf 2011: Tuning Grails Applications by Peter LedbrookGR8Conf 2011: Tuning Grails Applications by Peter Ledbrook
GR8Conf 2011: Tuning Grails Applications by Peter LedbrookGR8Conf
 
Cluster schedulerの紹介
Cluster schedulerの紹介Cluster schedulerの紹介
Cluster schedulerの紹介Chuenlye Leo
 
Understanding Reactive Programming
Understanding Reactive ProgrammingUnderstanding Reactive Programming
Understanding Reactive ProgrammingAndres Almiray
 
Double Sync Replication
Double Sync ReplicationDouble Sync Replication
Double Sync ReplicationLixun Peng
 
Order Processing at Scale: Zalando at Camunda Community Day
Order Processing at Scale: Zalando at Camunda Community DayOrder Processing at Scale: Zalando at Camunda Community Day
Order Processing at Scale: Zalando at Camunda Community DayZalando Technology
 
UC4 SCHEDULING
UC4 SCHEDULINGUC4 SCHEDULING
UC4 SCHEDULINGroelspi
 
Flyway: The agile database migration framework for Java
Flyway: The agile database migration framework for JavaFlyway: The agile database migration framework for Java
Flyway: The agile database migration framework for JavaAxel Fontaine
 
SAP Rolling Kernel Switch RKS
SAP Rolling Kernel Switch RKSSAP Rolling Kernel Switch RKS
SAP Rolling Kernel Switch RKSGary Jackson MBCS
 
Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu Qian
Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu QianVirtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu Qian
Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu QianFlink Forward
 
Capacity Management/Provisioning (Cloud's full, Can't build here)
Capacity Management/Provisioning (Cloud's full, Can't build here)Capacity Management/Provisioning (Cloud's full, Can't build here)
Capacity Management/Provisioning (Cloud's full, Can't build here)andyhky
 
BPM Suite 12c Launch - Focus on Developer Productivity
BPM Suite 12c Launch - Focus on Developer ProductivityBPM Suite 12c Launch - Focus on Developer Productivity
BPM Suite 12c Launch - Focus on Developer ProductivityLucas Jellema
 
Geode Transactions by Swapnil Bawaskar
Geode Transactions by Swapnil BawaskarGeode Transactions by Swapnil Bawaskar
Geode Transactions by Swapnil BawaskarPivotalOpenSourceHub
 
Synthetic web performance testing with Selenium
Synthetic web performance testing with SeleniumSynthetic web performance testing with Selenium
Synthetic web performance testing with SeleniumAndriy Samilyak
 
Apache Apex Introduction with PubMatic
Apache Apex Introduction with PubMaticApache Apex Introduction with PubMatic
Apache Apex Introduction with PubMaticApache Apex
 

Was ist angesagt? (20)

Abap slide lockenqueuedataclustersauthchecks
Abap slide lockenqueuedataclustersauthchecksAbap slide lockenqueuedataclustersauthchecks
Abap slide lockenqueuedataclustersauthchecks
 
GR8Conf 2011: Tuning Grails Applications by Peter Ledbrook
GR8Conf 2011: Tuning Grails Applications by Peter LedbrookGR8Conf 2011: Tuning Grails Applications by Peter Ledbrook
GR8Conf 2011: Tuning Grails Applications by Peter Ledbrook
 
Cluster schedulerの紹介
Cluster schedulerの紹介Cluster schedulerの紹介
Cluster schedulerの紹介
 
Understanding Reactive Programming
Understanding Reactive ProgrammingUnderstanding Reactive Programming
Understanding Reactive Programming
 
Double Sync Replication
Double Sync ReplicationDouble Sync Replication
Double Sync Replication
 
Clontab webpage
Clontab webpageClontab webpage
Clontab webpage
 
Order Processing at Scale: Zalando at Camunda Community Day
Order Processing at Scale: Zalando at Camunda Community DayOrder Processing at Scale: Zalando at Camunda Community Day
Order Processing at Scale: Zalando at Camunda Community Day
 
UC4 SCHEDULING
UC4 SCHEDULINGUC4 SCHEDULING
UC4 SCHEDULING
 
Flyway: The agile database migration framework for Java
Flyway: The agile database migration framework for JavaFlyway: The agile database migration framework for Java
Flyway: The agile database migration framework for Java
 
SAP LVM Custom Instances
SAP LVM Custom InstancesSAP LVM Custom Instances
SAP LVM Custom Instances
 
SAP Rolling Kernel Switch RKS
SAP Rolling Kernel Switch RKSSAP Rolling Kernel Switch RKS
SAP Rolling Kernel Switch RKS
 
Reactive programming intro
Reactive programming introReactive programming intro
Reactive programming intro
 
Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu Qian
Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu QianVirtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu Qian
Virtual Flink Forward 2020: Machine learning with Flink in Weibo - Yu Qian
 
Capacity Management/Provisioning (Cloud's full, Can't build here)
Capacity Management/Provisioning (Cloud's full, Can't build here)Capacity Management/Provisioning (Cloud's full, Can't build here)
Capacity Management/Provisioning (Cloud's full, Can't build here)
 
BPM Suite 12c Launch - Focus on Developer Productivity
BPM Suite 12c Launch - Focus on Developer ProductivityBPM Suite 12c Launch - Focus on Developer Productivity
BPM Suite 12c Launch - Focus on Developer Productivity
 
Flywaydb
FlywaydbFlywaydb
Flywaydb
 
SOA_BPM_12c_launch_event_BPM_track_developer_productivity_lucasjellema
SOA_BPM_12c_launch_event_BPM_track_developer_productivity_lucasjellemaSOA_BPM_12c_launch_event_BPM_track_developer_productivity_lucasjellema
SOA_BPM_12c_launch_event_BPM_track_developer_productivity_lucasjellema
 
Geode Transactions by Swapnil Bawaskar
Geode Transactions by Swapnil BawaskarGeode Transactions by Swapnil Bawaskar
Geode Transactions by Swapnil Bawaskar
 
Synthetic web performance testing with Selenium
Synthetic web performance testing with SeleniumSynthetic web performance testing with Selenium
Synthetic web performance testing with Selenium
 
Apache Apex Introduction with PubMatic
Apache Apex Introduction with PubMaticApache Apex Introduction with PubMatic
Apache Apex Introduction with PubMatic
 

Ähnlich wie Nova states summit

Sql server 2019 New Features by Yevhen Nedaskivskyi
Sql server 2019 New Features by Yevhen NedaskivskyiSql server 2019 New Features by Yevhen Nedaskivskyi
Sql server 2019 New Features by Yevhen NedaskivskyiAlex Tumanoff
 
Using OpenStack In a Traditional Hosting Environment
Using OpenStack In a Traditional Hosting EnvironmentUsing OpenStack In a Traditional Hosting Environment
Using OpenStack In a Traditional Hosting EnvironmentOpenStack Foundation
 
Kubernetes Summit 2018 - Kubernetes: Stateless -> Stateful
Kubernetes Summit 2018 - Kubernetes: Stateless -> StatefulKubernetes Summit 2018 - Kubernetes: Stateless -> Stateful
Kubernetes Summit 2018 - Kubernetes: Stateless -> Statefulsmalltown
 
Blue host openstacksummit_2013
Blue host openstacksummit_2013Blue host openstacksummit_2013
Blue host openstacksummit_2013Jun Park
 
Blue host using openstack in a traditional hosting environment
Blue host using openstack in a traditional hosting environmentBlue host using openstack in a traditional hosting environment
Blue host using openstack in a traditional hosting environmentOpenStack Foundation
 
‘fsck’ for Openstack
‘fsck’ for Openstack‘fsck’ for Openstack
‘fsck’ for OpenstackWei Tian
 
Distributed Performance testing by funkload
Distributed Performance testing by funkloadDistributed Performance testing by funkload
Distributed Performance testing by funkloadAkhil Singh
 
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4Frazer Clement
 
Netherlands Tech Tour 02 - MySQL Fabric
Netherlands Tech Tour 02 -   MySQL FabricNetherlands Tech Tour 02 -   MySQL Fabric
Netherlands Tech Tour 02 - MySQL FabricMark Swarbrick
 
Critical Attributes for a High-Performance, Low-Latency Database
Critical Attributes for a High-Performance, Low-Latency DatabaseCritical Attributes for a High-Performance, Low-Latency Database
Critical Attributes for a High-Performance, Low-Latency DatabaseScyllaDB
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...Lightbend
 
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...Codemotion
 
DB12c: All You Need to Know About the Resource Manager
DB12c: All You Need to Know About the Resource ManagerDB12c: All You Need to Know About the Resource Manager
DB12c: All You Need to Know About the Resource ManagerAndrejs Vorobjovs
 
Couchbase b jmeetup
Couchbase b jmeetupCouchbase b jmeetup
Couchbase b jmeetupmysqlops
 
Oracle RAC 12c Rel. 2 for Continuous Availability
Oracle RAC 12c Rel. 2 for Continuous AvailabilityOracle RAC 12c Rel. 2 for Continuous Availability
Oracle RAC 12c Rel. 2 for Continuous AvailabilityMarkus Michalewicz
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…Sergey Dzyuban
 
VMworld 2013: How SRP Delivers More Than Power to Their Customers
VMworld 2013: How SRP Delivers More Than Power to Their Customers VMworld 2013: How SRP Delivers More Than Power to Their Customers
VMworld 2013: How SRP Delivers More Than Power to Their Customers VMworld
 
KVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackKVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackBoden Russell
 

Ähnlich wie Nova states summit (20)

Sql server 2019 New Features by Yevhen Nedaskivskyi
Sql server 2019 New Features by Yevhen NedaskivskyiSql server 2019 New Features by Yevhen Nedaskivskyi
Sql server 2019 New Features by Yevhen Nedaskivskyi
 
Using OpenStack In a Traditional Hosting Environment
Using OpenStack In a Traditional Hosting EnvironmentUsing OpenStack In a Traditional Hosting Environment
Using OpenStack In a Traditional Hosting Environment
 
Kubernetes Summit 2018 - Kubernetes: Stateless -> Stateful
Kubernetes Summit 2018 - Kubernetes: Stateless -> StatefulKubernetes Summit 2018 - Kubernetes: Stateless -> Stateful
Kubernetes Summit 2018 - Kubernetes: Stateless -> Stateful
 
Blue host openstacksummit_2013
Blue host openstacksummit_2013Blue host openstacksummit_2013
Blue host openstacksummit_2013
 
Blue host using openstack in a traditional hosting environment
Blue host using openstack in a traditional hosting environmentBlue host using openstack in a traditional hosting environment
Blue host using openstack in a traditional hosting environment
 
‘fsck’ for Openstack
‘fsck’ for Openstack‘fsck’ for Openstack
‘fsck’ for Openstack
 
Distributed Performance testing by funkload
Distributed Performance testing by funkloadDistributed Performance testing by funkload
Distributed Performance testing by funkload
 
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
 
Netherlands Tech Tour 02 - MySQL Fabric
Netherlands Tech Tour 02 -   MySQL FabricNetherlands Tech Tour 02 -   MySQL Fabric
Netherlands Tech Tour 02 - MySQL Fabric
 
Critical Attributes for a High-Performance, Low-Latency Database
Critical Attributes for a High-Performance, Low-Latency DatabaseCritical Attributes for a High-Performance, Low-Latency Database
Critical Attributes for a High-Performance, Low-Latency Database
 
Symantec SDN Deployment
Symantec SDN DeploymentSymantec SDN Deployment
Symantec SDN Deployment
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
 
MySQL Replication
MySQL ReplicationMySQL Replication
MySQL Replication
 
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
 
DB12c: All You Need to Know About the Resource Manager
DB12c: All You Need to Know About the Resource ManagerDB12c: All You Need to Know About the Resource Manager
DB12c: All You Need to Know About the Resource Manager
 
Couchbase b jmeetup
Couchbase b jmeetupCouchbase b jmeetup
Couchbase b jmeetup
 
Oracle RAC 12c Rel. 2 for Continuous Availability
Oracle RAC 12c Rel. 2 for Continuous AvailabilityOracle RAC 12c Rel. 2 for Continuous Availability
Oracle RAC 12c Rel. 2 for Continuous Availability
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…
 
VMworld 2013: How SRP Delivers More Than Power to Their Customers
VMworld 2013: How SRP Delivers More Than Power to Their Customers VMworld 2013: How SRP Delivers More Than Power to Their Customers
VMworld 2013: How SRP Delivers More Than Power to Their Customers
 
KVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackKVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStack
 

Nova states summit

  • 1. Moving to structured state management in OpenStack Yahoo! and NTT Data
  • 2. Deployer use cases • As a deployer I want to ensure that an instance is reserved & provisioned without falling back and/or reporting to users internal OpenStack errors. • As a deployer I want to be able to allocate, schedule and reserve resources before they are consumed so that I can make advanced/complex/custom scheduling decisions using the combination of those resources as a whole. • I want to convey to my users that OpenStack is a reliable and dependable system that is resilient to API outages, resource failures…
  • 3. Developer use cases • I want to be able to add new (and improved!) states to OpenStack and know what the impacts will be on the other states in OpenStack in a easy to understand manner. • I want to be able to undo (and redo) resource allocation decisions in a transactional and verifiably correct manner on errors or on other ‘smart’ algorithmic placement logic. • I want to be able to quickly and easily understand an API request from start to finish & I want other developers to have a single place to understand the same.
  • 4. User use cases • I want to ensure that my instances are reliably brought up without involving myself to resolve (or raise to support) errors inside of OpenStack. • I want to ensure that my instances (and associated resources) are optimally scheduled in a reliable and correct manner or not have them scheduled to begin with. • I want my resources to be fully utilized, and not have zombie resources being ‘locked’ due to the lack of transactional semantics (and recovery) in the underlying code.
  • 5. The problem • Hard to [follow, recover from, debug, ensure reliability, correctness, extend, audit…] ad-hoc distributed state transitions. – Created by continual placement of new features without revisiting the underlying state management system. • The never ending battle between new hotness vs. stability – Majority of focus (understandably) on getting OpenStack operational. – Typical technical debt. • Acceptable for a new project like OpenStack to get off the ground, but now is the time to focus on features that add stability/scalability...
  • 6. The problem • Inter-state ‘cutting’ results in instances which require manual or periodic tasks to recover. – Distributed systems should always be able to automatically recover from failures, and not require manual/periodic intervention. • Continually adding local [solutions,fixes,patches] • Lack of [focus,time,desire] to fix the system as a whole? • How many inter-state race conditions are hiding underneath the covers?? – Can verification even be done with the current codebase (in a reasonable time period)?
  • 7. CREATE SERVER API (admin/user) 1 4 10,14 nova- request nova-api MySQL 16 compute 2 8 5 11 13 9 15 keystone 3 RabbitMQ Libvirt 6 nova- scheduler 7 Volume glance Service 12 Network Service
  • 8. Create Server - Transitions and States ID Service Operation vm_state task_state power_state 1 Nova API Initial State - - - 2 Keystone Authenticate user - - - 3 Nova API/Glance Show image - - - 4 Nova API/MySQL Create entry BUILDING SCHEDULING - 5 Nova API/RabbitMQ Cast to Scheduler BUILDING SCHEDULING - 6 Scheduler Received at Scheduler BUILDING SCHEDULING - 7 Scheduler/RabbitMQ Cast to Compute BUILDING SCHEDULING - 8 Compute Received at Compute BUILDING SCHEDULING - 9 Compute/Glance Show image BUILDING SCHEDULING - 10 Compute/MySQL Update DB BUILDING NETWORKING - 11 Compute/RabbitMQ Call on Network BUILDING NETWORKING - 12 Network Allocate Network BUILDING NETWORKING - 13 Compute/Volume Attach volume BUILDING BLOCK_DEVICE_ - MAPPING 14 Compute/MySQL Update DB BUILDING SPAWNING - 15 Compute/Libvirt Spawn instance BUILDING SPAWNING - 16 Compute/MySQL Update DB ACTIVE None RUNNING
  • 9. What happens if we cut here?? Or here?? Or here??
  • 10. Solutions solutions solutions • Nova has mostly stabilized (code-wise) – It appears to be a good time to rethink some of the foundations. And rework some of the foundations (with as minimal of an impact as we can) – Eventually as other core components (quantum) stabilize similar analysis can be done there (if needed) • Prototyping a potential solution and discuss with community on next steps. – That’s why we are here folks 
  • 11. Create request without orchestration https://docs.google.com/document/d/1xpUszQFEtKmRAf1Wz_XpwyJslhI5X6siM29amPnKifE
  • 12. Create request with orchestration https://docs.google.com/document/d/1xpUszQFEtKmRAf1Wz_XpwyJslhI5X6siM29amPnKifE
  • 13. Key Benefits • Less scattering of state management – Makes it easier to understand… • Less scattering of recovery scenarios – Clearly defined rollbacks… • Faster and more dependable resource acquisition – Compute node will perform initialization and final acquisition of resources. – Reservations and initial acquisitions will be done before request to provision instances, hence faster VM spawns. • Scheduler can be make better ‘overall’ scheduling decisions. – Ex. no need for compute <-> scheduler retry hacks – Can make advanced scheduling decisions based on volume choices, locality, network choices... When you are able to acquire/release resources before there use, anything is possible… – No more need for 'hinting'... • Creates a single place where others can extend or alter nova state transitions to plug-in there own ‘custom/internal’ state transitions.
  • 14. DEMO AND DISCUSSION https://etherpad.openstack.org/the-future-of-orch