summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerii Ponomarov <vponomar@redhat.com>2019-01-10 11:54:45 +0000
committerGerrit Code Review <gerrit2@gerrit.host.prod.eng.bos.redhat.com>2019-01-10 11:54:45 +0000
commitedbbe32326e3323280adb1699dac2b4ad0e166d9 (patch)
tree592c24cde22b473ab742c1546af4c5370c38ee4c
parentc2833bfc27a4377be678c3fd323193b64a0dc0bf (diff)
parent874dd8ccabd32bcf2d4cfb4a0be10db7ba1a565d (diff)
Merge "Properly skip TCs when 'additional gluster devices' not configured"
-rw-r--r--tests/functional/common/heketi/test_heketi_device_operations.py8
-rw-r--r--tests/functional/common/heketi/test_volume_expansion_and_devices.py26
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)