diff options
author | mandaltapesh <tmandal@redhat.com> | 2017-12-21 12:45:36 +0530 |
---|---|---|
committer | Tapesh Mandal <tmandal@redhat.com> | 2018-01-11 12:34:37 +0000 |
commit | 993cc40e8e79e9a09114286d018660c98a336ac0 (patch) | |
tree | f5e2d5ef40b81c06806d0d13a58de7bce0796f70 | |
parent | b627cd9eb0289a0d3e261b6f83cb9c1bf7d98313 (diff) |
raw_cli_output option for volume and device related methods
It is a requirement for validating negative testcases.
The message helps in determining whether the failure
is due to a desired/valid reason.
Change-Id: I618ba9a88756fc9970341f632eac827bdb5a6f66
Signed-off-by: mandaltapesh <tmandal@redhat.com>
-rw-r--r-- | cns-libs/cnslibs/common/heketi_ops.py | 113 |
1 files changed, 89 insertions, 24 deletions
diff --git a/cns-libs/cnslibs/common/heketi_ops.py b/cns-libs/cnslibs/common/heketi_ops.py index 5b356991..e11e7521 100644 --- a/cns-libs/cnslibs/common/heketi_ops.py +++ b/cns-libs/cnslibs/common/heketi_ops.py @@ -395,7 +395,7 @@ def heketi_topology_load(heketi_client_node, heketi_server_url, def heketi_volume_create(heketi_client_node, heketi_server_url, size, - mode='cli', **kwargs): + mode='cli', raw_cli_output=False, **kwargs): """Creates heketi volume with the given user options Args: @@ -430,6 +430,7 @@ def heketi_volume_create(heketi_client_node, heketi_server_url, size, 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 Example: heketi_volume_create(heketi_client_node, heketi_server_url, size) @@ -485,7 +486,11 @@ def heketi_volume_create(heketi_client_node, heketi_server_url, size, persistent_volume_file_arg, redundancy_arg, replica_arg, snapshot_factor_arg, json_arg, secret_arg, user_arg)) - ret, out, _ = g.run(heketi_client_node, cmd) + 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 create volume using heketi") return False @@ -514,7 +519,7 @@ def heketi_volume_create(heketi_client_node, heketi_server_url, size, def heketi_volume_info(heketi_client_node, heketi_server_url, volume_id, - mode='cli', **kwargs): + mode='cli', raw_cli_output=False, **kwargs): """Executes heketi volume info command. Args: @@ -534,6 +539,7 @@ def heketi_volume_info(heketi_client_node, heketi_server_url, volume_id, Returns: dict: volume info on success False: in case of failure + Tuple (ret, out, err): if raw_cli_output is True Example: heketi_volume_info(heketi_client_node, volume_id) @@ -545,7 +551,11 @@ def heketi_volume_info(heketi_client_node, heketi_server_url, volume_id, if mode == 'cli': cmd = ("heketi-cli -s %s volume info %s %s %s %s" % (heketi_server_url, volume_id, json_arg, admin_key, user)) - ret, out, _ = g.run(heketi_client_node, cmd) + 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 info command") return False @@ -568,7 +578,9 @@ def heketi_volume_info(heketi_client_node, heketi_server_url, volume_id, def heketi_volume_expand(heketi_client_node, heketi_server_url, volume_id, - expand_size, mode='cli', **kwargs): + expand_size, mode='cli', raw_cli_output=False, + **kwargs): + """Executes heketi volume expand Args: @@ -590,6 +602,7 @@ def heketi_volume_expand(heketi_client_node, heketi_server_url, volume_id, dict: volume expand 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 Example: heketi_volume_expand(heketi_client_node, heketi_server_url, volume_id, @@ -606,7 +619,11 @@ def heketi_volume_expand(heketi_client_node, heketi_server_url, volume_id, % (heketi_server_url, volume_id, expand_size, json_arg, admin_key, user)) - ret, out, _ = g.run(heketi_client_node, cmd) + 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 expand command") return False @@ -631,7 +648,7 @@ def heketi_volume_expand(heketi_client_node, heketi_server_url, volume_id, def heketi_volume_delete(heketi_client_node, heketi_server_url, volume_id, - mode='cli', **kwargs): + mode='cli', raw_cli_output=False, **kwargs): """Executes heketi volume delete command. Args: @@ -651,6 +668,7 @@ 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 Example: heketi_volume_delete(heketi_client_node, heketi_server_url, volume_id) @@ -664,7 +682,11 @@ def heketi_volume_delete(heketi_client_node, heketi_server_url, volume_id, cmd = ("heketi-cli -s %s volume delete %s %s %s %s" % (heketi_server_url, volume_id, json_arg, admin_key, user)) - ret, out, _ = g.run(heketi_client_node, cmd) + 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 @@ -681,7 +703,7 @@ def heketi_volume_delete(heketi_client_node, heketi_server_url, volume_id, def heketi_volume_list(heketi_client_node, heketi_server_url, mode='cli', - **kwargs): + raw_cli_output=False, **kwargs): """Executes heketi volume list command. Args: @@ -701,6 +723,7 @@ def heketi_volume_list(heketi_client_node, heketi_server_url, mode='cli', dict: volume list with --json on success, if cli option is specified without --json option or with url, it returns raw string output. False otherwise + Tuple (ret, out, err): if raw_cli_output is True Example: heketi_volume_info(heketi_client_node, heketi_server_url) @@ -712,7 +735,11 @@ def heketi_volume_list(heketi_client_node, heketi_server_url, mode='cli', if mode == 'cli': cmd = ("heketi-cli -s %s volume list %s %s %s" % (heketi_server_url, json_arg, admin_key, user)) - ret, out, _ = g.run(heketi_client_node, cmd) + 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 list command") return False @@ -733,7 +760,9 @@ def heketi_volume_list(heketi_client_node, heketi_server_url, mode='cli', return volume_list -def heketi_topology_info(heketi_client_node, heketi_server_url, **kwargs): +def heketi_topology_info(heketi_client_node, heketi_server_url, + raw_cli_output=False, **kwargs): + """Executes heketi topology info command. Args: @@ -753,6 +782,7 @@ def heketi_topology_info(heketi_client_node, heketi_server_url, **kwargs): dict: topology info if --json option is specified. If only cli option is specified, raw command output is returned on success. False, otherwise + Tuple (ret, out, err): if raw_cli_output is True Example: heketi_topology_info(heketi_client_node, heketi_server_url) @@ -764,7 +794,11 @@ def heketi_topology_info(heketi_client_node, heketi_server_url, **kwargs): cmd = ("heketi-cli -s %s topology info %s %s %s" % (heketi_server_url, json_arg, admin_key, user)) - ret, out, _ = g.run(heketi_client_node, cmd) + 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 topology info command") return False @@ -1058,7 +1092,8 @@ def heketi_cluster_list(heketi_client_node, heketi_server_url, mode='cli', def heketi_device_add(heketi_client_node, heketi_server_url, device_name, - node_id, mode='cli', **kwargs): + node_id, mode='cli', raw_cli_output=False, **kwargs): + """Executes heketi device add command. Args: @@ -1080,6 +1115,7 @@ def heketi_device_add(heketi_client_node, heketi_server_url, device_name, str: heketi device add command output on success. If mode='url' return True. False on failure + Tuple (ret, out, err): if raw_cli_output is True Example: heketi_device_add(heketi_client_node, heketi_server_url, device_name, @@ -1096,7 +1132,11 @@ def heketi_device_add(heketi_client_node, heketi_server_url, device_name, % (heketi_server_url, device_name, node_id, json_arg, admin_key, user)) - ret, out, _ = g.run(heketi_client_node, cmd) + 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 device add command") return False @@ -1116,7 +1156,7 @@ def heketi_device_add(heketi_client_node, heketi_server_url, device_name, def heketi_device_delete(heketi_client_node, heketi_server_url, device_id, - mode='cli', **kwargs): + mode='cli', raw_cli_output=False, **kwargs): """Executes heketi device delete command. Args: @@ -1137,6 +1177,7 @@ def heketi_device_delete(heketi_client_node, heketi_server_url, device_id, str: heketi device delete command output on success. If mode='url' return True. False on failure + Tuple (ret, out, err): if raw_cli_output is True Example: heketi_device_delete(heketi_client_node, heketi_server_url, device_id) @@ -1152,7 +1193,11 @@ def heketi_device_delete(heketi_client_node, heketi_server_url, device_id, % (heketi_server_url, device_id, json_arg, admin_key, user)) - ret, out, _ = g.run(heketi_client_node, cmd) + 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 device delete command") return False @@ -1169,7 +1214,7 @@ def heketi_device_delete(heketi_client_node, heketi_server_url, device_id, def heketi_device_disable(heketi_client_node, heketi_server_url, device_id, - mode='cli', **kwargs): + mode='cli', raw_cli_output=False, **kwargs): """Executes heketi-cli device disable command. Args: @@ -1190,6 +1235,7 @@ def heketi_device_disable(heketi_client_node, heketi_server_url, device_id, str: heketi device disable command output on success. If mode='url' return True. False on failure + Tuple (ret, out, err): if raw_cli_output is True Example: heketi_device_disable(heketi_client_node, heketi_server_url, device_id) @@ -1205,7 +1251,11 @@ def heketi_device_disable(heketi_client_node, heketi_server_url, device_id, % (heketi_server_url, device_id, json_arg, admin_key, user)) - ret, out, _ = g.run(heketi_client_node, cmd) + 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 device disable command") return False @@ -1222,7 +1272,7 @@ def heketi_device_disable(heketi_client_node, heketi_server_url, device_id, def heketi_device_enable(heketi_client_node, heketi_server_url, device_id, - mode='cli', **kwargs): + mode='cli', raw_cli_output=False, **kwargs): """Executes heketi-cli device enable command. Args: @@ -1243,6 +1293,7 @@ def heketi_device_enable(heketi_client_node, heketi_server_url, device_id, str: heketi device enable command output on success. If mode='url' return True. False on failure + Tuple (ret, out, err): if raw_cli_output is True Example: heketi_device_enable(heketi_client_node, heketi_server_url, device_id) @@ -1258,7 +1309,11 @@ def heketi_device_enable(heketi_client_node, heketi_server_url, device_id, % (heketi_server_url, device_id, json_arg, admin_key, user)) - ret, out, _ = g.run(heketi_client_node, cmd) + 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 device enable command") return False @@ -1275,7 +1330,7 @@ def heketi_device_enable(heketi_client_node, heketi_server_url, device_id, def heketi_device_info(heketi_client_node, heketi_server_url, device_id, - mode='cli', **kwargs): + mode='cli', raw_cli_output=False, **kwargs): """Executes heketi device info command. Args: @@ -1296,6 +1351,7 @@ def heketi_device_info(heketi_client_node, heketi_server_url, device_id, dict: device info on success, if mode='cli' without json, then it returns raw output in string format. False: in case of failure + Tuple (ret, out, err): if raw_cli_output is True Example: heketi_device_info(heketi_client_node, heketi_server_url, device_id) @@ -1307,7 +1363,11 @@ def heketi_device_info(heketi_client_node, heketi_server_url, device_id, if mode == 'cli': cmd = ("heketi-cli -s %s device info %s %s %s %s" % (heketi_server_url, device_id, json_arg, admin_key, user)) - ret, out, _ = g.run(heketi_client_node, cmd) + 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 device info command") return False @@ -1328,7 +1388,7 @@ def heketi_device_info(heketi_client_node, heketi_server_url, device_id, def heketi_device_remove(heketi_client_node, heketi_server_url, device_id, - mode='cli', **kwargs): + mode='cli', raw_cli_output=False, **kwargs): """Executes heketi-cli device remove command. Args: @@ -1349,6 +1409,7 @@ def heketi_device_remove(heketi_client_node, heketi_server_url, device_id, str: heketi device remove command output on success. If mode='url' return True. False on failure + Tuple (ret, out, err): if raw_cli_output is True Example: heketi_device_remove(heketi_client_node, heketi_server_url, device_id) @@ -1364,7 +1425,11 @@ def heketi_device_remove(heketi_client_node, heketi_server_url, device_id, % (heketi_server_url, device_id, json_arg, admin_key, user)) - ret, out, _ = g.run(heketi_client_node, cmd) + 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 device remove command") return False |