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>
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()