diff options
| author | Aravinda VK <avishwan@redhat.com> | 2013-08-30 14:37:03 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vbellur@redhat.com> | 2013-09-12 10:57:22 -0700 | 
| commit | cd7951aa31ae4bbdf35fc6d1f2466636844b889d (patch) | |
| tree | b504ffb4e6bbc24ced3809d0302180a008865756 /cli/src/cli-rpc-ops.c | |
| parent | 643533c77fd49316b7d16015fa1a008391d14bb2 (diff) | |
cli: Add statusStr xml tag to task list and rebalance/remove brick status
New xml tag statusStr added to following gluster cli commands
gluster volume status all --xml (For Task status)
gluster volume rebalance <VOLNAME> status --xml
gluster volume remove-brick <VOLNAME> <BRICK1..> status --xml
Example(volume status all):
<task>
    <type>Rebalance</type>
    <id>82d8d122-8738-4144-8507-d93fc98b61df</id>
    <status>3</status>
    <statusStr>completed</statusStr>
</task>
Example(volume rebalance <VOL> status)
<node>
    <nodeName>localhost</nodeName>
    <files>0</files>
    <size>0</size>
    <lookups>0</lookups>
    <failures>0</failures>
    <status>3</status>
    <statusStr>completed</statusStr>
</node>
Also modified task status as string instead of showing number
in gluster volume status all
Example:
Status of volume: gv1
Gluster process                                         Port    Online  Pid
------------------------------------------------------------------------------
Brick sumne.sumne:/gfs/b1                               49154   Y       15489
Brick sumne.sumne:/gfs/b2                               49155   Y       15493
NFS Server on localhost                                 N/A     N       15913
           Task                                      ID         Status
           ----                                      --         ------
      Rebalance    82d8d122-8738-4144-8507-d93fc98b61df      completed
BUG: 1003521
Change-Id: Ib283016af4c18132fb13fb33d44075782d77823c
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/5739
Reviewed-by: Kaushal M <kaushal@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'cli/src/cli-rpc-ops.c')
| -rw-r--r-- | cli/src/cli-rpc-ops.c | 41 | 
1 files changed, 22 insertions, 19 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index a773056c3de..c15e0e0862b 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -62,6 +62,13 @@ char *cli_volume_backend[] = {"",                             "Volume Group",  }; +char *cli_vol_task_status_str[] = {"not started", +                                   "in progress", +                                   "stopped", +                                   "completed", +                                   "failed", +}; +  int32_t  gf_cli_get_volume (call_frame_t *frame, xlator_t *this,                        void *data); @@ -1388,24 +1395,7 @@ gf_cli_defrag_volume_cbk (struct rpc_req *req, struct iovec *iov,                          gf_log (frame->this->name, GF_LOG_TRACE,                                  "failed to get run-time"); -                switch (status_rcd) { -                case GF_DEFRAG_STATUS_NOT_STARTED: -                        status = "not started"; -                        break; -                case GF_DEFRAG_STATUS_STARTED: -                        status = "in progress"; -                        break; -                case GF_DEFRAG_STATUS_STOPPED: -                        status = "stopped"; -                        break; -                case GF_DEFRAG_STATUS_COMPLETE: -                        status = "completed"; -                        break; -                case GF_DEFRAG_STATUS_FAILED: -                        status = "failed"; -                        break; -                } - +                status = cli_vol_task_status_str[status_rcd];                  size_str = gf_uint64_2human_readable(size);                  cli_out ("%40s %16"PRIu64 " %13s" " %13"PRIu64 " %13"PRIu64                           " %13"PRIu64 " %14s %16.2f", node_uuid, files, @@ -6347,7 +6337,20 @@ cli_print_volume_tasks (dict_t *dict) {                  if (ret)                          return; -                cli_out ("%15s%40s%15d", op, task_id_str, status); +                /* +                   Replace brick only has two states - In progress and Complete +                   Ref: xlators/mgmt/glusterd/src/glusterd-replace-brick.c +                */ +                if (!strcmp (op, "Replace brick")) { +                    if (status) { +                        status = GF_DEFRAG_STATUS_COMPLETE; +                    } else { +                        status = GF_DEFRAG_STATUS_STARTED; +                    } +                } + +                cli_out ("%15s%40s%15s", op, task_id_str, +                         cli_vol_task_status_str[status]);          }  }  | 
