diff options
| author | Mohamed Ashiq Liyazudeen <mliyazud@redhat.com> | 2016-08-10 13:44:19 +0530 | 
|---|---|---|
| committer | Atin Mukherjee <amukherj@redhat.com> | 2017-09-15 12:21:36 +0000 | 
| commit | dabfc3116ae59b331f967c090c0c51eb3f0355fd (patch) | |
| tree | 1b56638f369069e6b5dd4b34a1fa8d542a5c4f56 /cli | |
| parent | 60ff7a3ef012ffca4072406f3361d14775fbf20d (diff) | |
heal: New feature heal info summary to list the status of brick and count of entries to be healed
Command output:
Brick 192.168.2.8:/brick/1
Status: Connected
Total Number of entries: 363
Number of entries in heal pending: 362
Number of entries in split-brain: 0
Number of entries possibly healing: 1
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cliOutput>
  <healInfo>
    <bricks>
      <brick hostUuid="9105dd4b-eca8-4fdb-85b2-b81cdf77eda3">
        <name>192.168.2.8:/brick/1</name>
        <status>Connected</status>
        <totalNumberOfEntries>363</numberOfEntries>
        <numberOfEntriesInHealPending>362</numberOfEntriesInHealPending>
        <numberOfEntriesInSplitBrain>0</numberOfEntriesInSplitBrain>
        <numberOfEntriesPossiblyHealing>1</numberOfEntriesPossiblyHealing>
      </brick>
    </bricks>
  </healInfo>
  <opRet>0</opRet>
  <opErrno>0</opErrno>
  <opErrstr/>
</cliOutput>
Change-Id: I40cb6f77a14131c9e41b292f4901b41a228863d7
BUG: 1261463
Signed-off-by: Mohamed Ashiq Liyazudeen <mliyazud@redhat.com>
Reviewed-on: https://review.gluster.org/12154
Smoke: Gluster Build System <jenkins@build.gluster.org>
Tested-by: Karthik U S <ksubrahm@redhat.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Diffstat (limited to 'cli')
| -rw-r--r-- | cli/src/cli-cmd-parser.c | 5 | ||||
| -rw-r--r-- | cli/src/cli-cmd-volume.c | 11 | ||||
| -rw-r--r-- | cli/src/cli-rpc-ops.c | 3 | 
3 files changed, 16 insertions, 3 deletions
diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c index 45cce7a9a79..4914425698f 100644 --- a/cli/src/cli-cmd-parser.c +++ b/cli/src/cli-cmd-parser.c @@ -3837,6 +3837,11 @@ cli_cmd_volume_heal_options_parse (const char **words, int wordcount,                                                     GF_SHD_OP_SPLIT_BRAIN_FILES);                                  goto done;                          } +                        if (!strcmp (words[4], "summary")) { +                                ret = dict_set_int32 (dict, "heal-op", +                                                   GF_SHD_OP_HEAL_SUMMARY); +                                goto done; +                        }                  }                  if (!strcmp (words[3], "statistics")) { diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c index 7bf99eb5e12..c22573e6408 100644 --- a/cli/src/cli-cmd-volume.c +++ b/cli/src/cli-cmd-volume.c @@ -2770,7 +2770,8 @@ cli_print_brick_status (cli_volume_status_t *status)                               (op == GF_SHD_OP_SBRAIN_HEAL_FROM_BRICK) ||      \                               (op == GF_SHD_OP_INDEX_SUMMARY) ||               \                               (op == GF_SHD_OP_SPLIT_BRAIN_FILES) ||           \ -                             (op == GF_SHD_OP_GRANULAR_ENTRY_HEAL_ENABLE)) +                             (op == GF_SHD_OP_GRANULAR_ENTRY_HEAL_ENABLE) || \ +                             (op == GF_SHD_OP_HEAL_SUMMARY))  int  cli_launch_glfs_heal (int heal_op, dict_t *options) @@ -2823,6 +2824,12 @@ cli_launch_glfs_heal (int heal_op, dict_t *options)          case GF_SHD_OP_GRANULAR_ENTRY_HEAL_DISABLE:                  runner_add_args (&runner, "granular-entry-heal-op", NULL);                  break; +        case GF_SHD_OP_HEAL_SUMMARY: +                runner_add_args (&runner, "info-summary", NULL); +                if (global_state->mode & GLUSTER_MODE_XML) { +                        runner_add_args (&runner, "xml", NULL); +                } +                break;          default:                  ret = -1;          } @@ -3295,7 +3302,7 @@ struct cli_cmd volume_cmds[] = {          { "volume heal <VOLNAME> [enable | disable | full |"            "statistics [heal-count [replica <HOSTNAME:BRICKNAME>]] |" -          "info [healed | heal-failed | split-brain] |" +          "info [summary | healed | heal-failed | split-brain] |"            "split-brain {bigger-file <FILE> | latest-mtime <FILE> |"                         "source-brick <HOSTNAME:BRICKNAME> [<FILE>]} |"            "granular-entry-heal {enable | disable}]", diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 1840b208431..fcb451a3c08 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -9173,11 +9173,12 @@ gf_cli_heal_volume_cbk (struct rpc_req *req, struct iovec *iov,          case    GF_SHD_OP_STATISTICS_HEAL_COUNT_PER_REPLICA:                  heal_op_str = "count of entries to be healed per replica";                  break; -        /* The below 3 cases are never hit; they're coded only to make +        /* The below 4 cases are never hit; they're coded only to make           * compiler warnings go away.*/          case    GF_SHD_OP_SBRAIN_HEAL_FROM_BIGGER_FILE:          case    GF_SHD_OP_SBRAIN_HEAL_FROM_LATEST_MTIME:          case    GF_SHD_OP_SBRAIN_HEAL_FROM_BRICK: +        case    GF_SHD_OP_HEAL_SUMMARY:                  break;          case    GF_SHD_OP_INVALID:  | 
