nova/nova
Matt Riedemann dac3239e92 [stable-only] Delete allocations even if _confirm_resize raises (part 2)
The backport 37ac54a42e to fix
bug 1821594 did not account for how the _delete_allocation_after_move
method before Stein is tightly coupled to the migration status
being set to "confirmed" which is what the _confirm_resize method
does after self.driver.confirm_migration returns.

However, if self.driver.confirm_migration raises an exception
we still want to cleanup the allocations held on the source node
and for that we call _delete_allocation_after_move. But because
of that tight coupling before Stein, we need to temporarily
mutate the migration status to "confirmed" to get the cleanup
method to do what we want.

This isn't a problem starting in Stein because change
I0851e2d54a1fdc82fe3291fb7e286e790f121e92 removed that
tight coupling on the migration status, so this is a stable
branch only change.

Note that we don't call self.reportclient.delete_allocation_for_instance
directly since before Stein we still need to account for a
migration that does not move the source node allocations to the
migration record, and that logic is in _delete_allocation_after_move.

A simple unit test assertion is added here but the functional
test added in change I9d6478f492351b58aa87b8f56e907ee633d6d1c6
will assert the bug is fixed properly before Stein.

Change-Id: I933687891abef4878de09481937d576ce5899511
Closes-Bug: #1821594
2019-05-22 20:46:00 +00:00
..
api AZ list performance optimization: avoid double service list DB fetch 2019-04-30 13:17:04 +00: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 [stable-only] Delete allocations even if _confirm_resize raises (part 2) 2019-05-22 20:46:00 +00:00
conductor Merge "Fix incomplete instance data returned after build failure" into stable/rocky 2019-04-17 20:29:39 +00:00
conf libvirt: Add workaround to cleanup instance dir when using rbd 2019-01-15 15:53:48 +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 Replace usage of get_legacy_facade() with get_engine() 2018-10-10 13:54:07 +01:00
hacking Use nova.db.api directly 2018-07-10 14:56:27 +00:00
image Fix regression in glance client call 2019-04-23 14:09:40 +00:00
ipv6
keymgr
locale Imported Translations from Zanata 2019-01-06 07:42:59 +00:00
network Fix port dns_name reset 2019-01-30 14:12:14 +00:00
notifications Remove noisy DEBUG log 2018-08-24 11:19:14 +02:00
objects Do not persist RequestSpec.ignore_hosts 2019-04-02 09:36:10 -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 bug preventing forbidden traits from working 2019-04-03 11:44:16 -05:00
servicegroup Fix service list for disabled compute using MC driver 2018-09-14 02:25:10 +00:00
tests [stable-only] Delete allocations even if _confirm_resize raises (part 2) 2019-05-22 20:46:00 +00:00
virt libvirt: Always disconnect volumes after libvirtError exceptions 2019-05-04 06:23:33 -06:00
vnc
volume Use migration_status during volume migrating and retyping 2019-05-07 12:43:10 +01: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 Explicitly fail if trying to attach SR-IOV port 2018-09-25 16:22:19 +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