Public bug reported: The nova-manage placement heal_allocation implementation queries the instance consumer from placement[1][2]. It assumes that if the placement query returned a non 200 response then the consumer does not exists and needs to be healed. However placement returns http 200 even if the consumer does not exits [3] so the assumption in [1] is invalid.
[1]https://github.com/openstack/nova/blob/de2c04981b438d4d10d4ee0207d79b4d3ec5135e/nova/cmd/manage.py#L1718-L1727 [2]https://github.com/openstack/nova/blob/de2c04981b438d4d10d4ee0207d79b4d3ec5135e/nova/scheduler/client/report.py#L1509 [3] https://developer.openstack.org/api-ref/placement/?expanded=list-allocations-detail#list-allocations ** Affects: nova Importance: Undecided Status: New ** Tags: nova-manage ** Description changed: The nova-manage placement heal_allocation implementation queries the instance consumer from placement[1][2]. It assumes that if the placement query returned a non 200 response then the consumer does not exists and needs to be healed. However placement returns http 200 even if the - consumer does not exits so the assumption in [1] is invalid. - + consumer does not exits [3] so the assumption in [1] is invalid. [1]https://github.com/openstack/nova/blob/de2c04981b438d4d10d4ee0207d79b4d3ec5135e/nova/cmd/manage.py#L1718-L1727 [2]https://github.com/openstack/nova/blob/de2c04981b438d4d10d4ee0207d79b4d3ec5135e/nova/scheduler/client/report.py#L1509 + [3] https://developer.openstack.org/api-ref/placement/?expanded=list-allocations-detail#list-allocations ** Tags added: nova-manage -- 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/1835419 Title: nova-manage placement heal allocation command wrongly assumes allocation not exists for an instance if placement returns error code Status in OpenStack Compute (nova): New Bug description: The nova-manage placement heal_allocation implementation queries the instance consumer from placement[1][2]. It assumes that if the placement query returned a non 200 response then the consumer does not exists and needs to be healed. However placement returns http 200 even if the consumer does not exits [3] so the assumption in [1] is invalid. [1]https://github.com/openstack/nova/blob/de2c04981b438d4d10d4ee0207d79b4d3ec5135e/nova/cmd/manage.py#L1718-L1727 [2]https://github.com/openstack/nova/blob/de2c04981b438d4d10d4ee0207d79b4d3ec5135e/nova/scheduler/client/report.py#L1509 [3] https://developer.openstack.org/api-ref/placement/?expanded=list-allocations-detail#list-allocations To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1835419/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

