Support disabling a cell

Registered by Surya Seetharaman

It would be useful to have a mechanism by which we could totally stop scheduling to a particular cell or a group of cells by supporting the concept of disabling cells.

Blueprint information

Status:
Complete
Approver:
Matt Riedemann
Priority:
Medium
Drafter:
Surya Seetharaman
Direction:
Approved
Assignee:
Surya Seetharaman
Definition:
Approved
Series goal:
Accepted for rocky
Implementation:
Implemented
Milestone target:
milestone icon rocky-1
Started by
Matt Riedemann
Completed by
Matt Riedemann

Related branches

Sprints

Whiteboard

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

Addressed by: https://review.openstack.org/546684
    Support disabling a cell

Approved for Rocky. -- mriedem 20180313

Addressed by: https://review.openstack.org/550090
    Add disabled field to cell_mappings object

Addressed by: https://review.openstack.org/550188
    Add CellMappingList.get_by_disabled() query method

Addressed by: https://review.openstack.org/550527
    Allow scheduling only to enabled cells (Filter Scheduler)

Addressed by: https://review.openstack.org/552505
    Add disabled column to cell_mappings table.

Addressed by: https://review.openstack.org/553082
    Change TestNewtonCellsCheck to not rely on objects

Addressed by: https://review.openstack.org/555415
    Modify nova-manage cell_v2 list_cells to display "disabled" column

Addressed by: https://review.openstack.org/555416
    Add --enable and --disable options to nova-manage update_cell

Addressed by: https://review.openstack.org/555417
    Add disabled option to create_cell command

Addressed by: https://review.openstack.org/556459
    Update the cells FAQs and scheduler maintenance docs.

Addressed by: https://review.openstack.org/556821
    Scheduling Optimization: Remove cell0 from the list of candidates

(?)

Work Items

Work items:
1. Add a new column disabled to nova_api.cell_mappings table: DONE
2. Add a new field disabled to CellMapping object: DONE
3. Add a new get_by_disabled() function to CellMappingList object: DONE
4. Implement the change in scheduler and a SIG-HUP handler: INPROGRESS
5. Modify the nova-manage cellV2 list_cells to display the new column: DONE
6. Add two options enable and disable to nova-manage cellV2 update_cell: INPROGRESS
7. Add disabled option to nova-manage cellv2 create_cell to create pre-disabled cells: DONE
8. Update the Scheduler and CellsV2 documentation: INPROGRESS

This blueprint contains Public information 
Everyone can see this information.