Check project connectivity on port admin state
Ensure connectivity between two Nova instances on same project network is
stopped when setting instance port admin_state_up=False.
Change-Id: Icef7f9b7cb79d8ab0be069b16cb801856bb9b922
diff --git a/tempest/scenario/test_network_basic_ops.py b/tempest/scenario/test_network_basic_ops.py
index af313a5..b0a3207 100644
--- a/tempest/scenario/test_network_basic_ops.py
+++ b/tempest/scenario/test_network_basic_ops.py
@@ -617,29 +617,44 @@
def test_update_instance_port_admin_state(self):
"""Test to update admin_state_up attribute of instance port
- 1. Check public connectivity before updating
+ 1. Check public and project connectivity before updating
admin_state_up attribute of instance port to False
- 2. Check public connectivity after updating
+ 2. Check public and project connectivity after updating
admin_state_up attribute of instance port to False
- 3. Check public connectivity after updating
+ 3. Check public and project connectivity after updating
admin_state_up attribute of instance port to True
"""
self._setup_network_and_servers()
floating_ip, server = self.floating_ip_tuple
server_id = server['id']
port_id = self._list_ports(device_id=server_id)[0]['id']
+ server_pip = server['addresses'][self.network['name']][0]['addr']
+
+ server2 = self._create_server(self.network)
+ server2_fip = self.create_floating_ip(server2)
+
+ private_key = self._get_server_key(server2)
+ ssh_client = self.get_remote_client(server2_fip['floating_ip_address'],
+ private_key=private_key)
+
self.check_public_network_connectivity(
should_connect=True, msg="before updating "
"admin_state_up of instance port to False")
+ self._check_remote_connectivity(ssh_client, dest=server_pip,
+ should_succeed=True)
self.ports_client.update_port(port_id, admin_state_up=False)
self.check_public_network_connectivity(
should_connect=False, msg="after updating "
"admin_state_up of instance port to False",
should_check_floating_ip_status=False)
+ self._check_remote_connectivity(ssh_client, dest=server_pip,
+ should_succeed=False)
self.ports_client.update_port(port_id, admin_state_up=True)
self.check_public_network_connectivity(
should_connect=True, msg="after updating "
"admin_state_up of instance port to True")
+ self._check_remote_connectivity(ssh_client, dest=server_pip,
+ should_succeed=True)
@test.idempotent_id('759462e1-8535-46b0-ab3a-33aa45c55aaa')
@test.services('compute', 'network')