summaryrefslogtreecommitdiffstats
path: root/cns-libs/cnslibs/common/heketi_ops.py
diff options
context:
space:
mode:
authorValerii Ponomarov <vponomar@redhat.com>2018-09-13 17:53:53 +0530
committerValerii Ponomarov <vponomar@redhat.com>2018-09-17 18:46:36 +0530
commit430560d058014468f5ed7bbe9c80212db5ec9414 (patch)
tree50b623108f18fd2a8eec8fb04bce8b8f6e2c021e /cns-libs/cnslibs/common/heketi_ops.py
parent77a65dab844055fef3a043d40dc3b35f71a7d84f (diff)
Refactor 'test_disabling_device' test module
The single test in this module passes only in small amount of Heketi cluster states. So, refactor it completely to be reliable making it fail only on proper errors. Change-Id: I29251d4265ec5916d41bd3d69e21492f89097337
Diffstat (limited to 'cns-libs/cnslibs/common/heketi_ops.py')
-rw-r--r--cns-libs/cnslibs/common/heketi_ops.py44
1 files changed, 22 insertions, 22 deletions
diff --git a/cns-libs/cnslibs/common/heketi_ops.py b/cns-libs/cnslibs/common/heketi_ops.py
index 8c090586..9b1b29e3 100644
--- a/cns-libs/cnslibs/common/heketi_ops.py
+++ b/cns-libs/cnslibs/common/heketi_ops.py
@@ -443,8 +443,9 @@ def heketi_volume_create(heketi_client_node, heketi_server_url, size,
Returns:
dict: volume create info on success, only cli option is specified
without --json option, then it returns raw string output.
- False otherwise
Tuple (ret, out, err): if raw_cli_output is True
+ Raises:
+ exceptions.ExecutionError when error occurs and raw_cli_output is False
Example:
heketi_volume_create(heketi_client_node, heketi_server_url, size)
@@ -498,6 +499,7 @@ def heketi_volume_create(heketi_client_node, heketi_server_url, size,
secret_arg = "--secret %s" % kwargs.get("secret") if kwargs.get("secret") else ""
user_arg = "--user %s" % kwargs.get("user") if kwargs.get("user") else ""
+ err_msg = "Failed to create volume. "
if mode == 'cli':
cmd = ("heketi-cli -s %s volume create --size=%s %s %s %s %s %s %s "
"%s %s %s %s %s %s %s %s %s %s"
@@ -514,8 +516,9 @@ def heketi_volume_create(heketi_client_node, heketi_server_url, size,
return ret, out, err
if ret != 0:
- g.log.error("Failed to create volume using heketi")
- return False
+ err_msg += "Out: %s \n Err: %s" % (out, err)
+ g.log.error(err_msg)
+ raise exceptions.ExecutionError(err_msg)
if json_arg:
vol_created_info = json.loads(out)
@@ -530,9 +533,9 @@ def heketi_volume_create(heketi_client_node, heketi_server_url, size,
admin_key = kwargs.pop('secret', 'My Secret')
conn = HeketiClient(heketi_server_url, user, admin_key)
volume_create_info = conn.volume_create(kwargs)
- except:
- g.log.error("Failed to create volume using heketi")
- return False
+ except Exception:
+ g.log.error(err_msg)
+ raise
g.log.info("Volume creation is successful using heketi")
return volume_create_info
@@ -691,30 +694,27 @@ def heketi_volume_delete(heketi_client_node, heketi_server_url, volume_id,
Returns:
str: volume delete command output on success
- False on failure
Tuple (ret, out, err): if raw_cli_output is True
+ Raises:
+ exceptions.ExecutionError when error occurs and raw_cli_output is False
Example:
heketi_volume_delete(heketi_client_node, heketi_server_url, volume_id)
"""
- (heketi_server_url,
- json_arg, admin_key, user) = _set_heketi_global_flags(heketi_server_url,
- **kwargs)
-
+ heketi_server_url, json_arg, admin_key, user = _set_heketi_global_flags(
+ heketi_server_url, **kwargs)
+ err_msg = "Failed to delete '%s' volume. " % volume_id
if mode == 'cli':
- cmd = ("heketi-cli -s %s volume delete %s %s %s %s"
- % (heketi_server_url, volume_id, json_arg, admin_key, user))
-
+ cmd = "heketi-cli -s %s volume delete %s %s %s %s" % (
+ heketi_server_url, volume_id, json_arg, admin_key, user)
ret, out, err = g.run(heketi_client_node, cmd)
-
if raw_cli_output:
return ret, out, err
-
if ret != 0:
- g.log.error("Failed to execute heketi-cli volume delete command")
- return False
-
+ err_msg += "Out: %s, \nErr: %s" % (out, err)
+ g.log.error(err_msg)
+ raise exceptions.ExecutionError(err_msg)
return out
else:
try:
@@ -722,9 +722,9 @@ def heketi_volume_delete(heketi_client_node, heketi_server_url, volume_id,
admin_key = admin_key.split('t ')[-1] if admin_key else admin_key
conn = HeketiClient(heketi_server_url, user, admin_key)
ret = conn.volume_delete(volume_id)
- except:
- g.log.error("Failed to do volume delete using heketi")
- return False
+ except Exception:
+ g.log.error(err_msg)
+ raise
return ret