func: Introduce a server_expected_state kwarg to InstanceHelperMixin._live_migrate

Useful when testing live migration failures that leave the server in an
non ACTIVE state. This change also renames the migration_final_status
arg to migration_expected_state within the method to keep it in line
with _create_server.

NOTE(artom): This is to facilitate subsequent backports of live
migration regression tests and bug fixes.

Partial-Bug: #1628606

Change-Id: Ie0852a89fc9423a92baa7c29a8806c0628cae220
(cherry picked from commit e70ddd621c)
(cherry picked from commit 2b0cf8edf8)
This commit is contained in:
Lee Yarwood
2020-07-29 10:51:34 +01:00
committed by Amit Uniyal
parent d3b46af01b
commit 186db17510

View File

@@ -376,13 +376,14 @@ class InstanceHelperMixin(object):
self.fail('The line "%(log_line)s" did not appear in the log')
def _live_migrate(self, server, migration_final_status):
def _live_migrate(self, server, migration_expected_state,
server_expected_state='ACTIVE'):
self.api.post_server_action(
server['id'],
{'os-migrateLive': {'host': None,
'block_migration': 'auto'}})
self._wait_for_state_change(self.api, server, 'ACTIVE')
self._wait_for_migration_status(server, [migration_final_status])
self._wait_for_state_change(self.api, server, server_expected_state)
self._wait_for_migration_status(server, [migration_expected_state])
class ProviderUsageBaseTestCase(test.TestCase, InstanceHelperMixin):