SlideShare a Scribd company logo
1 of 38
CELLS INTRODUCTION
How to scale nova?
http://docs.openstack.org/openstack-ops/content/scaling.html
CELLS INTRODUCTION
Use cells to overcome …
• Large number of nova-computes
• Single message queue instance
• Complicated scheduling
• Multi-site behind one API
3
CELLS INTRODUCTION
Cells defined
• Hierarchy of Nova instances
• Each has database, message queue, scheduler, and compute
• Message routing between cells to perform operations
• Top-level API cell for nova-api and cell scheduling
• Overrides the default compute API class
• Lots of caveats
• This is cells v1 (v2 in Liberty)
4
CELLS INTRODUCTION
5
http://comstud.com/cells.pdf
CELLS INTRODUCTION
6
http://comstud.com/cells.pdf
CELLS INTRODUCTION
More details to get started
• Nova cells configuration reference
• http://docs.openstack.org/juno/config-reference/content/section_compute-cells.htm
• Openstack-dev cells disucssions
• http://www.gossamer-threads.com/lists/openstack/dev/16277
• CERN’s cells architecture
• http://openstack-in-production.blogspot.com/2014/03/cern-cloud-architecture-update-for.html
• Folsom cells design summit slides
• http://comstud.com/FolsomCells.pdf
• Exploring OpenStack Nova Cells
• http://www.dorm.org/blog/exploring-openstack-nova-cells/
• Talks by Rackspace, CERN, NeCTAR
7
PLANNING THE CONVERSION
Goals
• Get to cells before scaling fire drill
• Keep nova RMQ, DB close to compute nodes
• Maintain existing instances state
• Little or no downtime
8
PLANNING THE CONVERSION
Basic plan
• Existing nova becomes first compute cell
• Split RMQ cluster
• Create new nova instance for API cell
• Import data to API cell
• Existing nova-api service until final cutover
9
PLANNING THE CONVERSION
Basic plan
10
ENVIRONMENT PREP
Getting ready
• New servers for the API cell services
• Database for nova API cell
• Migrate non-nova services to new machines
• Network ACLs
• Check DNS
11
ENVIRONMENT PREP
Extra credit: Split RabbitMQ cluster
• Not strictly necessary!
• To minimize downtime and maintain state
• First add new nodes
• Split and contract cluster
12
heat neutron glance
nova ceilometer
ENVIRONMENT PREP
Expand RabbitMQ cluster
13
Original RMQ/App Servers
(to be: compute cell)
heat neutron glance
nova ceilometer
ENVIRONMENT PREP
Expand RabbitMQ cluster
14
Original RMQ/App Servers
(to be: compute cell)
New RMQ/App Servers
(to be: API cell)
heat neutron glance
nova ceilometer
ENVIRONMENT PREP
Expand RabbitMQ cluster
15
Original RMQ/App Servers
(to be: compute cell)
New RMQ/App Servers
(to be: API cell)
heat neutron glance
nova
ceilometer
ENVIRONMENT PREP
Reconfigure non-nova services
16
Original RMQ/App Servers
(to be: compute cell)
New RMQ/App Servers
(to be: API cell)
heat neutron glance
nova
ceilometer
ENVIRONMENT PREP
Split brain
17
Original RMQ/App Servers
(to be: compute cell)
New RMQ/App Servers
(to be: API cell)
heat neutron glance
nova
ceilometer
ENVIRONMENT PREP
Remove opposite nodes
18
Compute Cell Servers
(Original RMQ/App Servers)
API Cell Servers
(New RMQ/App Servers)
CONFIGURE COMPUTE CELL
Set up record for parent cell
nova-manage cell create 
--name=api --cell_type=parent 
--username=api_rmq_user --password=api_rmq_pass 
--hostname=api_rmq_host --virtual_host=api_rmq_vhost
• Use the API cell RMQ servers!
• Or use cells_config option and put this in json
http://docs.openstack.org/juno/config-reference/content/section_compute-cells.html#cell-config-optional-json
19
CONFIGURE COMPUTE CELL
20
http://comstud.com/cells.pdf
CONFIGURE COMPUTE CELL
Enable nova-cells in compute cell
[cells]
enable = true
name = cell_01
cell_type = compute
• Start up nova-cells, verify connections to RMQ
• Do not restart nova-api after this!
21
CONFIGURE COMPUTE CELL
Disable quotas in compute cell
• Quotas will be enforced by the API cell
[DEFAULT]
quota_driver=nova.quota.NoopQuotaDriver
22
BOOTSTRAP NOVA FOR API CELL
Install & configure nova as usual
• Install packages, db sync
• Use the API cell RMQ servers!
• Configure cells options
[cells]
enable = true
name = api
cell_type = api
• Don’t start services yet (need to import data)
23
BOOTSTRAP NOVA FOR API CELL
Set up record for child cell
nova-manage cell create 
--name=cell_01 --cell_type=child 
--username=comp_rmq_user --password=comp_rmq_pass 
--hostname=comp_rmq_host --virtual_host=comp_rmq_vhost
• Use the compute cell RMQ servers!
• Remember cells_config/json option
24
BOOTSTRAP NOVA
FOR API CELL
25
http://comstud.com/cells.pdf
IMPORT NOVA DATA
Seed API cell data
• API cell needs flavor, quota, instance, etc. data
• Must do this directly in SQL
• Shut down nova-api to prevent changes while you do this
mysqldump nova_orig_db table_name | 
mysql nova_api_cell_db
26
IMPORT NOVA DATA
Tables to import
• instance_types
• instance_type_extra_specs
• instance_type_projects
• instances
• instance_info_caches
• block_device_mapping
• instance_system_metadata
• instance_groups
• instance_group_member
• instance_group_metadata
• instance_group_policy
• key_pairs
• quota_classes
• quota_usages
• quotas
• snapshots
• snapshot_id_mappings
• virtual_interfaces
• volumes
• May be others you need!
27
RESTART SERVICES
Start up all nova services
API Cell
• nova-cells
• nova-api
• nova-consoleauth *
• nova-spicehtml5proxy
• nova-serialproxy
28 * http://blog.mgagne.ca/nova-cells-and-console-access/
Compute Cell
• nova-cells
• nova-cert
• nova-conductor
• nova-console
• nova-scheduler
• nova-network
• nova-compute
• (Maybe nova-api)
CAVEATS
YMMV
nova-cells is
considered
experimental
Test it!
So it won’t blow
up in your face!
29
CAVEATS
Things that just don’t work
• Neutron vif plugging notifications to nova
vif_plugging_is_fatal = false
vif_plugging_timeout = 5
(But this causes a race condition)
• Any notifications between cells and other services
ceilometer
http://openstack-in-production.blogspot.com/2014/03/cern-cloud-architecture-update-for.html
30
CAVEATS
Things that just don’t work
• nova cells-list “circular reference detected” bug
https://bugs.launchpad.net/nova/+bug/1312002
https://review.openstack.org/#/c/106991/2/nova/cells/state.py
• Console Auth
Make sure to set cells/enable=true on all node types
http://blog.mgagne.ca/nova-cells-and-console-access/
31
CAVEATS
Some objects are not cell-aware
• Flavors and Server Groups
Must exist in API cell and compute cell DB (with same IDs!)
https://github.com/NeCTAR-RC/nova/commit/5abc8847dc89b162b6ae678176a5cfe4989144a9
• Block Devices
http://blog.mgagne.ca/nova-cells-and-block-device-mapping/
• Security groups
• ???
32
CAVEATS
Host aggregates and availability zones
nova-api server read cell state from DB:
https://github.com/NeCTAR-RC/nova/commit/6fe7057fb4957485d3bac06579ddc38c93458064
Add AZ support for cells:
https://github.com/NeCTAR-RC/nova/commit/048bd2d6d438fb8fa9ad7d3e0d57e7d03c546f6f
Support aggregate API in cells:
https://github.com/NeCTAR-RC/nova/commit/8ca8828d191bc271460eb80567717fd15ef6167c
Ability to filter cells capacity report:
https://github.com/NeCTAR-RC/nova/commit/97921ef1010c5e5bca357d77682bd0ee42d6ffcc
Print cell name in cell timeout exceptions:
https://github.com/NeCTAR-RC/nova/commit/60f669ba1ed5221d71138a72fb2cf3b34c07a970
Use sysmetadata to get instances AZ in API cell:
https://github.com/NeCTAR-RC/nova/commit/95e4cccac623c601e074a618ea71d121a359e00f
Use sysmetadata to get instance_name in API cell:
https://github.com/NeCTAR-RC/nova/commit/6bf1cf78b86bed99733e1119b891397dee15a65e
33
FOSS FTW!
Thanks!
34
CAVEATS
Other issues
• nova.cells.messaging errors
nova.cells.messaging OperationalError: (OperationalError) (1048, "Column 'instance_uuid' cannot be null") 'UPDATE
instance_extra SET updated_at=%s, instance_uuid=%s WHERE instance_extra.id = %s’
No clue on this, but doesn’t seem to break anything
• Database consistency between API and compute cells
Communication interruption between cells can cause this
Use case for running nova-api in compute cells
35
CELLS V2
A better way forward for nova
• Cells is the default mode
• No nova-cells service
• nova-api calls directly to each cell’s DB and message
queue
https://wiki.openstack.org/wiki/Nova-Cells-v2
https://etherpad.openstack.org/p/kilo-nova-cells-manifesto
36
CELLS V2
Give me Liberty or give me death!
• Experimental in Liberty
• Transition from no cells  v2 should be seamless
• Unclear how cells v1 will migrate to v2
• Unless you really need to go to cells right now …
… wait for Liberty
37
38
Thank you!
@misterdorm
Freenode: mdorman
mdorman@godaddy.com
http://x.co/yvrcells

More Related Content

What's hot

How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016Cloud Native Day Tel Aviv
 
Open stack neutron and opendaylight
Open stack neutron and opendaylightOpen stack neutron and opendaylight
Open stack neutron and opendaylightramgow
 
Distributed Tests on Pulsar with Fallout - Pulsar Summit NA 2021
Distributed Tests on Pulsar with Fallout - Pulsar Summit NA 2021Distributed Tests on Pulsar with Fallout - Pulsar Summit NA 2021
Distributed Tests on Pulsar with Fallout - Pulsar Summit NA 2021StreamNative
 
Hostvn ceph in production v1.1 dungtq
Hostvn   ceph in production v1.1 dungtqHostvn   ceph in production v1.1 dungtq
Hostvn ceph in production v1.1 dungtqViet Stack
 
Compute node HA - current upstream development
Compute node HA - current upstream developmentCompute node HA - current upstream development
Compute node HA - current upstream developmentAdam Spiers
 
Build cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack AnsibleBuild cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack AnsibleJirayut Nimsaeng
 
Securing & Monitoring Your K8s Cluster with RBAC and Prometheus”.
Securing & Monitoring Your K8s Cluster with RBAC and Prometheus”.Securing & Monitoring Your K8s Cluster with RBAC and Prometheus”.
Securing & Monitoring Your K8s Cluster with RBAC and Prometheus”.Opcito Technologies
 
CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016
CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016
CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016Cloud Native Day Tel Aviv
 
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...Vietnam Open Infrastructure User Group
 
Euro ht condor_alahiff
Euro ht condor_alahiffEuro ht condor_alahiff
Euro ht condor_alahiffvandersantiago
 
OpenStack and private cloud
OpenStack and private cloudOpenStack and private cloud
OpenStack and private cloudSK Telecom
 
Monitoring Large-scale Cloud Infrastructures with OpenNebula
Monitoring Large-scale Cloud Infrastructures with OpenNebulaMonitoring Large-scale Cloud Infrastructures with OpenNebula
Monitoring Large-scale Cloud Infrastructures with OpenNebulaNETWAYS
 
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G coreTối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G coreVietnam Open Infrastructure User Group
 
OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...
OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...
OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...Vietnam Open Infrastructure User Group
 
Cisco UCS loves Kubernetes, Docker and OpenStack Kolla
Cisco UCS loves Kubernetes, Docker and OpenStack KollaCisco UCS loves Kubernetes, Docker and OpenStack Kolla
Cisco UCS loves Kubernetes, Docker and OpenStack KollaVikram G Hosakote
 
Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...
Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...
Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...Vietnam Open Infrastructure User Group
 
State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStackopenstackindia
 

What's hot (20)

How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
 
Open stack neutron and opendaylight
Open stack neutron and opendaylightOpen stack neutron and opendaylight
Open stack neutron and opendaylight
 
Distributed Tests on Pulsar with Fallout - Pulsar Summit NA 2021
Distributed Tests on Pulsar with Fallout - Pulsar Summit NA 2021Distributed Tests on Pulsar with Fallout - Pulsar Summit NA 2021
Distributed Tests on Pulsar with Fallout - Pulsar Summit NA 2021
 
Hostvn ceph in production v1.1 dungtq
Hostvn   ceph in production v1.1 dungtqHostvn   ceph in production v1.1 dungtq
Hostvn ceph in production v1.1 dungtq
 
OpenStack Watcher
OpenStack WatcherOpenStack Watcher
OpenStack Watcher
 
Compute node HA - current upstream development
Compute node HA - current upstream developmentCompute node HA - current upstream development
Compute node HA - current upstream development
 
Build cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack AnsibleBuild cloud like Rackspace with OpenStack Ansible
Build cloud like Rackspace with OpenStack Ansible
 
Securing & Monitoring Your K8s Cluster with RBAC and Prometheus”.
Securing & Monitoring Your K8s Cluster with RBAC and Prometheus”.Securing & Monitoring Your K8s Cluster with RBAC and Prometheus”.
Securing & Monitoring Your K8s Cluster with RBAC and Prometheus”.
 
CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016
CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016
CI Provisioning with OpenStack - Gidi Samuels - OpenStack Day Israel 2016
 
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...
 
Euro ht condor_alahiff
Euro ht condor_alahiffEuro ht condor_alahiff
Euro ht condor_alahiff
 
OpenStack and private cloud
OpenStack and private cloudOpenStack and private cloud
OpenStack and private cloud
 
TripleO
 TripleO TripleO
TripleO
 
Monitoring Large-scale Cloud Infrastructures with OpenNebula
Monitoring Large-scale Cloud Infrastructures with OpenNebulaMonitoring Large-scale Cloud Infrastructures with OpenNebula
Monitoring Large-scale Cloud Infrastructures with OpenNebula
 
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G coreTối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
 
OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...
OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...
OpenStack QA Tooling & How to use it for Production Cloud Testing | Ghanshyam...
 
Cisco UCS loves Kubernetes, Docker and OpenStack Kolla
Cisco UCS loves Kubernetes, Docker and OpenStack KollaCisco UCS loves Kubernetes, Docker and OpenStack Kolla
Cisco UCS loves Kubernetes, Docker and OpenStack Kolla
 
OpenStack with OpenDaylight
OpenStack with OpenDaylightOpenStack with OpenDaylight
OpenStack with OpenDaylight
 
Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...
Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...
Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...
 
State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStack
 

Viewers also liked

Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Stephen Gordon
 
OpenStack Liberty Summit Ops Show & Tell - Go Daddy
OpenStack Liberty Summit Ops Show & Tell - Go DaddyOpenStack Liberty Summit Ops Show & Tell - Go Daddy
OpenStack Liberty Summit Ops Show & Tell - Go DaddyMike Dorman
 
Openstack Study Nova 1
Openstack Study Nova 1Openstack Study Nova 1
Openstack Study Nova 1Jinho Shin
 
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red HatDeep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red HatCloud Native Day Tel Aviv
 
Hacking on OpenStack\'s Nova source code
Hacking on OpenStack\'s Nova source codeHacking on OpenStack\'s Nova source code
Hacking on OpenStack\'s Nova source codeZhongyue Luo
 
OpenStack Cloud Request Flow
OpenStack Cloud Request FlowOpenStack Cloud Request Flow
OpenStack Cloud Request FlowMirantis
 
Divide and conquer: resource segregation in the OpenStack cloud
Divide and conquer: resource segregation in the OpenStack cloudDivide and conquer: resource segregation in the OpenStack cloud
Divide and conquer: resource segregation in the OpenStack cloudStephen Gordon
 
Realizing Linux Containers (LXC)
Realizing Linux Containers (LXC)Realizing Linux Containers (LXC)
Realizing Linux Containers (LXC)Boden Russell
 
Openstack pour les nuls
Openstack pour les nulsOpenstack pour les nuls
Openstack pour les nulsChris Cowley
 
Formation libre OpenStack en Français
Formation libre OpenStack en FrançaisFormation libre OpenStack en Français
Formation libre OpenStack en FrançaisOsones
 
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
 

Viewers also liked (12)

Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
 
OpenStack Liberty Summit Ops Show & Tell - Go Daddy
OpenStack Liberty Summit Ops Show & Tell - Go DaddyOpenStack Liberty Summit Ops Show & Tell - Go Daddy
OpenStack Liberty Summit Ops Show & Tell - Go Daddy
 
Openstack Study Nova 1
Openstack Study Nova 1Openstack Study Nova 1
Openstack Study Nova 1
 
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red HatDeep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
 
Openstack framework Iaas
Openstack framework IaasOpenstack framework Iaas
Openstack framework Iaas
 
Hacking on OpenStack\'s Nova source code
Hacking on OpenStack\'s Nova source codeHacking on OpenStack\'s Nova source code
Hacking on OpenStack\'s Nova source code
 
OpenStack Cloud Request Flow
OpenStack Cloud Request FlowOpenStack Cloud Request Flow
OpenStack Cloud Request Flow
 
Divide and conquer: resource segregation in the OpenStack cloud
Divide and conquer: resource segregation in the OpenStack cloudDivide and conquer: resource segregation in the OpenStack cloud
Divide and conquer: resource segregation in the OpenStack cloud
 
Realizing Linux Containers (LXC)
Realizing Linux Containers (LXC)Realizing Linux Containers (LXC)
Realizing Linux Containers (LXC)
 
Openstack pour les nuls
Openstack pour les nulsOpenstack pour les nuls
Openstack pour les nuls
 
Formation libre OpenStack en Français
Formation libre OpenStack en FrançaisFormation libre OpenStack en Français
Formation libre OpenStack en Français
 
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
 

Similar to Scale Nova with Cells Architecture

Unveiling CERN Cloud Architecture - October, 2015
Unveiling CERN Cloud Architecture - October, 2015Unveiling CERN Cloud Architecture - October, 2015
Unveiling CERN Cloud Architecture - October, 2015Belmiro Moreira
 
Chef cookbooks for OpenStack HA
Chef cookbooks for OpenStack HAChef cookbooks for OpenStack HA
Chef cookbooks for OpenStack HAAdam Spiers
 
Oracle real application clusters system tests with demo
Oracle real application clusters system tests with demoOracle real application clusters system tests with demo
Oracle real application clusters system tests with demoAjith Narayanan
 
An introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methodsAn introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methodsAjith Narayanan
 
Distributed tracing in OpenStack
Distributed tracing in OpenStackDistributed tracing in OpenStack
Distributed tracing in OpenStackIlya Shakhat
 
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...Haidee McMahon
 
Moving from CellsV1 to CellsV2 at CERN
Moving from CellsV1 to CellsV2 at CERNMoving from CellsV1 to CellsV2 at CERN
Moving from CellsV1 to CellsV2 at CERNBelmiro Moreira
 
OVN DBs HA with scale test
OVN DBs HA with scale testOVN DBs HA with scale test
OVN DBs HA with scale testAliasgar Ginwala
 
Distributed Performance testing by funkload
Distributed Performance testing by funkloadDistributed Performance testing by funkload
Distributed Performance testing by funkloadAkhil Singh
 
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵Amazon Web Services Korea
 
Building Spark as Service in Cloud
Building Spark as Service in CloudBuilding Spark as Service in Cloud
Building Spark as Service in CloudInMobi Technology
 
New hope is comming? Project Loom.pdf
New hope is comming? Project Loom.pdfNew hope is comming? Project Loom.pdf
New hope is comming? Project Loom.pdfKrystian Zybała
 
StackWatch: A prototype CloudWatch service for CloudStack
StackWatch: A prototype CloudWatch service for CloudStackStackWatch: A prototype CloudWatch service for CloudStack
StackWatch: A prototype CloudWatch service for CloudStackChiradeep Vittal
 
Best Practice for Deploying Application with Heat
Best Practice for Deploying Application with HeatBest Practice for Deploying Application with Heat
Best Practice for Deploying Application with HeatEthan Lynn
 
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...Stephen Gordon
 
Habits of Effective Sqoop Users
Habits of Effective Sqoop UsersHabits of Effective Sqoop Users
Habits of Effective Sqoop UsersKathleen Ting
 
VMworld 2015: Automating Everything VMware with PowerCLI- Deep Dive
VMworld 2015: Automating Everything VMware with PowerCLI- Deep DiveVMworld 2015: Automating Everything VMware with PowerCLI- Deep Dive
VMworld 2015: Automating Everything VMware with PowerCLI- Deep DiveVMworld
 
Ansible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeAnsible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeSarah Z
 

Similar to Scale Nova with Cells Architecture (20)

Unveiling CERN Cloud Architecture - October, 2015
Unveiling CERN Cloud Architecture - October, 2015Unveiling CERN Cloud Architecture - October, 2015
Unveiling CERN Cloud Architecture - October, 2015
 
Chef cookbooks for OpenStack HA
Chef cookbooks for OpenStack HAChef cookbooks for OpenStack HA
Chef cookbooks for OpenStack HA
 
Oracle real application clusters system tests with demo
Oracle real application clusters system tests with demoOracle real application clusters system tests with demo
Oracle real application clusters system tests with demo
 
An introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methodsAn introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methods
 
Distributed tracing in OpenStack
Distributed tracing in OpenStackDistributed tracing in OpenStack
Distributed tracing in OpenStack
 
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
 
Moving from CellsV1 to CellsV2 at CERN
Moving from CellsV1 to CellsV2 at CERNMoving from CellsV1 to CellsV2 at CERN
Moving from CellsV1 to CellsV2 at CERN
 
OVN DBs HA with scale test
OVN DBs HA with scale testOVN DBs HA with scale test
OVN DBs HA with scale test
 
Distributed Performance testing by funkload
Distributed Performance testing by funkloadDistributed Performance testing by funkload
Distributed Performance testing by funkload
 
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
 
Building Spark as Service in Cloud
Building Spark as Service in CloudBuilding Spark as Service in Cloud
Building Spark as Service in Cloud
 
New hope is comming? Project Loom.pdf
New hope is comming? Project Loom.pdfNew hope is comming? Project Loom.pdf
New hope is comming? Project Loom.pdf
 
StackWatch: A prototype CloudWatch service for CloudStack
StackWatch: A prototype CloudWatch service for CloudStackStackWatch: A prototype CloudWatch service for CloudStack
StackWatch: A prototype CloudWatch service for CloudStack
 
[OSS Upstream Training] 5 open stack liberty_recap
[OSS Upstream Training] 5 open stack liberty_recap[OSS Upstream Training] 5 open stack liberty_recap
[OSS Upstream Training] 5 open stack liberty_recap
 
open stackliberty_recap_by_VietOpenStack
open stackliberty_recap_by_VietOpenStackopen stackliberty_recap_by_VietOpenStack
open stackliberty_recap_by_VietOpenStack
 
Best Practice for Deploying Application with Heat
Best Practice for Deploying Application with HeatBest Practice for Deploying Application with Heat
Best Practice for Deploying Application with Heat
 
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
Containers for the Enterprise: Delivering OpenShift on OpenStack for Performa...
 
Habits of Effective Sqoop Users
Habits of Effective Sqoop UsersHabits of Effective Sqoop Users
Habits of Effective Sqoop Users
 
VMworld 2015: Automating Everything VMware with PowerCLI- Deep Dive
VMworld 2015: Automating Everything VMware with PowerCLI- Deep DiveVMworld 2015: Automating Everything VMware with PowerCLI- Deep Dive
VMworld 2015: Automating Everything VMware with PowerCLI- Deep Dive
 
Ansible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeAnsible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less Coffee
 

Recently uploaded

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

Scale Nova with Cells Architecture

  • 1.
  • 2. CELLS INTRODUCTION How to scale nova? http://docs.openstack.org/openstack-ops/content/scaling.html
  • 3. CELLS INTRODUCTION Use cells to overcome … • Large number of nova-computes • Single message queue instance • Complicated scheduling • Multi-site behind one API 3
  • 4. CELLS INTRODUCTION Cells defined • Hierarchy of Nova instances • Each has database, message queue, scheduler, and compute • Message routing between cells to perform operations • Top-level API cell for nova-api and cell scheduling • Overrides the default compute API class • Lots of caveats • This is cells v1 (v2 in Liberty) 4
  • 7. CELLS INTRODUCTION More details to get started • Nova cells configuration reference • http://docs.openstack.org/juno/config-reference/content/section_compute-cells.htm • Openstack-dev cells disucssions • http://www.gossamer-threads.com/lists/openstack/dev/16277 • CERN’s cells architecture • http://openstack-in-production.blogspot.com/2014/03/cern-cloud-architecture-update-for.html • Folsom cells design summit slides • http://comstud.com/FolsomCells.pdf • Exploring OpenStack Nova Cells • http://www.dorm.org/blog/exploring-openstack-nova-cells/ • Talks by Rackspace, CERN, NeCTAR 7
  • 8. PLANNING THE CONVERSION Goals • Get to cells before scaling fire drill • Keep nova RMQ, DB close to compute nodes • Maintain existing instances state • Little or no downtime 8
  • 9. PLANNING THE CONVERSION Basic plan • Existing nova becomes first compute cell • Split RMQ cluster • Create new nova instance for API cell • Import data to API cell • Existing nova-api service until final cutover 9
  • 11. ENVIRONMENT PREP Getting ready • New servers for the API cell services • Database for nova API cell • Migrate non-nova services to new machines • Network ACLs • Check DNS 11
  • 12. ENVIRONMENT PREP Extra credit: Split RabbitMQ cluster • Not strictly necessary! • To minimize downtime and maintain state • First add new nodes • Split and contract cluster 12
  • 13. heat neutron glance nova ceilometer ENVIRONMENT PREP Expand RabbitMQ cluster 13 Original RMQ/App Servers (to be: compute cell)
  • 14. heat neutron glance nova ceilometer ENVIRONMENT PREP Expand RabbitMQ cluster 14 Original RMQ/App Servers (to be: compute cell) New RMQ/App Servers (to be: API cell)
  • 15. heat neutron glance nova ceilometer ENVIRONMENT PREP Expand RabbitMQ cluster 15 Original RMQ/App Servers (to be: compute cell) New RMQ/App Servers (to be: API cell)
  • 16. heat neutron glance nova ceilometer ENVIRONMENT PREP Reconfigure non-nova services 16 Original RMQ/App Servers (to be: compute cell) New RMQ/App Servers (to be: API cell)
  • 17. heat neutron glance nova ceilometer ENVIRONMENT PREP Split brain 17 Original RMQ/App Servers (to be: compute cell) New RMQ/App Servers (to be: API cell)
  • 18. heat neutron glance nova ceilometer ENVIRONMENT PREP Remove opposite nodes 18 Compute Cell Servers (Original RMQ/App Servers) API Cell Servers (New RMQ/App Servers)
  • 19. CONFIGURE COMPUTE CELL Set up record for parent cell nova-manage cell create --name=api --cell_type=parent --username=api_rmq_user --password=api_rmq_pass --hostname=api_rmq_host --virtual_host=api_rmq_vhost • Use the API cell RMQ servers! • Or use cells_config option and put this in json http://docs.openstack.org/juno/config-reference/content/section_compute-cells.html#cell-config-optional-json 19
  • 21. CONFIGURE COMPUTE CELL Enable nova-cells in compute cell [cells] enable = true name = cell_01 cell_type = compute • Start up nova-cells, verify connections to RMQ • Do not restart nova-api after this! 21
  • 22. CONFIGURE COMPUTE CELL Disable quotas in compute cell • Quotas will be enforced by the API cell [DEFAULT] quota_driver=nova.quota.NoopQuotaDriver 22
  • 23. BOOTSTRAP NOVA FOR API CELL Install & configure nova as usual • Install packages, db sync • Use the API cell RMQ servers! • Configure cells options [cells] enable = true name = api cell_type = api • Don’t start services yet (need to import data) 23
  • 24. BOOTSTRAP NOVA FOR API CELL Set up record for child cell nova-manage cell create --name=cell_01 --cell_type=child --username=comp_rmq_user --password=comp_rmq_pass --hostname=comp_rmq_host --virtual_host=comp_rmq_vhost • Use the compute cell RMQ servers! • Remember cells_config/json option 24
  • 25. BOOTSTRAP NOVA FOR API CELL 25 http://comstud.com/cells.pdf
  • 26. IMPORT NOVA DATA Seed API cell data • API cell needs flavor, quota, instance, etc. data • Must do this directly in SQL • Shut down nova-api to prevent changes while you do this mysqldump nova_orig_db table_name | mysql nova_api_cell_db 26
  • 27. IMPORT NOVA DATA Tables to import • instance_types • instance_type_extra_specs • instance_type_projects • instances • instance_info_caches • block_device_mapping • instance_system_metadata • instance_groups • instance_group_member • instance_group_metadata • instance_group_policy • key_pairs • quota_classes • quota_usages • quotas • snapshots • snapshot_id_mappings • virtual_interfaces • volumes • May be others you need! 27
  • 28. RESTART SERVICES Start up all nova services API Cell • nova-cells • nova-api • nova-consoleauth * • nova-spicehtml5proxy • nova-serialproxy 28 * http://blog.mgagne.ca/nova-cells-and-console-access/ Compute Cell • nova-cells • nova-cert • nova-conductor • nova-console • nova-scheduler • nova-network • nova-compute • (Maybe nova-api)
  • 30. CAVEATS Things that just don’t work • Neutron vif plugging notifications to nova vif_plugging_is_fatal = false vif_plugging_timeout = 5 (But this causes a race condition) • Any notifications between cells and other services ceilometer http://openstack-in-production.blogspot.com/2014/03/cern-cloud-architecture-update-for.html 30
  • 31. CAVEATS Things that just don’t work • nova cells-list “circular reference detected” bug https://bugs.launchpad.net/nova/+bug/1312002 https://review.openstack.org/#/c/106991/2/nova/cells/state.py • Console Auth Make sure to set cells/enable=true on all node types http://blog.mgagne.ca/nova-cells-and-console-access/ 31
  • 32. CAVEATS Some objects are not cell-aware • Flavors and Server Groups Must exist in API cell and compute cell DB (with same IDs!) https://github.com/NeCTAR-RC/nova/commit/5abc8847dc89b162b6ae678176a5cfe4989144a9 • Block Devices http://blog.mgagne.ca/nova-cells-and-block-device-mapping/ • Security groups • ??? 32
  • 33. CAVEATS Host aggregates and availability zones nova-api server read cell state from DB: https://github.com/NeCTAR-RC/nova/commit/6fe7057fb4957485d3bac06579ddc38c93458064 Add AZ support for cells: https://github.com/NeCTAR-RC/nova/commit/048bd2d6d438fb8fa9ad7d3e0d57e7d03c546f6f Support aggregate API in cells: https://github.com/NeCTAR-RC/nova/commit/8ca8828d191bc271460eb80567717fd15ef6167c Ability to filter cells capacity report: https://github.com/NeCTAR-RC/nova/commit/97921ef1010c5e5bca357d77682bd0ee42d6ffcc Print cell name in cell timeout exceptions: https://github.com/NeCTAR-RC/nova/commit/60f669ba1ed5221d71138a72fb2cf3b34c07a970 Use sysmetadata to get instances AZ in API cell: https://github.com/NeCTAR-RC/nova/commit/95e4cccac623c601e074a618ea71d121a359e00f Use sysmetadata to get instance_name in API cell: https://github.com/NeCTAR-RC/nova/commit/6bf1cf78b86bed99733e1119b891397dee15a65e 33
  • 35. CAVEATS Other issues • nova.cells.messaging errors nova.cells.messaging OperationalError: (OperationalError) (1048, "Column 'instance_uuid' cannot be null") 'UPDATE instance_extra SET updated_at=%s, instance_uuid=%s WHERE instance_extra.id = %s’ No clue on this, but doesn’t seem to break anything • Database consistency between API and compute cells Communication interruption between cells can cause this Use case for running nova-api in compute cells 35
  • 36. CELLS V2 A better way forward for nova • Cells is the default mode • No nova-cells service • nova-api calls directly to each cell’s DB and message queue https://wiki.openstack.org/wiki/Nova-Cells-v2 https://etherpad.openstack.org/p/kilo-nova-cells-manifesto 36
  • 37. CELLS V2 Give me Liberty or give me death! • Experimental in Liberty • Transition from no cells  v2 should be seamless • Unclear how cells v1 will migrate to v2 • Unless you really need to go to cells right now … … wait for Liberty 37

Editor's Notes

  1. http://sched.co/2qbL Monday May 18, 3:40pm – 4:20pm (30 min + 10 min Q&A)
  2. Core problem: scaling, how do you do it? Diagram/chart of how to scale nova
  3. - Walk through example of “nova boot” here to illustrate
  4. Continue ‘nova boot’ example here for rpc response when VM is booted
  5. We use these for scheduling purposes This is why it’s so important