diff options
author | Raghavendra Bhat <raghavendra@redhat.com> | 2012-06-23 10:28:54 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-07-02 11:09:13 -0700 |
commit | 4df765df74b4406c7cce90e66c4256e3850a8c5f (patch) | |
tree | 086a66c116b55cd58f025d4464a3ca732d734127 /cli | |
parent | 4df8241e740255744deea983f5e0c63ade202409 (diff) |
glusterd, cli: handle uuid conflicts in probe gracefully
A commonly faced problem among glusterfs users is: after a fresh
installation of glusterfs in a virtual machine, the VM image is
cloned to make multiple instances of the server. This breaks
glusterd because right after glusterfs installation on the first
boot glusterd would have created the node UUID and this gets
inherited into the clone. The result is wierd behavior at the time
of peer probe where glusterd does not (yet) deal with UUID
collisions in a user friendly way.
With this patch the peer which got the probe request will compare
the uuid of the machine which send the probe request with its own
uuid and send the proper error to cli if the uuids are same.
Change-Id: I091741ec863431fb6480a09a3f4c68a0906a3339
BUG: 811493
Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
Reviewed-on: http://review.gluster.com/3612
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'cli')
-rw-r--r-- | cli/src/cli-rpc-ops.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 492be4388..a40fd4829 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -129,8 +129,8 @@ gf_cli3_1_probe_cbk (struct rpc_req *req, struct iovec *iov, break; default: snprintf (msg, sizeof (msg), - "Probe returned with unknown errno %d", - rsp.op_errno); + "Probe returned with unknown errno" + " %d", rsp.op_errno); break; } } @@ -168,7 +168,12 @@ gf_cli3_1_probe_cbk (struct rpc_req *req, struct iovec *iov, "information on %s" , rsp.hostname); break; - + case GF_PROBE_SAME_UUID: + snprintf (msg, sizeof (msg), + "Peer uuid (host: %s) is" + "same as local uuid", + rsp.hostname); + break; default: snprintf (msg, sizeof (msg), "Probe unsuccessful\nProbe " |