From 00a5f0598c2731a3cf93e73dc7d25aef653f1c29 Mon Sep 17 00:00:00 2001 From: theaverageguy Date: Sat, 5 Mar 2016 01:20:56 +0530 Subject: [PATCH] Use ceph-conf to locate OSD keyring Fixes https://github.com/ceph/calamari/issues/353 --- salt/srv/salt/base/calamari-crush-location.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/salt/srv/salt/base/calamari-crush-location.py b/salt/srv/salt/base/calamari-crush-location.py index 89fdda725..a218ef770 100644 --- a/salt/srv/salt/base/calamari-crush-location.py +++ b/salt/srv/salt/base/calamari-crush-location.py @@ -19,7 +19,9 @@ def get_last_crush_location(cluster, osd_id): errors = [] key = 'daemon-private/osd.%s/v1/calamari/osd_crush_location' % osd_id - osd_keyring = '/var/lib/ceph/osd/%(cluster)s-%(osd_id)s/keyring' % {'cluster': cluster, 'osd_id': osd_id} + temp = "ceph-conf --name osd.N --show-config-value \'keyring\'" + process = subprocess.Popen(temp.split(), stdout=subprocess.PIPE) + osd_keyring = process.communicate()[0] admin_keyring = '/etc/ceph/%s.client.admin.keyring' % cluster commands = (['ceph', '--cluster', cluster, '--name', 'osd.%s' % osd_id, '--keyring', osd_keyring, 'config-key', 'get', key], ['sudo', 'ceph', '--cluster', cluster, '--keyring', admin_keyring, 'config-key', 'get', key],