summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2021-08-28 11:20:54 +0000
committerGerrit Code Review <review@openstack.org>2021-08-28 11:20:54 +0000
commitcf092e8e40d7a58f32606b71904ee7af7d97c3e8 (patch)
tree2b3126293a32e5505d7fc55e17ada0a5030e31f1
parentb982eece17bd58aef8c439be0a1dc6eaac6b3fff (diff)
parented6d2741dda81eccfdcde7281dce577a589e574d (diff)
downloadnova-stable/stein.tar.gz
Merge "Avoid lazy-loading instance.flavor in cold migration" into stable/steinstable/stein
-rw-r--r--nova/api/openstack/compute/migrate_server.py3
-rw-r--r--nova/tests/unit/api/openstack/compute/admin_only_action_common.py8
-rw-r--r--nova/tests/unit/api/openstack/compute/test_migrate_server.py2
3 files changed, 11 insertions, 2 deletions
diff --git a/nova/api/openstack/compute/migrate_server.py b/nova/api/openstack/compute/migrate_server.py
index ab50889d51..51f823a07b 100644
--- a/nova/api/openstack/compute/migrate_server.py
+++ b/nova/api/openstack/compute/migrate_server.py
@@ -52,7 +52,8 @@ class MigrateServerController(wsgi.Controller):
body['migrate'] is not None):
host_name = body['migrate'].get('host')
- instance = common.get_instance(self.compute_api, context, id)
+ instance = common.get_instance(self.compute_api, context, id,
+ expected_attrs=['flavor'])
# We could potentially move this check to conductor and avoid the
# extra API call to neutron when we support move operations with ports
diff --git a/nova/tests/unit/api/openstack/compute/admin_only_action_common.py b/nova/tests/unit/api/openstack/compute/admin_only_action_common.py
index fdda030cfd..27dc6444b8 100644
--- a/nova/tests/unit/api/openstack/compute/admin_only_action_common.py
+++ b/nova/tests/unit/api/openstack/compute/admin_only_action_common.py
@@ -51,6 +51,8 @@ class CommonMixin(object):
expected_attrs = None
if action == '_migrate_live':
expected_attrs = ['numa_topology']
+ elif action == '_migrate':
+ expected_attrs = ['flavor']
uuid = uuidutils.generate_uuid()
self.mock_get.side_effect = exception.InstanceNotFound(
@@ -72,6 +74,8 @@ class CommonMixin(object):
expected_attrs = None
if action == '_migrate_live':
expected_attrs = ['numa_topology']
+ elif action == '_migrate':
+ expected_attrs = ['flavor']
if method is None:
method = action.replace('_', '')
@@ -134,6 +138,8 @@ class CommonMixin(object):
expected_attrs = None
if action == '_migrate_live':
expected_attrs = ['numa_topology']
+ elif action == '_migrate':
+ expected_attrs = ['flavor']
if method is None:
method = action.replace('_', '')
@@ -173,6 +179,8 @@ class CommonMixin(object):
expected_attrs = None
if action == '_migrate_live':
expected_attrs = ['numa_topology']
+ elif action == '_migrate':
+ expected_attrs = ['flavor']
if method is None:
method = action.replace('_', '')
diff --git a/nova/tests/unit/api/openstack/compute/test_migrate_server.py b/nova/tests/unit/api/openstack/compute/test_migrate_server.py
index c592be4428..916f9b16d2 100644
--- a/nova/tests/unit/api/openstack/compute/test_migrate_server.py
+++ b/nova/tests/unit/api/openstack/compute/test_migrate_server.py
@@ -132,7 +132,7 @@ class MigrateServerTestsV21(admin_only_action_common.CommonTests):
mock_resize.assert_called_once_with(
self.context, instance, host_name=self.host_name)
self.mock_get.assert_called_once_with(self.context, instance.uuid,
- expected_attrs=None,
+ expected_attrs=['flavor'],
cell_down_support=False)
def test_migrate_too_many_instances(self):