From e44d8017eccf8112e1abd8b382517157208f7eb5 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Wed, 15 Nov 2023 17:00:35 +0000 Subject: [PATCH] tests: Check for DHCP agents first in DHCP test If there are no agents with type=dhcp, the neutron-dhcp-agent service is likely not enabled on the deployment. Change-Id: I1253f35e71cf996c559f2a2d8d1d8cde6b41a519 Signed-off-by: Stephen Finucane --- .../functional/network/v2/test_network.py | 29 ++++++++++++------- .../network/v2/test_network_agent.py | 25 +++++++++------- 2 files changed, 32 insertions(+), 22 deletions(-) diff --git a/openstackclient/tests/functional/network/v2/test_network.py b/openstackclient/tests/functional/network/v2/test_network.py index 5f1e71392f..fde34c278d 100644 --- a/openstackclient/tests/functional/network/v2/test_network.py +++ b/openstackclient/tests/functional/network/v2/test_network.py @@ -323,11 +323,25 @@ class NetworkTests(common.NetworkTagTests): def test_network_dhcp_agent(self): if not self.haz_network: self.skipTest("No Network service present") + + if not self.is_extension_enabled("agent"): + self.skipTest("No dhcp_agent_scheduler extension present") + if not self.is_extension_enabled("dhcp_agent_scheduler"): self.skipTest("No dhcp_agent_scheduler extension present") + # Get DHCP Agent ID + cmd_output = self.openstack( + 'network agent list --agent-type dhcp', + parse_output=True, + ) + if not cmd_output: + self.skipTest("No agents with type=dhcp available") + + agent_id = cmd_output[0]['ID'] + name1 = uuid.uuid4().hex - cmd_output1 = self.openstack( + cmd_output = self.openstack( 'network create --description aaaa %s' % name1, parse_output=True, ) @@ -335,14 +349,7 @@ class NetworkTests(common.NetworkTagTests): self.addCleanup(self.openstack, 'network delete %s' % name1) # Get network ID - network_id = cmd_output1['id'] - - # Get DHCP Agent ID - cmd_output2 = self.openstack( - 'network agent list --agent-type dhcp', - parse_output=True, - ) - agent_id = cmd_output2[0]['ID'] + network_id = cmd_output['id'] # Add Agent to Network self.openstack( @@ -350,7 +357,7 @@ class NetworkTests(common.NetworkTagTests): ) # Test network list --agent - cmd_output3 = self.openstack( + cmd_output = self.openstack( 'network list --agent %s' % agent_id, parse_output=True, ) @@ -363,7 +370,7 @@ class NetworkTests(common.NetworkTagTests): ) # Assert - col_name = [x["ID"] for x in cmd_output3] + col_name = [x["ID"] for x in cmd_output] self.assertIn(network_id, col_name) def test_network_set(self): diff --git a/openstackclient/tests/functional/network/v2/test_network_agent.py b/openstackclient/tests/functional/network/v2/test_network_agent.py index 3cfb26ac35..38697905f1 100644 --- a/openstackclient/tests/functional/network/v2/test_network_agent.py +++ b/openstackclient/tests/functional/network/v2/test_network_agent.py @@ -88,8 +88,18 @@ class NetworkAgentListTests(common.NetworkTests): if not self.is_extension_enabled("dhcp_agent_scheduler"): self.skipTest("No dhcp_agent_scheduler extension present") + # Get DHCP Agent ID + cmd_output = self.openstack( + 'network agent list --agent-type dhcp', + parse_output=True, + ) + if not cmd_output: + self.skipTest("No agents with type=dhcp available") + + agent_id = cmd_output[0]['ID'] + name1 = uuid.uuid4().hex - cmd_output1 = self.openstack( + cmd_output = self.openstack( 'network create --description aaaa %s' % name1, parse_output=True, ) @@ -97,14 +107,7 @@ class NetworkAgentListTests(common.NetworkTests): self.addCleanup(self.openstack, 'network delete %s' % name1) # Get network ID - network_id = cmd_output1['id'] - - # Get DHCP Agent ID - cmd_output2 = self.openstack( - 'network agent list --agent-type dhcp', - parse_output=True, - ) - agent_id = cmd_output2[0]['ID'] + network_id = cmd_output['id'] # Add Agent to Network self.openstack( @@ -112,7 +115,7 @@ class NetworkAgentListTests(common.NetworkTests): ) # Test network agent list --network - cmd_output3 = self.openstack( + cmd_output = self.openstack( 'network agent list --network %s' % network_id, parse_output=True, ) @@ -125,7 +128,7 @@ class NetworkAgentListTests(common.NetworkTests): ) # Assert - col_name = [x["ID"] for x in cmd_output3] + col_name = [x["ID"] for x in cmd_output] self.assertIn(agent_id, col_name) def test_network_agent_list_routers(self):