]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph.in: check ceph-conf returncode 30695/head
authorDimitri Savineau <dsavinea@redhat.com>
Wed, 2 Oct 2019 14:52:40 +0000 (10:52 -0400)
committerDimitri Savineau <dsavinea@redhat.com>
Mon, 7 Oct 2019 13:12:09 +0000 (09:12 -0400)
When running the ceph-conf command, we only check the stderr output. When
the ceph configuration file has duplicate values then the ceph daemon
command will fail because the stderr will contain the warning message but
the ceph-conf return code is 0.

$ ceph-conf --name mon.cephaio-1 --show-config-value admin_socket
warning: line 13: 'osd_memory_target' in section 'osd' redefined
/var/run/ceph/ceph-mon.cephaio-1.asok
$ echo $?
0

Fixes: https://tracker.ceph.com/issues/37664
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
src/ceph.in

index fac4ce3f06e99cf8eaba4e55f5eb7713c77c259e..ce6ce109f62b745d88dc48e7a9afa8c2a9cb7422 100755 (executable)
@@ -524,7 +524,7 @@ def ceph_conf(parsed_args, field, name):
         stdout=subprocess.PIPE,
         stderr=subprocess.PIPE)
     outdata, errdata = p.communicate()
-    if len(errdata):
+    if p.returncode != 0:
         raise RuntimeError('unable to get conf option %s for %s: %s' % (field, name, errdata))
     return outdata.rstrip()