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>
This commit is contained in:
Avra Sengupta 2012-12-19 11:58:15 +05:30 committed by Vijay Bellur
parent c9c0fe3f7d
commit 09e4d0861c
2 changed files with 41 additions and 2 deletions

View File

@ -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");

37
tests/bugs/bug-879494.t Executable file
View File

@ -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;