diff options
| author | Venkatesh Somyajulu <vsomyaju@redhat.com> | 2013-06-19 17:54:31 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vbellur@redhat.com> | 2013-07-04 05:25:31 -0700 | 
| commit | b3cc22184452824d436903baa62635acee739c50 (patch) | |
| tree | b2c96e65f578148c7fe3cec2dd596044667067e1 | |
| parent | 98f62a731ca13296b937bfff14d0a2f8dfc49a54 (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.c | 9 | ||||
| -rw-r--r-- | tests/bugs/bug-961307.t | 32 | 
2 files changed, 35 insertions, 6 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index d5256f128..5ae4cfbc8 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 000000000..96e93a56f --- /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;  | 
