Tier/cli: detach status xml output

Problem: detach status xml output was broken because
of the wrong argument. The status_op sent to verify
whether it is a tier status command was as false.

Fix: the argument being passed was changed from false
to true.

Change-Id: I8cdd4dd972d6bfbb61c1182cbf4097767f83c7c5
BUG: 1446362
Signed-off-by: hari gowtham <hgowtham@redhat.com>
Reviewed-on: https://review.gluster.org/17131
Smoke: Gluster Build System <jenkins@build.gluster.org>
Tested-by: hari gowtham <hari.gowtham005@gmail.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-by: N Balachandran <nbalacha@redhat.com>
This commit is contained in:
hari gowtham 2017-04-28 00:09:50 +05:30 committed by Atin Mukherjee
parent b23bd3dbc2
commit 2592fa0409
2 changed files with 38 additions and 28 deletions

View File

@ -2481,42 +2481,43 @@ gf_cli_remove_tier_brick_cbk (struct rpc_req *req, struct iovec *iov,
(rsp.op_ret) ? "unsuccessful" : "successful");
ret = rsp.op_ret;
if (rsp.op_ret) {
if (strcmp (rsp.op_errstr, ""))
snprintf (msg, sizeof (msg), "volume tier detach %s: "
"failed: %s", cmd_str, rsp.op_errstr);
else
snprintf (msg, sizeof (msg), "volume tier detach %s: "
"failed", cmd_str);
cli_err ("%s", msg);
goto out;
} else {
cli_out ("volume detach tier %s: success", cmd_str);
if (GF_DEFRAG_CMD_DETACH_START == command &&
task_id_str != NULL)
cli_out ("ID: %s", task_id_str);
if (GF_DEFRAG_CMD_DETACH_COMMIT == command)
cli_out ("Check the detached bricks to ensure all files"
" are migrated.\nIf files with data are "
"found on the brick path, copy them via a "
"gluster mount point before re-purposing the "
"removed brick. ");
}
if (global_state->mode & GLUSTER_MODE_XML) {
ret = cli_xml_output_vol_remove_brick_detach_tier (
_gf_false, rsp_dict,
rsp.op_ret, rsp.op_errno,
msg, "volDetachTier");
_gf_true, rsp_dict,
rsp.op_ret, rsp.op_errno,
msg, "volDetachTier");
if (ret)
gf_log ("cli", GF_LOG_ERROR,
"Error outputting to xml");
goto out;
}
} else {
if (rsp.op_ret) {
if (strcmp (rsp.op_errstr, ""))
snprintf (msg, sizeof (msg), "volume tier "
"detach %s: failed: %s", cmd_str,
rsp.op_errstr);
else
snprintf (msg, sizeof (msg), "volume tier "
"detach %s: failed", cmd_str);
cli_err ("%s", msg);
goto out;
} else {
cli_out ("volume detach tier %s: success", cmd_str);
if (GF_DEFRAG_CMD_DETACH_START == command &&
task_id_str != NULL)
cli_out ("ID: %s", task_id_str);
if (GF_DEFRAG_CMD_DETACH_COMMIT == command)
cli_out ("Check the detached bricks to ensure "
"all files are migrated.\nIf files "
"with data are found on the brick "
"path, copy them via a gluster mount "
"point before re-purposing the "
"removed brick. ");
}
}
if (command == GF_DEFRAG_CMD_DETACH_STOP ||
command == GF_DEFRAG_CMD_DETACH_STATUS)
ret = gf_cli_print_rebalance_status (rsp_dict,

View File

@ -27,6 +27,11 @@ function tier_daemon_status {
| sed -n '/.*<status>\([0-9]*\).*/s//\1/p'
}
function detach_xml_status {
$CLI_1 volume tier $V0 detach status --xml | sed -n \
'/.*<opErrstr>Detach tier status successful/p' | wc -l
}
cleanup;
#setup cluster and test volume
@ -52,10 +57,14 @@ TEST ! $CLI_1 volume rebalance $V0 tier status
EXPECT "Tier command failed" $CLI_1 volume tier $V0 detach status
EXPECT "0" detach_xml_status
#after starting detach tier the detach tier status should display the status
TEST $CLI_1 volume tier $V0 detach start
EXPECT "1" detach_xml_status
EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" tier_detach_status
#kill a node