This builds on I0bd63b655ad3d3d39af8d15c781ce0a45efc8e3a
which made DELETE /os-services/{service_id} fail with a 409
response if the host has instances on it. This change checks
for in-progress migrations involving the nodes on the host,
either as the source or destination nodes, and returns a 409
error response if any are found.
Failling to do this can lead to orphaned resource providers
in placement and also failing to properly confirm or revert
a pending resize or cold migration.
A release note is included for the (justified) behavior
change in the API. A new microversion should not be required
for this since admins should not have to opt out of broken
behavior.
Conflicts:
nova/api/openstack/compute/services.py
nova/tests/functional/integrated_helpers.py
nova/tests/functional/wsgi/test_services.py
NOTE(mriedem): The conflict in services.py is due to not
having change I9d257a003d315b84b937dcef91f3cb41f3e24b53 in Stein.
The conflict in integrated_helpers.py is due to not having change
I4aac187283c2f341b5c2712be85f722156e14f63 or change
Ibeb16ce16263c43bad9f148480bbebca413d8117 in Stein. As a result
test_services does not use _confirm_resize but just inlines the
call and wait for ACTIVE status in the test. The conflict in
test_services.py is due to not having change
If32bca070185937ef83f689b7163d965a89ec10a in Stein.
Change-Id: I70e06c607045a1c0842f13069e51fef438012a9c
Closes-Bug: #1852610
(cherry picked from commit 92fed02610)
(cherry picked from commit a9650b3cbf)