]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph.in: check ceph-conf returncode 31367/head
authorDimitri Savineau <dsavinea@redhat.com>
Wed, 2 Oct 2019 14:52:40 +0000 (10:52 -0400)
committerJan Fajerski <jfajerski@suse.com>
Mon, 4 Nov 2019 15:55:55 +0000 (16:55 +0100)
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>
(cherry picked from commit e69aea66ea5ba941e25eb42508e43e4670820cbd)

src/ceph.in

index f060023f57c6b481f9ad8226c00d6eb648bef25a..581d60d6126bff9dea6892bcba70575b4254f011 100755 (executable)
@@ -520,7 +520,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()