Add a new test case to migrate VM with two networks
Live migrate a VM with two different networks attached
and verify connectivity
Related-prod: PRODX-48352
Change-Id: I7aa4e2b84c61c10cc7a0398742e7c33c4426d3f1
diff --git a/tempest/scenario/test_network_basic_ops.py b/tempest/scenario/test_network_basic_ops.py
index 700ad3b..085d06a 100644
--- a/tempest/scenario/test_network_basic_ops.py
+++ b/tempest/scenario/test_network_basic_ops.py
@@ -997,3 +997,43 @@
# Check ping between servers after live migration
self._check_server_connectivity(self.floating_ip_tuple.floating_ip,
server02_ip, should_connect=True)
+
+ @decorators.idempotent_id('392939d1-2a96-4985-9360-6a222373107a')
+ @testtools.skipUnless(CONF.compute_feature_enabled.live_migration,
+ 'Live migration is not available.')
+ @decorators.attr(type='slow')
+ @utils.services('compute', 'network')
+ def test_live_migrate_vm_with_two_networks(self):
+ """Live migrate a VM with two different networks.
+
+ 1. Create server1 with tenant network1 and floating IP
+ 2. Check connectivity to server1 via public and private networks
+ 3. Create tenant network 2 with server 2
+ 4. Attach the new network to the server1
+ 5. Check connectivity to server2 from server1
+ 6. Live migrate server1
+ 7. Check connectivity to server1 via networks 1 and 2
+ 8. Check connectivity to server2 from server1
+ """
+
+ self._setup_network_and_servers()
+ server1 = self.servers[0]
+ self._check_public_network_connectivity(should_connect=True)
+ self._check_network_internal_connectivity(network=self.network)
+ self._check_network_external_connectivity()
+ self._create_new_network()
+ new_server = self._create_server(self.new_net)
+ new_server_ips = [addr['addr'] for addr in
+ new_server['addresses'][self.new_net['name']]]
+
+ # Attach the new network to the server1
+ self._hotplug_server()
+ self._check_server_connectivity(self.floating_ip_tuple.floating_ip,
+ new_server_ips, should_connect=True)
+
+ # Live migrate server1 and check connectivity
+ self._live_migrate_server(server=server1)
+ self._check_network_internal_connectivity(network=self.network)
+ self._check_public_network_connectivity(should_connect=True)
+ self._check_server_connectivity(self.floating_ip_tuple.floating_ip,
+ new_server_ips, should_connect=True)