summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAtin Mukherjee <amukherj@redhat.com>2016-11-22 19:04:54 +0530
committerAtin Mukherjee <amukherj@redhat.com>2016-11-23 04:51:06 -0800
commit4c371c2ecd432c9d6d60492bc469cf52c9bc4a96 (patch)
tree2427a0c2a1b51b181a936f3ea3cb2e1746b5263b
parent4f4229c7f76d372373c78e9b762ad6abe3a6bdc6 (diff)
glusterd: fix few events generation
This patch does the following: 1. Generate PEER_REJECT event if the peer add request is from an unknown peer during peer handshaking. 2. EVENT_COMPARE_FRIEND_VOLUME_FAILED should be generated based on status code, not ret. 3. Add EVENT_BRICKPATH_RESOLVE_FAILED event in case glusterd fails to resolve bricks, this is mainly at restore path. 4. Remove EVENT_BRICKS_START_FAILED event as we already have EVENT_BRICK_START_FAILED >Reviewed-on: http://review.gluster.org/15903 >Smoke: Gluster Build System <jenkins@build.gluster.org> >NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> >CentOS-regression: Gluster Build System <jenkins@build.gluster.org> >Reviewed-by: Samikshan Bairagya <samikshan@gmail.com> Change-Id: I90e5bc4a331166d0bb3554eb2ec9df2526837a1d BUG: 1397705 Signed-off-by: Atin Mukherjee <amukherj@redhat.com> Reviewed-on: http://review.gluster.org/15912 Smoke: Gluster Build System <jenkins@build.gluster.org> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Samikshan Bairagya <samikshan@gmail.com>
-rw-r--r--events/eventskeygen.py1
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-brick-ops.c3
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-handler.c1
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-replace-brick.c1
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-store.c8
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-utils.c11
6 files changed, 17 insertions, 8 deletions
diff --git a/events/eventskeygen.py b/events/eventskeygen.py
index d54968a1d33..23dfb478904 100644
--- a/events/eventskeygen.py
+++ b/events/eventskeygen.py
@@ -112,7 +112,6 @@ keys = (
"EVENT_BRICK_STOP_FAILED",
"EVENT_BRICK_DISCONNECTED",
"EVENT_BRICK_CONNECTED",
- "EVENT_BRICKS_START_FAILED",
"EVENT_BRICKPATH_RESOLVE_FAILED",
"EVENT_NOTIFY_UNKNOWN_OP",
"EVENT_QUORUM_LOST",
diff --git a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c
index 7bed110dce9..19db03a5201 100644
--- a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c
+++ b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c
@@ -1501,7 +1501,8 @@ glusterd_op_perform_add_bricks (glusterd_volinfo_t *volinfo, int32_t count,
ret = glusterd_resolve_brick (brickinfo);
if (ret) {
gf_msg ("glusterd", GF_LOG_ERROR, 0,
- GD_MSG_RESOLVE_BRICK_FAIL, FMTSTR_RESOLVE_BRICK,
+ GD_MSG_RESOLVE_BRICK_FAIL,
+ FMTSTR_RESOLVE_BRICK,
brickinfo->hostname, brickinfo->path);
goto out;
}
diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c
index 3fe1c8c7c03..ba927aed4ce 100644
--- a/xlators/mgmt/glusterd/src/glusterd-handler.c
+++ b/xlators/mgmt/glusterd/src/glusterd-handler.c
@@ -107,6 +107,7 @@ glusterd_handle_friend_req (rpcsvc_request_t *req, uuid_t uuid,
peerinfo = glusterd_peerinfo_find (uuid, rhost);
if (peerinfo == NULL) {
+ gf_event (EVENT_PEER_REJECT, "peer=%s", hostname);
ret = glusterd_xfer_friend_add_resp (req, hostname, rhost, port,
-1, GF_PROBE_UNKNOWN_PEER);
if (friend_req->vols.vols_val) {
diff --git a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c
index 2fb14208255..77d39c013ac 100644
--- a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c
+++ b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c
@@ -372,7 +372,6 @@ glusterd_op_perform_replace_brick (glusterd_volinfo_t *volinfo,
goto out;
ret = glusterd_resolve_brick (new_brickinfo);
-
if (ret)
goto out;
diff --git a/xlators/mgmt/glusterd/src/glusterd-store.c b/xlators/mgmt/glusterd/src/glusterd-store.c
index b529e039c97..25fe8748bc8 100644
--- a/xlators/mgmt/glusterd/src/glusterd-store.c
+++ b/xlators/mgmt/glusterd/src/glusterd-store.c
@@ -3430,6 +3430,10 @@ glusterd_resolve_snap_bricks (xlator_t *this, glusterd_snap_t *snap)
brick_list) {
ret = glusterd_resolve_brick (brickinfo);
if (ret) {
+ gf_event (EVENT_BRICKPATH_RESOLVE_FAILED,
+ "peer=%s;volume=%s;brick=%s",
+ brickinfo->hostname, volinfo->volname,
+ brickinfo->path);
gf_msg (this->name, GF_LOG_ERROR, 0,
GD_MSG_RESOLVE_BRICK_FAIL,
"resolve brick failed in restore");
@@ -4403,6 +4407,10 @@ glusterd_resolve_all_bricks (xlator_t *this)
brick_list) {
ret = glusterd_resolve_brick (brickinfo);
if (ret) {
+ gf_event (EVENT_BRICKPATH_RESOLVE_FAILED,
+ "peer=%s;volume=%s;brick=%s",
+ brickinfo->hostname, volinfo->volname,
+ brickinfo->path);
gf_msg ("glusterd", GF_LOG_ERROR, 0,
GD_MSG_RESOLVE_BRICK_FAIL,
"resolve brick failed in restore");
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
index 6f332de556e..9e4419c7247 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
@@ -2998,7 +2998,7 @@ glusterd_compare_friend_volume (dict_t *peer_data, int32_t count,
*status = GLUSTERD_VOL_COMP_SCS;
out:
- if (ret) {
+ if (*status == GLUSTERD_VOL_COMP_RJT) {
gf_event (EVENT_COMPARE_FRIEND_VOLUME_FAILED, "volume=%s",
volinfo->volname);
}
@@ -4144,10 +4144,7 @@ glusterd_import_friend_volume (dict_t *peer_data, size_t count)
}
if (glusterd_is_volume_started (new_volinfo)) {
- if (glusterd_start_bricks (new_volinfo)) {
- gf_event (EVENT_BRICKS_START_FAILED, "volume=%s",
- new_volinfo->volname);
- }
+ (void) glusterd_start_bricks (new_volinfo);
if (glusterd_is_snapd_enabled (new_volinfo)) {
svc = &(new_volinfo->snapd.svc);
if (svc->manager (svc, new_volinfo,
@@ -5922,6 +5919,10 @@ glusterd_brick_stop (glusterd_volinfo_t *volinfo,
if (gf_uuid_is_null (brickinfo->uuid)) {
ret = glusterd_resolve_brick (brickinfo);
if (ret) {
+ gf_event (EVENT_BRICKPATH_RESOLVE_FAILED,
+ "peer=%s;volume=%s;brick=%s",
+ brickinfo->hostname, volinfo->volname,
+ brickinfo->path);
gf_msg (this->name, GF_LOG_ERROR, 0,
GD_MSG_RESOLVE_BRICK_FAIL, FMTSTR_RESOLVE_BRICK,
brickinfo->hostname, brickinfo->path);