scheduler: Detach Service from Compute_Node

Registered by Sylvain Bauza

Remove the nested dependency in between Service and ComputeNode

Spec submitted : https://review.openstack.org/126895

Blueprint information

Status:
Complete
Approver:
John Garbutt
Priority:
High
Drafter:
Sylvain Bauza
Direction:
Approved
Assignee:
Sylvain Bauza
Definition:
Approved
Series goal:
Accepted for kilo
Implementation:
Implemented
Milestone target:
milestone icon 2015.1.0
Started by
John Garbutt
Completed by
John Garbutt

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/detach-service-from-computenode,n,z

Addressed by: https://review.openstack.org/126573
    Call ComputeNode instead of Service for getting the nodes

Addressed by: https://review.openstack.org/126558
    Add cn_get_all_by_host and cn_get_by_host_and_node to ComputeNode

Addressed by: https://review.openstack.org/126883
    Remove Service and ComputeNode relationship in DB

Addressed by: https://review.openstack.org/126745
    Separate calls for service and compute_node

Addressed by: https://review.openstack.org/126372
    Add host field to ComputeNode

Gerrit topic: https://review.openstack.org/#q,topic:detach-service-from-computenode,n,z

Addressed by: https://review.openstack.org/126895
    Propose Detach Service from ComputeNode

Addressed by: https://review.openstack.org/128586
    Make service info optional when querying compute_node in DB API

Addressed by: https://review.openstack.org/128587
    Remove compute_node_get_by_service_id in DB API

Addressed by: https://review.openstack.org/138294
    Objectify calls to compute_node_get and compute_node_get_all

Addressed by: https://review.openstack.org/138295
    Provide compatibliity for db.compute_node_statistics

Addressed by: https://review.openstack.org/138296
    Remove nested service from DB API compute_nodes

Addressed by: https://review.openstack.org/138297
    Remove computenode relationship on service_get

Bumping this to kilo-2 as it looks like there's a lot of outstanding review still. -- mikal 11 Dec 2014

Addressed by: https://review.openstack.org/141420
    Fix inconsistencies in the ComputeNode object about service

Addressed by: https://review.openstack.org/143631
    Add host field when missing from compute_node

Addressed by: https://review.openstack.org/148621
    Add to_dict() method to PciDevicePool object

Addressed by: https://review.openstack.org/150568
    Change calls to service information for Hypervisors API

Only a few changes left:
===================
https://review.openstack.org/#/c/138294/
https://review.openstack.org/#/c/138296/

(two more are +W but not yet merged).

Moving to kilo-3, some patches need more work. --johnthetubaguy 3 Feb 2015

Addressed by: https://review.openstack.org/152944
    Refactor how to remove compute nodes when service is deleted

Addressed by: https://review.openstack.org/153374
    Objectify calls to service_get_by_compute_host

Addressed by: https://review.openstack.org/154079
    Remove compute_node field from service_get_by_compute_host

Addressed by: https://review.openstack.org/154143
    Change how Cells are getting the list of compute nodes

Addressed by: https://review.openstack.org/154144
    Change how the API is getting a list of compute nodes

Addressed by: https://review.openstack.org/155318
    Change how HostManager is calling the service information

Addressed by: https://review.openstack.org/155319
    WIP: Remove FK on service_id and make service_id nullable

Addressed by: https://review.openstack.org/155832
    Add Service.get_by_host_and_binary and ServiceList.get_by_binary

Addressed by: https://review.openstack.org/155833
    Change queries for network services to use binary instead of topic

Addressed by: https://review.openstack.org/155834
    Replace RPC topic-based service queries in nova/api with binary-based

Addressed by: https://review.openstack.org/155835
    Replace RPC topic-based service queries with binary-based in scheduler

Addressed by: https://review.openstack.org/155862
    Replace RPC topic-based service queries with binary-based in cells

Addressed by: https://review.openstack.org/157025
    WIP: Fix how the Service object is loading the compute_node field

Addressed by: https://review.openstack.org/157363
    compute: introduce binary constants

Addressed by: https://review.openstack.org/157364
    update base code to use binary constants

Gerrit topic: https://review.openstack.org/#q,topic:bp/detach-service-from-computenode-5,n,z

Addressed by: https://review.openstack.org/158608
    Remove compute_node from service_get_by_cn Cells API method

Addressed by: https://review.openstack.org/160033
    WIP: Remove service_get_all_by_host

Addressed by: https://review.openstack.org/161348
    Remove FK on service_id and make service_id nullable

Last patch is still merging, but its basically complete:
https://review.openstack.org/#/c/155319/

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

Addressed by: https://review.openstack.org/643615
    Remove "Fixing the Scheduler DB model" from schedule evolution doc

Gerrit topic: https://review.opendev.org/#/q/topic:bug/1816543

Addressed by: https://review.opendev.org/671731
    Nova: node should be deleted when last service is deleted

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.