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)