Don't force evacuate/live migrate in notification sample tests

This appears to have been used simply to avoid additional scheduler
notifications. Given that we're deprecating the ability to force
evacuations and live migrations, just deal with the additional
notifications.

Change-Id: Ica88d94f9b4c3e9552c36d46c671b3d27b237c27
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Implements: blueprint remove-force-flag-from-live-migrate-and-evacuate
This commit is contained in:
Stephen Finucane
2019-02-05 11:45:23 +00:00
parent 570b07e53c
commit c1fb445b8d

View File

@@ -76,102 +76,119 @@ class TestInstanceNotificationSampleWithMultipleCompute(
'os-migrateLive': { 'os-migrateLive': {
'host': 'host2', 'host': 'host2',
'block_migration': True, 'block_migration': True,
'force': True,
} }
} }
self.admin_api.post_server_action(server['id'], post) self.admin_api.post_server_action(server['id'], post)
self._wait_for_notification( self._wait_for_notification(
'instance.live_migration_rollback_dest.end') 'instance.live_migration_rollback_dest.end')
# 0. instance.live_migration_rollback.start # 0. scheduler.select_destinations.start
# 1. instance.live_migration_rollback.end # 1. scheduler.select_destinations.end
# 2. instance.live_migration_rollback_dest.start # 2. instance.live_migration_rollback.start
# 3. instance.live_migration_rollback_dest.end # 3. instance.live_migration_rollback.end
self.assertEqual(4, len(fake_notifier.VERSIONED_NOTIFICATIONS)) # 4. instance.live_migration_rollback_dest.start
# 5. instance.live_migration_rollback_dest.end
self.assertEqual(6, len(fake_notifier.VERSIONED_NOTIFICATIONS),
[x['event_type'] for x in
fake_notifier.VERSIONED_NOTIFICATIONS])
self._verify_notification( self._verify_notification(
'instance-live_migration_rollback-start', 'instance-live_migration_rollback-start',
replacements={ replacements={
'reservation_id': server['reservation_id'], 'reservation_id': server['reservation_id'],
'uuid': server['id']}, 'uuid': server['id']},
actual=fake_notifier.VERSIONED_NOTIFICATIONS[0]) actual=fake_notifier.VERSIONED_NOTIFICATIONS[2])
self._verify_notification( self._verify_notification(
'instance-live_migration_rollback-end', 'instance-live_migration_rollback-end',
replacements={ replacements={
'reservation_id': server['reservation_id'], 'reservation_id': server['reservation_id'],
'uuid': server['id']}, 'uuid': server['id']},
actual=fake_notifier.VERSIONED_NOTIFICATIONS[1]) actual=fake_notifier.VERSIONED_NOTIFICATIONS[3])
self._verify_notification( self._verify_notification(
'instance-live_migration_rollback_dest-start', 'instance-live_migration_rollback_dest-start',
replacements={ replacements={
'reservation_id': server['reservation_id'], 'reservation_id': server['reservation_id'],
'uuid': server['id']}, 'uuid': server['id']},
actual=fake_notifier.VERSIONED_NOTIFICATIONS[2]) actual=fake_notifier.VERSIONED_NOTIFICATIONS[4])
self._verify_notification( self._verify_notification(
'instance-live_migration_rollback_dest-end', 'instance-live_migration_rollback_dest-end',
replacements={ replacements={
'reservation_id': server['reservation_id'], 'reservation_id': server['reservation_id'],
'uuid': server['id']}, 'uuid': server['id']},
actual=fake_notifier.VERSIONED_NOTIFICATIONS[3]) actual=fake_notifier.VERSIONED_NOTIFICATIONS[5])
def _test_live_migration_success(self, server): def _test_live_migration_success(self, server):
post = { post = {
'os-migrateLive': { 'os-migrateLive': {
'host': 'host2', 'host': 'host2',
'block_migration': True, 'block_migration': True,
'force': True,
} }
} }
self.admin_api.post_server_action(server['id'], post) self.admin_api.post_server_action(server['id'], post)
self._wait_for_notification('instance.live_migration_pre.end') self._wait_for_notification('instance.live_migration_pre.end')
self.assertEqual(2, len(fake_notifier.VERSIONED_NOTIFICATIONS)) # 0. scheduler.select_destinations.start
# 1. scheduler.select_destinations.end
# 2. instance.live_migration_pre.start
# 3. instance.live_migration_pre.end
self.assertEqual(4, len(fake_notifier.VERSIONED_NOTIFICATIONS),
[x['event_type'] for x in
fake_notifier.VERSIONED_NOTIFICATIONS])
self._verify_notification( self._verify_notification(
'instance-live_migration_pre-start', 'instance-live_migration_pre-start',
replacements={ replacements={
'reservation_id': server['reservation_id'], 'reservation_id': server['reservation_id'],
'uuid': server['id']}, 'uuid': server['id']},
actual=fake_notifier.VERSIONED_NOTIFICATIONS[0]) actual=fake_notifier.VERSIONED_NOTIFICATIONS[2])
self._verify_notification( self._verify_notification(
'instance-live_migration_pre-end', 'instance-live_migration_pre-end',
replacements={ replacements={
'reservation_id': server['reservation_id'], 'reservation_id': server['reservation_id'],
'uuid': server['id']}, 'uuid': server['id']},
actual=fake_notifier.VERSIONED_NOTIFICATIONS[1]) actual=fake_notifier.VERSIONED_NOTIFICATIONS[3])
migrations = self.admin_api.get_active_migrations(server['id']) migrations = self.admin_api.get_active_migrations(server['id'])
self.assertEqual(1, len(migrations)) self.assertEqual(1, len(migrations))
self._wait_for_notification('instance.live_migration_post.end') self._wait_for_notification('instance.live_migration_post.end')
self.assertEqual(6, len(fake_notifier.VERSIONED_NOTIFICATIONS)) # 0. scheduler.select_destinations.start
# 1. scheduler.select_destinations.end
# 2. instance.live_migration_pre.start
# 3. instance.live_migration_pre.end
# 4. instance.live_migration_post.start
# 5. instance.live_migration_post_dest.start
# 6. instance.live_migration_post_dest.end
# 7. instance.live_migration_post.end
self.assertEqual(8, len(fake_notifier.VERSIONED_NOTIFICATIONS),
[x['event_type'] for x in
fake_notifier.VERSIONED_NOTIFICATIONS])
self._verify_notification( self._verify_notification(
'instance-live_migration_post-start', 'instance-live_migration_post-start',
replacements={ replacements={
'reservation_id': server['reservation_id'], 'reservation_id': server['reservation_id'],
'uuid': server['id']}, 'uuid': server['id']},
actual=fake_notifier.VERSIONED_NOTIFICATIONS[2]) actual=fake_notifier.VERSIONED_NOTIFICATIONS[4])
self._verify_notification( self._verify_notification(
'instance-live_migration_post_dest-start', 'instance-live_migration_post_dest-start',
replacements={ replacements={
'reservation_id': server['reservation_id'], 'reservation_id': server['reservation_id'],
'uuid': server['id']}, 'uuid': server['id']},
actual=fake_notifier.VERSIONED_NOTIFICATIONS[3]) actual=fake_notifier.VERSIONED_NOTIFICATIONS[5])
self._verify_notification( self._verify_notification(
'instance-live_migration_post_dest-end', 'instance-live_migration_post_dest-end',
replacements={ replacements={
'reservation_id': server['reservation_id'], 'reservation_id': server['reservation_id'],
'uuid': server['id']}, 'uuid': server['id']},
actual=fake_notifier.VERSIONED_NOTIFICATIONS[4]) actual=fake_notifier.VERSIONED_NOTIFICATIONS[6])
self._verify_notification( self._verify_notification(
'instance-live_migration_post-end', 'instance-live_migration_post-end',
replacements={ replacements={
'reservation_id': server['reservation_id'], 'reservation_id': server['reservation_id'],
'uuid': server['id']}, 'uuid': server['id']},
actual=fake_notifier.VERSIONED_NOTIFICATIONS[5]) actual=fake_notifier.VERSIONED_NOTIFICATIONS[7])
def _test_live_migration_abort(self, server): def _test_live_migration_abort(self, server):
post = { post = {
"os-migrateLive": { "os-migrateLive": {
"host": "host2", "host": "host2",
"block_migration": False, "block_migration": False,
"force": True
} }
} }
@@ -188,43 +205,54 @@ class TestInstanceNotificationSampleWithMultipleCompute(
# wait for the rollback to ensure we can assert both notifications # wait for the rollback to ensure we can assert both notifications
# below # below
self._wait_for_notification('instance.live_migration_rollback.end') self._wait_for_notification('instance.live_migration_rollback.end')
self.assertEqual(6, len(fake_notifier.VERSIONED_NOTIFICATIONS))
# 0. scheduler.select_destinations.start
# 1. scheduler.select_destinations.end
# 2. instance.live_migration_pre.start
# 3. instance.live_migration_pre.end
# 4. instance.live_migration_abort.start
# 5. instance.live_migration_abort.end
# 6. instance.live_migration_rollback.start
# 7. instance.live_migration_rollback.end
self.assertEqual(8, len(fake_notifier.VERSIONED_NOTIFICATIONS),
[x['event_type'] for x in
fake_notifier.VERSIONED_NOTIFICATIONS])
self._verify_notification( self._verify_notification(
'instance-live_migration_pre-start', 'instance-live_migration_pre-start',
replacements={ replacements={
'reservation_id': server['reservation_id'], 'reservation_id': server['reservation_id'],
'uuid': server['id']}, 'uuid': server['id']},
actual=fake_notifier.VERSIONED_NOTIFICATIONS[0]) actual=fake_notifier.VERSIONED_NOTIFICATIONS[2])
self._verify_notification( self._verify_notification(
'instance-live_migration_pre-end', 'instance-live_migration_pre-end',
replacements={ replacements={
'reservation_id': server['reservation_id'], 'reservation_id': server['reservation_id'],
'uuid': server['id']}, 'uuid': server['id']},
actual=fake_notifier.VERSIONED_NOTIFICATIONS[1]) actual=fake_notifier.VERSIONED_NOTIFICATIONS[3])
self._verify_notification( self._verify_notification(
'instance-live_migration_abort-start', 'instance-live_migration_abort-start',
replacements={ replacements={
'reservation_id': server['reservation_id'], 'reservation_id': server['reservation_id'],
'uuid': server['id']}, 'uuid': server['id']},
actual=fake_notifier.VERSIONED_NOTIFICATIONS[2]) actual=fake_notifier.VERSIONED_NOTIFICATIONS[4])
self._verify_notification( self._verify_notification(
'instance-live_migration_abort-end', 'instance-live_migration_abort-end',
replacements={ replacements={
'reservation_id': server['reservation_id'], 'reservation_id': server['reservation_id'],
'uuid': server['id']}, 'uuid': server['id']},
actual=fake_notifier.VERSIONED_NOTIFICATIONS[3]) actual=fake_notifier.VERSIONED_NOTIFICATIONS[5])
self._verify_notification( self._verify_notification(
'instance-live_migration_rollback-start', 'instance-live_migration_rollback-start',
replacements={ replacements={
'reservation_id': server['reservation_id'], 'reservation_id': server['reservation_id'],
'uuid': server['id']}, 'uuid': server['id']},
actual=fake_notifier.VERSIONED_NOTIFICATIONS[4]) actual=fake_notifier.VERSIONED_NOTIFICATIONS[6])
self._verify_notification( self._verify_notification(
'instance-live_migration_rollback-end', 'instance-live_migration_rollback-end',
replacements={ replacements={
'reservation_id': server['reservation_id'], 'reservation_id': server['reservation_id'],
'uuid': server['id']}, 'uuid': server['id']},
actual=fake_notifier.VERSIONED_NOTIFICATIONS[5]) actual=fake_notifier.VERSIONED_NOTIFICATIONS[7])
def _test_evacuate_server(self, server): def _test_evacuate_server(self, server):
services = self.admin_api.get_services(host='host2', services = self.admin_api.get_services(host='host2',
@@ -234,7 +262,6 @@ class TestInstanceNotificationSampleWithMultipleCompute(
evacuate = { evacuate = {
'evacuate': { 'evacuate': {
'host': 'compute', 'host': 'compute',
'force': True
} }
} }
@@ -259,7 +286,6 @@ class TestInstanceNotificationSampleWithMultipleCompute(
'os-migrateLive': { 'os-migrateLive': {
'host': 'host2', 'host': 'host2',
'block_migration': True, 'block_migration': True,
'force': False,
} }
} }
self.admin_api.post_server_action(server['id'], post) self.admin_api.post_server_action(server['id'], post)