nova/nova
Matt Riedemann 30a6350685 Block deleting compute services with in-progress migrations
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/tests/functional/integrated_helpers.py

NOTE(mriedem): The conflict is due to not having change
Ie991d4b53e9bb5e7ec26da99219178ab7695abf6 in Rocky.

Change-Id: I70e06c607045a1c0842f13069e51fef438012a9c
Closes-Bug: #1852610
(cherry picked from commit 92fed02610)
(cherry picked from commit a9650b3cbf)
(cherry picked from commit a0290858b7)
2019-12-09 18:34:52 -05:00
..
api Block deleting compute services with in-progress migrations 2019-12-09 18:34:52 -05:00
cells Add instance action record for snapshot instances 2017-12-11 17:46:38 +08:00
cmd Handle templated cell mappings in nova-status 2019-03-11 21:01:08 -04:00
common
compute Merge "compute: Take an instance.uuid lock when rebooting" into stable/rocky 2019-12-07 05:07:38 +00:00
conductor Handle get_host_availability_zone error during reschedule 2019-10-02 16:40:49 -04:00
conf Add useful error log when _determine_version_cap raises DBNotAllowed 2019-08-30 13:41:35 +00:00
console Move create of ComputeAPI object in websocketproxy 2019-04-10 15:34:17 -07:00
consoleauth Fix stacktraces with redis caching backend 2018-10-01 07:50:53 +00:00
db Don't delete compute node, when deleting service other than nova-compute 2019-11-21 10:48:13 +01:00
hacking Use nova.db.api directly 2018-07-10 14:56:27 +00:00
image Share snapshot image membership with instance owner 2019-04-30 21:13:46 +09:00
ipv6
keymgr
locale Imported Translations from Zanata 2019-01-06 07:42:59 +00:00
network Revert resize: wait for events according to hybrid plug 2019-07-12 19:19:58 -04:00
notifications Remove noisy DEBUG log 2018-08-24 11:19:14 +02:00
objects Fix listing deleted servers with a marker 2019-10-29 15:25:24 -04:00
pci PCI: do not force remove allocated devices 2019-02-05 23:29:36 +00:00
policies Remove support for /os-floating-ip-dns REST API 2018-07-18 22:23:45 -04:00
privsep Make supports_direct_io work on 4096b sector size 2018-11-21 14:14:22 +00:00
scheduler Fix false ERROR message at compute restart 2019-11-27 13:52:43 +01:00
servicegroup Fix service list for disabled compute using MC driver 2018-09-14 02:25:10 +00:00
tests Block deleting compute services with in-progress migrations 2019-12-09 18:34:52 -05:00
virt libvirt: Ignore volume exceptions during post_live_migration 2019-11-01 13:09:48 +00:00
vnc
volume Fix exception translation when creating volume 2019-10-11 17:22:42 +08:00
__init__.py
availability_zones.py AZ list performance optimization: avoid double service list DB fetch 2019-04-30 13:17:04 +00:00
baserpc.py
block_device.py Add uuid column to BlockDeviceMapping 2017-12-17 14:28:35 +00:00
cache_utils.py
config.py Configure placement DB context manager for nova-manage/status 2018-09-06 10:47:55 -04:00
context.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
crypto.py Convert certificate generation to processutils. 2018-05-02 19:18:41 +10:00
debugger.py
exception.py Merge "Fixes multi-registry config in Quobyte driver" into stable/rocky 2019-06-13 19:38:25 +00:00
exception_wrapper.py Add full traceback to ExceptionPayload in versioned notifications 2018-06-19 16:46:46 +08:00
filters.py
hooks.py
i18n.py correct referenced url in comments 2018-01-18 09:16:37 +08:00
loadables.py
manager.py conf: Remove 'db_driver' config opt 2018-03-16 17:23:16 +00:00
policy.py
profiler.py
quota.py Merge "Avoid joins in _server_group_count_members_by_user" 2018-08-07 23:16:06 +00:00
rc_fields.py Nix unused raise_if_custom_resource_class_pre_v1_1 2018-06-18 19:52:45 +00:00
rpc.py Use oslo.messaging per-call monitoring 2018-06-11 14:44:10 -07:00
safe_utils.py
service.py Move conductor wait_until_ready() delay before manager init 2018-08-31 16:21:52 -04:00
service_auth.py Fix NoneType error when [service_user] is misconfigured 2017-11-28 12:22:30 -06:00
test.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
utils.py Harden placement init under wsgi 2018-11-12 11:30:32 +00:00
version.py
weights.py
wsgi.py Refactor WSGI apps and utils to limit imports 2018-03-06 22:05:12 +00:00