diff options
author | Valerii Ponomarov <vponomar@redhat.com> | 2019-01-10 11:54:45 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.host.prod.eng.bos.redhat.com> | 2019-01-10 11:54:45 +0000 |
commit | edbbe32326e3323280adb1699dac2b4ad0e166d9 (patch) | |
tree | 592c24cde22b473ab742c1546af4c5370c38ee4c | |
parent | c2833bfc27a4377be678c3fd323193b64a0dc0bf (diff) | |
parent | 874dd8ccabd32bcf2d4cfb4a0be10db7ba1a565d (diff) |
Merge "Properly skip TCs when 'additional gluster devices' not configured"
-rw-r--r-- | tests/functional/common/heketi/test_heketi_device_operations.py | 8 | ||||
-rw-r--r-- | tests/functional/common/heketi/test_volume_expansion_and_devices.py | 26 |
2 files changed, 27 insertions, 7 deletions
diff --git a/tests/functional/common/heketi/test_heketi_device_operations.py b/tests/functional/common/heketi/test_heketi_device_operations.py index 3fa90bc3..1c4b5457 100644 --- a/tests/functional/common/heketi/test_heketi_device_operations.py +++ b/tests/functional/common/heketi/test_heketi_device_operations.py @@ -178,8 +178,12 @@ class TestHeketiDeviceOperations(HeketiBaseClass): gluster_server_0 = g.config["gluster_servers"].values()[0] try: device_name = gluster_server_0["additional_devices"][0] - except IndexError: - self.skipTest("Additional disk is not specified for node.") + except (KeyError, IndexError): + self.skipTest( + "Additional disk is not specified for node with following " + "hostnames and IP addresses: %s, %s." % ( + gluster_server_0.get('manage', '?'), + gluster_server_0.get('storage', '?'))) manage_hostname = gluster_server_0["manage"] # Get node ID of the Gluster hostname diff --git a/tests/functional/common/heketi/test_volume_expansion_and_devices.py b/tests/functional/common/heketi/test_volume_expansion_and_devices.py index 05f39700..90574f61 100644 --- a/tests/functional/common/heketi/test_volume_expansion_and_devices.py +++ b/tests/functional/common/heketi/test_volume_expansion_and_devices.py @@ -320,6 +320,7 @@ class TestVolumeExpansionAndDevicesTestCases(HeketiBaseClass): # Prepare first 3 nodes smallest_size = None + err_msg = '' for node_id in heketi_node_id_list[0:3]: node_info = heketi_ops.heketi_node_info( h_node, h_server_url, node_id, json=True) @@ -341,6 +342,7 @@ class TestVolumeExpansionAndDevicesTestCases(HeketiBaseClass): h_node, h_server_url, device["id"]) # Gather info about additional devices + additional_device_name = None for gluster_server in self.gluster_servers: gluster_server_data = self.gluster_servers_info[gluster_server] g_manage = gluster_server_data["manage"] @@ -348,12 +350,23 @@ class TestVolumeExpansionAndDevicesTestCases(HeketiBaseClass): if not (g_manage in node_info["hostnames"]["manage"] or g_storage in node_info["hostnames"]["storage"]): continue + additional_device_name = (( + gluster_server_data.get("additional_devices") or [''])[0]) + break + + if not additional_device_name: + err_msg += ("No 'additional_devices' are configured for " + "'%s' node, which has following hostnames and " + "IP addresses: %s.\n" % ( + node_id, + ', '.join(node_info["hostnames"]["manage"] + + node_info["hostnames"]["storage"]))) + continue - heketi_ops.heketi_device_add( - h_node, h_server_url, - gluster_server_data["additional_devices"][0], node_id) - additional_devices_attached.update( - {node_id: gluster_server_data["additional_devices"][0]}) + heketi_ops.heketi_device_add( + h_node, h_server_url, additional_device_name, node_id) + additional_devices_attached.update( + {node_id: additional_device_name}) # Schedule cleanup of the added devices for node_id in additional_devices_attached.keys(): @@ -368,6 +381,9 @@ class TestVolumeExpansionAndDevicesTestCases(HeketiBaseClass): self.fail("Could not find ID for added device on " "'%s' node." % node_id) + if err_msg: + self.skipTest(err_msg) + # Temporary disable new devices self.disable_devices(additional_devices_attached) |