diff options
| -rw-r--r-- | cli/src/cli-rpc-ops.c | 57 | ||||
| -rw-r--r-- | tests/basic/tier/new-tier-cmds.t | 9 | 
2 files changed, 38 insertions, 28 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index b7c40875253..bb7c3474878 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -2535,42 +2535,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, diff --git a/tests/basic/tier/new-tier-cmds.t b/tests/basic/tier/new-tier-cmds.t index 3c16154265d..d341e62dc51 100644 --- a/tests/basic/tier/new-tier-cmds.t +++ b/tests/basic/tier/new-tier-cmds.t @@ -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  | 
