Teach the entire API about cells

Registered by Dan Smith

Many of the nova-api entry points will not know about cells properly to pass their operations through to the appropriate connection. This blueprint is about teaching all the things how to do that.

Blueprint information

Status:
Complete
Approver:
Matt Riedemann
Priority:
Essential
Drafter:
Dan Smith
Direction:
Approved
Assignee:
Dan Smith
Definition:
Approved
Series goal:
Accepted for pike
Implementation:
Implemented
Milestone target:
milestone icon pike-3
Started by
Matt Riedemann
Completed by
Matt Riedemann

Whiteboard

Testing / discovering gaps here: https://review.openstack.org/#/c/433318/

Gerrit topic: https://review.openstack.org/#q,topic:bp/cells-aware-api,n,z

Addressed by: https://review.openstack.org/433298
    Make server_external_events cells-aware

Addressed by: https://review.openstack.org/433362
    Make start and stop admin actions cells-aware

Addressed by: https://review.openstack.org/434563
    Make CellDatabases fixture work over RPC

Gerrit topic: https://review.openstack.org/#q,topic:multi-cell-testing,n,z

Addressed by: https://review.openstack.org/436180
    Remove service version check for Ocata/Newton placement decisions

Addressed by: https://review.openstack.org/440856
    Enlighten server tags API about cells

Addressed by: https://review.openstack.org/442162
    Teach HostAPI about cells

Addressed by: https://review.openstack.org/442163
    Make os-availability-zones know about cells

Addressed by: https://review.openstack.org/438022
    Target cell in super conductor operations

Addressed by: https://review.openstack.org/438023
    Change MQ targeting to honor only what is in the context

Addressed by: https://review.openstack.org/441461
    Make consoleauth target the proper cell

Addressed by: https://review.openstack.org/441388
    Teach simple_tenant_usage about cells

Addressed by: https://review.openstack.org/442200
    Teach os-aggregates about cells

Addressed by: https://review.openstack.org/439754
    Get instance availability_zone without hitting the api db

Addressed by: https://review.openstack.org/439891
    Make scheduler target cells to get compute node instance info

Addressed by: https://review.openstack.org/438024
    Add cell field to Destination object

Addressed by: https://review.openstack.org/438025
    WIP: Make conductor ask scheduler to limit migrates to same cell

Addressed by: https://review.openstack.org/442685
    Teach os-migrations about cells

Addressed by: https://review.openstack.org/442736
    Add workaround to disable group policy check upcall

Addressed by: https://review.openstack.org/442861
    Remove Mitaka-era service version check

Addressed by: https://review.openstack.org/443174
    Sort CellMappingList.get_all() for safety

Addressed by: https://review.openstack.org/443292
    Add get_by_instance_uuids() to InstanceMappingList

Addressed by: https://review.openstack.org/443293
    Make server_groups determine deleted-ness from InstanceMappingList

Addressed by: https://review.openstack.org/443337
    Refactor cell loading in compute/api

Addressed by: https://review.openstack.org/444038
    Add identity helper property to CellMapping

Addressed by: https://review.openstack.org/444487
    Clean up ClientRouter debt

Addressed by: https://review.openstack.org/446053
    Set instance.availability_zone whenever we schedule

Addressed by: https://review.openstack.org/445697
    Avoid lazy-loading projects during flavor notification

Addressed by: https://review.openstack.org/452006
    Add functional test for two-cell scheduler behaviors

Addressed by: https://review.openstack.org/456925
    Tell people that the nova-cells man page is for cells v1

Addressed by: https://review.openstack.org/457097
    Revert "Make server_groups determine deleted-ness from InstanceMappingList"

Addressed by: https://review.openstack.org/457338
    Make server groups api aware of multiple cells for membership

Addressed by: https://review.openstack.org/458634
    WIP: Move to proper target_cell calling convention

Addressed by: https://review.openstack.org/458635
    Make target_cell() yield a new context

Addressed by: https://review.openstack.org/473565
    DNM: Canary

Addressed by: https://review.openstack.org/473931
    Make compute_node_statistics() work across cells

I think we can consider this complete for Pike when the devstack "conductor fleet" patch https://review.openstack.org/#/c/477556/ is merged and stable. -- mriedem 20170725

https://review.openstack.org/#/c/477556/ is merged so I'm going to consider this complete for Pike. We have more work to do for multi-cell support in Queens and some docs and stuff for this in Pike, but overall this is complete in Pike from a code perspective. -- mriedem 20170726

Addressed by: https://review.openstack.org/503601
    Add @targets_cell for **live_migrate_instance** methods in conductor

Gerrit topic: https://review.openstack.org/#q,topic:bug/1716903,n,z

Gerrit topic: https://review.opendev.org/#/q/topic:bp/cells-aware-api

Addressed by: https://review.opendev.org/452006
    Add functional test for two-cell scheduler behaviors

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.