From: Sage Weil Date: Tue, 9 Jul 2013 04:12:49 +0000 (-0700) Subject: ceph: send successful commands twice with CEPH_CLI_TEST_DUP_COMMAND X-Git-Tag: v0.67-rc1~50 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f2fa01e22db4463744c441dd0e37f79bda130fc9;p=ceph.git ceph: send successful commands twice with CEPH_CLI_TEST_DUP_COMMAND Monitor commands need to be idempotent. This helps us test this by simply issuing any successful command a second time so that we notice when a dup submission fails. Signed-off-by: Sage Weil --- diff --git a/src/ceph.in b/src/ceph.in index b5b6f4b0d38..0f7179b8aed 100755 --- a/src/ceph.in +++ b/src/ceph.in @@ -695,6 +695,15 @@ def main(): ret, outbuf, outs = new_style_command(parsed_args, childargs, target, sigdict, inbuf, verbose) + # debug tool: send any successful command *again* to + # verify that it is idempotent. + if not ret and 'CEPH_CLI_TEST_DUP_COMMAND' in os.environ: + ret, outbuf, outs = new_style_command(parsed_args, childargs, target, + sigdict, inbuf, verbose) + if ret < 0: + ret = -ret + print >> sys.stderr, prefix + 'Second attempt of previously successful command failed with {0}: {1}'.format(errno.errorcode[ret], outs) + if ret < 0: ret = -ret print >> sys.stderr, prefix + 'Error {0}: {1}'.format(errno.errorcode[ret], outs)