diff options
author | Raghavendra Bhat <raghavendra@redhat.com> | 2014-06-19 15:51:39 +0530 |
---|---|---|
committer | Kaushal M <kaushal@redhat.com> | 2014-06-30 22:30:58 -0700 |
commit | c6f040524d75011c44dcc9afdfef80c60c78f7f7 (patch) | |
tree | 8c1dd960693a98e07088d7026c7e98b7d8b8c8c2 /xlators/mgmt/glusterd/src/glusterd-utils.c | |
parent | 2417de9c37d83e36567551dc682bb23f851fd2d7 (diff) |
mgmt/glusterd: display snapd status as part of volume status
* Made changes to save the port used by snapd in the info file for the volume
i.e. <glusterd-working-directory>/vols/<volname>/info
This is how the gluster volume status of a volume would look like for which the
uss feature is enabled.
[root@tatooine ~]# gluster volume status vol
Status of volume: vol
Gluster process Port Online Pid
------------------------------------------------------------------------------
Brick tatooine:/export1/vol 49155 Y 5041
Snapshot Daemon on localhost 49156 Y 5080
NFS Server on localhost 2049 Y 5087
Task Status of Volume vol
------------------------------------------------------------------------------
There are no active volume tasks
Change-Id: I8f3e5d7d764a728497c2a5279a07486317bd7c6d
BUG: 1111041
Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
Reviewed-on: http://review.gluster.org/8114
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 67 |
1 files changed, 66 insertions, 1 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index 6ff444862a4..04a2e62ee65 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -5781,6 +5781,7 @@ glusterd_pending_node_get_rpc (glusterd_pending_node_t *pending_node) glusterd_volinfo_t *volinfo = NULL; nodesrv_t *nfs = NULL; nodesrv_t *quotad = NULL; + glusterd_snapd_t *snapd = NULL; GF_VALIDATE_OR_GOTO (THIS->name, pending_node, out); GF_VALIDATE_OR_GOTO (THIS->name, pending_node->node, out); @@ -5805,7 +5806,9 @@ glusterd_pending_node_get_rpc (glusterd_pending_node_t *pending_node) } else if (pending_node->type == GD_NODE_QUOTAD) { quotad = pending_node->node; rpc = quotad->rpc; - + } else if (pending_node->type == GD_NODE_SNAPD) { + snapd = pending_node->node; + rpc = quotad->rpc; } else { GF_ASSERT (0); } @@ -7495,6 +7498,67 @@ out: } int32_t +glusterd_add_snapd_to_dict (glusterd_volinfo_t *volinfo, + dict_t *dict, int32_t count) +{ + + int ret = -1; + int32_t pid = -1; + int32_t brick_online = -1; + char key[1024] = {0}; + char base_key[1024] = {0}; + char pidfile[PATH_MAX] = {0}; + xlator_t *this = NULL; + glusterd_conf_t *priv = NULL; + + + GF_ASSERT (volinfo); + GF_ASSERT (dict); + + this = THIS; + GF_ASSERT (this); + + priv = this->private; + + snprintf (base_key, sizeof (base_key), "brick%d", count); + snprintf (key, sizeof (key), "%s.hostname", base_key); + ret = dict_set_str (dict, key, "Snap Daemon"); + if (ret) + goto out; + + snprintf (key, sizeof (key), "%s.path", base_key); + ret = dict_set_dynstr (dict, key, gf_strdup (uuid_utoa (MY_UUID))); + if (ret) + goto out; + + memset (key, 0, sizeof (key)); + snprintf (key, sizeof (key), "%s.port", base_key); + ret = dict_set_int32 (dict, key, volinfo->snapd.port); + if (ret) + goto out; + + glusterd_get_snapd_pidfile (volinfo, pidfile, sizeof (pidfile)); + + brick_online = gf_is_service_running (pidfile, &pid); + + memset (key, 0, sizeof (key)); + snprintf (key, sizeof (key), "%s.pid", base_key); + ret = dict_set_int32 (dict, key, pid); + if (ret) + goto out; + + memset (key, 0, sizeof (key)); + snprintf (key, sizeof (key), "%s.status", base_key); + ret = dict_set_int32 (dict, key, brick_online); + +out: + if (ret) + gf_log (this->name, GF_LOG_DEBUG, "Returning %d", ret); + + return ret; +} + +int32_t glusterd_get_all_volnames (dict_t *dict) { int ret = -1; @@ -13497,6 +13561,7 @@ glusterd_handle_snapd_option (glusterd_volinfo_t *volinfo) volinfo->volname); goto out; } + volinfo->snapd.port = 0; } out: |