summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVenkatesh Somyajulu <vsomyaju@redhat.com>2013-06-19 17:54:31 +0530
committerVijay Bellur <vbellur@redhat.com>2013-07-04 05:25:31 -0700
commitb3cc22184452824d436903baa62635acee739c50 (patch)
treeb2c96e65f578148c7fe3cec2dd596044667067e1
parent98f62a731ca13296b937bfff14d0a2f8dfc49a54 (diff)
cli: Fix remove brick cli out for wrong volume name
Problem: gluster volume remove-brick command, was not printing the error in case of volume-name specified is wrong. Fix: Fix will print error message to indicate that provided volume name is invalid. Although patch for bug 961669 http://review.gluster.org/#/c/4975/ does print cli-output now, but still xml is unable to use the response values Change-Id: I2ee1df86c1e756fb8e93b4d6bbdd102b4f368f87 BUG: 961307 Signed-off-by: Venkatesh Somyajulu <vsomyaju@redhat.com> Reviewed-on: http://review.gluster.org/4972 Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
-rw-r--r--cli/src/cli-rpc-ops.c9
-rw-r--r--tests/bugs/bug-961307.t32
2 files changed, 35 insertions, 6 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c
index d5256f12..5ae4cfbc 100644
--- a/cli/src/cli-rpc-ops.c
+++ b/cli/src/cli-rpc-ops.c
@@ -1976,9 +1976,6 @@ gf_cli_remove_brick_cbk (struct rpc_req *req, struct iovec *iov,
if (ret) {
gf_log ("cli", GF_LOG_ERROR,
"remove-brick-id is not present in dict");
- cli_err ("volume remove-brick %s: failed: %s", cmd_str,
- rsp.op_errstr);
- goto out;
}
break;
case GF_OP_CMD_COMMIT:
@@ -2003,7 +2000,7 @@ gf_cli_remove_brick_cbk (struct rpc_req *req, struct iovec *iov,
if (global_state->mode & GLUSTER_MODE_XML) {
ret = cli_xml_output_vol_remove_brick (_gf_false, rsp_dict,
rsp.op_ret, rsp.op_errno,
- rsp.op_errstr);
+ msg);
if (ret)
gf_log ("cli", GF_LOG_ERROR,
"Error outputting to xml");
@@ -2012,10 +2009,10 @@ gf_cli_remove_brick_cbk (struct rpc_req *req, struct iovec *iov,
if (rsp.op_ret) {
cli_err ("volume remove-brick %s: failed: %s", cmd_str,
- rsp.op_errstr);
+ msg);
} else {
cli_out ("volume remove-brick %s: success", cmd_str);
- if (GF_OP_CMD_START == cmd)
+ if (GF_OP_CMD_START == cmd && task_id_str != NULL)
cli_out ("ID: %s", task_id_str);
}
diff --git a/tests/bugs/bug-961307.t b/tests/bugs/bug-961307.t
new file mode 100644
index 00000000..96e93a56
--- /dev/null
+++ b/tests/bugs/bug-961307.t
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+. $(dirname $0)/../include.rc
+. $(dirname $0)/../volume.rc
+
+cleanup;
+
+REPLICA=2
+
+TEST glusterd
+TEST pidof glusterd
+
+TEST $CLI volume create $V0 replica $REPLICA $H0:$B0/${V0}-00 $H0:$B0/${V0}-01 $H0:$B0/${V0}-10 $H0:$B0/${V0}-11
+TEST $CLI volume start $V0
+
+var1=$(gluster volume remove-brick $H0:$B0/${V0}-00 $H0:$B0/${V0}-01 start 2>&1)
+var2="volume remove-brick start: failed: Volume $H0:$B0/${V0}-00 does not exist"
+
+
+function compare_string()
+{
+ val="-1"
+ if [ "$1" == "$2" ]; then
+ val="0"
+ else
+ val="1"
+ fi
+ echo $val
+}
+
+EXPECT 0 compare_string "$var1" "$var2"
+cleanup;