diff options
| author | Avra Sengupta <asengupt@redhat.com> | 2012-12-19 11:58:15 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vbellur@redhat.com> | 2012-12-19 00:14:35 -0800 | 
| commit | 09e4d0861c8df392dc19dc6c9656dd33571f260d (patch) | |
| tree | 643b6e9601b2a43215af97d86de5e4d35e092da4 | |
| parent | c9c0fe3f7d737b175dea3833071f3e54d2f412fa (diff) | |
cli: Fixing the xml output in failure cases for gluster peer detach
Change-Id: I87aadec1949fccadde396b95f31eeb6832e461b4
BUG: 879494
Signed-off-by: Avra Sengupta <asengupt@redhat.com>
Reviewed-on: http://review.gluster.org/4336
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
| -rw-r--r-- | cli/src/cli-rpc-ops.c | 6 | ||||
| -rwxr-xr-x | tests/bugs/bug-879494.t | 37 | 
2 files changed, 41 insertions, 2 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index a5314378c..dcbe074cb 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -270,8 +270,10 @@ gf_cli_deprobe_cbk (struct rpc_req *req, struct iovec *iov,          }          if (global_state->mode & GLUSTER_MODE_XML) { -                ret = cli_xml_output_str ("peerDetach", msg, rsp.op_ret, -                                          rsp.op_errno, NULL); +                ret = cli_xml_output_str (NULL, +                                          (rsp.op_ret)? NULL : msg, +                                          rsp.op_ret, rsp.op_errno, +                                          (rsp.op_ret)? msg : NULL);                  if (ret)                          gf_log ("cli", GF_LOG_ERROR,                                  "Error outputting to xml"); diff --git a/tests/bugs/bug-879494.t b/tests/bugs/bug-879494.t new file mode 100755 index 000000000..5caca7922 --- /dev/null +++ b/tests/bugs/bug-879494.t @@ -0,0 +1,37 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc +. $(dirname $0)/../volume.rc + +cleanup; + +## Start and create a volume +TEST glusterd; +TEST pidof glusterd; +TEST $CLI volume info; + +TEST $CLI volume create $V0 replica 2 stripe 2 $H0:$B0/${V0}{1,2,3,4,5,6,7,8}; + +## Verify volume is is created +EXPECT "$V0" volinfo_field $V0 'Volume Name'; +EXPECT 'Created' volinfo_field $V0 'Status'; + +## Start volume and verify +TEST $CLI volume start $V0; +EXPECT 'Started' volinfo_field $V0 'Status'; + +function peer_probe() +{ +    $CLI peer detach a.b.c.d --xml | xmllint --format - | grep "<opErrstr>" +} + +EXPECT "  <opErrstr>a.b.c.d is not part of cluster</opErrstr>" peer_probe + +## Finish up +TEST $CLI volume stop $V0; +EXPECT 'Stopped' volinfo_field $V0 'Status'; + +TEST $CLI volume delete $V0; +TEST ! $CLI volume info $V0; + +cleanup;  | 
