diff --git a/whitebox_neutron_tempest_plugin/tests/scenario/test_qos.py b/whitebox_neutron_tempest_plugin/tests/scenario/test_qos.py index b954b69..7f4b829 100644 --- a/whitebox_neutron_tempest_plugin/tests/scenario/test_qos.py +++ b/whitebox_neutron_tempest_plugin/tests/scenario/test_qos.py @@ -796,9 +796,12 @@ class QosBaseTest(test_qos.QoSTestMixin, base.TrafficFlowTest): block_migration = (CONF.compute_feature_enabled. block_migration_for_live_migration) + vm_host = { + 'sender': self.get_host_for_server( + vms['sender']['id']).split('.')[0], + 'receiver': self.get_host_for_server( + vms['receiver']['id']).split('.')[0]} for role in 'sender', 'receiver': - vms_host = self.get_host_for_server( - vms[role]['id']).split('.')[0] if migration_method == 'cold-migration': self.os_admin.servers_client.migrate_server(vms[role]['id']) waiters.wait_for_server_status(self.os_admin.servers_client, @@ -818,19 +821,22 @@ class QosBaseTest(test_qos.QoSTestMixin, base.TrafficFlowTest): % migration_method) self.wait_for_server_active(vms[role]) - vms_new_host = self.get_host_for_server( + vm_new_host = self.get_host_for_server( vms[role]['id']).split('.')[0] - self.assertNotEqual(vms_host, vms_new_host, + self.assertNotEqual(vm_host[role], vm_new_host, '%s vm did not migrate' % role) + vm_host[role] = vm_new_host LOG.debug("Validating server '%s'", role) # Validate that traffic that reach destination host is still marked self._validate_traffic_marked( dscp_mark, vms['sender'], vms['receiver']) - # Make sure that bw limit still works after migration - self._validate_bw_limit( - bw_limit=max_kbps * 1000, client=vms['sender'], - server=vms['receiver']) + # Make sure that bw limit still works after migration, but only if + # sender VM and receiver VM are in different hosts. + if vm_host['sender'] != vm_host['receiver']: + self._validate_bw_limit( + bw_limit=max_kbps * 1000, client=vms['sender'], + server=vms['receiver']) def _check_dscp_inheritance(self): src_server, dst_server = self._create_vms_by_topology(ipv6=True)