disabling a compute service does not disable the resource provider
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Won't Fix
|
Wishlist
|
Unassigned |
Bug Description
If you make a multi node devstack (nova master as of August 6th, 2017), or otherwise have multiple compute nodes, all of those compute nodes will create resource providers and relevant inventory.
Later if you disable one of the compute nodes with a nova service-disable {service id}, that nova-compute will be disabled, but the associated resource provider will still exist with legit inventory in the placement service.
This will mean that /allocation_
It's not clear what the right behaviour is here. Should the rp of the disabled service be deleted? Have its inventory truncated? If there are other hosts available that satisfy the request, things go forward as desired, so there's not a functional bug here, but the data in placement is incorrect, which is undesirable.
(On a related note, if you delete a compute node's resource provider from the placement service and don't restart the associated nova-compute, the _ensure_
Changed in nova: | |
status: | Confirmed → Won't Fix |
Honestly, I'm not sure Placement should consider the state of the compute services rather just than their freshness.
I'm okay with considering that some inventory data that is old enough (I leave undefined the notion of "old enough") shouldn't really be considered valid for placement operations but I just see the "disabling" thing to be a pure nova truism.
Also, we have ComputeFilter for that exact purpose. Say Placement returns you a whole list of disabled RPs, then ComputeFilter would just kick those out from the ones we should allocate. Not a big deal to me.
Accordingly, leaving "low" as I'm even not sure it's a real bug we want to support, rather a feature about how Placement should consider data staleness.