From 4db8c4108dcedae322ba6a3fde812e63f746d0f9 Mon Sep 17 00:00:00 2001 From: Romanos Skiadas Date: Mon, 7 Nov 2016 11:45:33 +0200 Subject: Refactor common code across tests - Move collecting test results in a method in Results class - Create a util function for asserting the environment has enough compute nodes Change-Id: Ib7b9dfab7d2e9f50d5f352d3eadba4d4717ee750 Signed-off-by: Romanos Skiadas --- test/functest/utils.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'test/functest/utils.py') diff --git a/test/functest/utils.py b/test/functest/utils.py index be08572..d416765 100644 --- a/test/functest/utils.py +++ b/test/functest/utils.py @@ -269,3 +269,20 @@ def wait_for_bgp_router_assocs(neutron_client, bgpvpn_id, *args): for id in args] # Return True if all associations succeeded return all(check) + + +def assert_and_get_compute_nodes(nova_client, required_node_number=2): + """Get the compute nodes in the deployment + + Exit if the deployment doesn't have enough compute nodes""" + compute_nodes = os_utils.get_hypervisors(nova_client) + + num_compute_nodes = len(compute_nodes) + if num_compute_nodes < 2: + logger.error("There are %s compute nodes in the deployment. " + "Minimum number of nodes to complete the test is 2." + % num_compute_nodes) + sys.exit(-1) + + logger.debug("Compute nodes: %s" % compute_nodes) + return compute_nodes -- cgit 1.2.3-korg