yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #66445
[Bug 1708958] [NEW] disabling a compute service does not disable the resource provider
Public bug reported:
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_candidates or /resource_providers will
return results including the disabled compute node, but they will be
bogus.
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_resource_provider method does _not_ create the
resource provider anew because the _resource_providers dict still
contains the uuid. This might be expected behaviour but it surprised me
while I was messing around.)
** Affects: nova
Importance: Low
Status: New
** Tags: placement
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1708958
Title:
disabling a compute service does not disable the resource provider
Status in OpenStack Compute (nova):
New
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_candidates or /resource_providers
will return results including the disabled compute node, but they will
be bogus.
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_resource_provider method does _not_ create the
resource provider anew because the _resource_providers dict still
contains the uuid. This might be expected behaviour but it surprised
me while I was messing around.)
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1708958/+subscriptions
Follow ups