From 80bf430839ef128097a340579f8a87d29a0fee2d Mon Sep 17 00:00:00 2001 From: Owen Synge Date: Fri, 11 Nov 2016 21:25:41 +0100 Subject: [PATCH 1/5] ceph_cfg.mon:dont use private keyring methods Mon should not use private keyring methods Signed-off-by: Owen Synge --- ceph_cfg/mon.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ceph_cfg/mon.py b/ceph_cfg/mon.py index 6f484c5..310dbbf 100644 --- a/ceph_cfg/mon.py +++ b/ceph_cfg/mon.py @@ -237,8 +237,11 @@ def create(self, **kwargs): ) path_mon_dir = constants._path_ceph_lib_mon + path_mon_dir_postfix path_done_file = path_mon_dir + "/done" - path_admin_keyring = keyring._get_path_keyring_admin(self.model.cluster_name) - keyring_path_mon = keyring._get_path_keyring_mon(self.model.cluster_name) + keyring_facard = keyring.keyring_facard(self.model) + keyring_facard.key_type = "admin" + path_admin_keyring = keyring_facard.keyring_path_get() + keyring_facard.key_type = "mon" + keyring_path_mon = keyring_facard.keyring_path_get() if os.path.isfile(path_done_file): log.debug("Mon done file exists:%s" % (path_done_file)) From 261c38e17c16c00ca867889adcc9bbe022bfb1dd Mon Sep 17 00:00:00 2001 From: Owen Synge Date: Fri, 11 Nov 2016 21:28:49 +0100 Subject: [PATCH 2/5] ceph_cfg.osd:dont use private keyring methods Mon should not use private keyring methods Signed-off-by: Owen Synge --- ceph_cfg/osd.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ceph_cfg/osd.py b/ceph_cfg/osd.py index de3403b..478f50f 100644 --- a/ceph_cfg/osd.py +++ b/ceph_cfg/osd.py @@ -220,9 +220,11 @@ def prepare(self, **kwargs): raise Error("osd_dev not specified") # Check boot strap key exists - bootstrap_path_osd = keyring._get_path_keyring_osd(cluster_name) - if not os.path.isfile(bootstrap_path_osd): - raise Error(bootstrap_path_osd) + keyring_facard = keyring.keyring_facard(self.model) + keyring_facard.key_type = "osd" + if not keyring_facard.present(): + bootstrap_path_osd = keyring_facard.keyring_path_get() + raise Error("Keyring not found at %s" % (bootstrap_path_osd)) if not os.path.isdir(constants._path_ceph_lib_osd): log.info("mkdir %s") os.makedirs(constants._path_ceph_lib_osd) From dcfa7c394ae11d3f221397bc3134afd6386c8a1e Mon Sep 17 00:00:00 2001 From: Owen Synge Date: Fri, 11 Nov 2016 21:46:15 +0100 Subject: [PATCH 3/5] ceph_cfg.rados_client:Check keyring path Centralize keyring path checking. Signed-off-by: Owen Synge --- ceph_cfg/rados_client.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ceph_cfg/rados_client.py b/ceph_cfg/rados_client.py index c347dea..59768fb 100644 --- a/ceph_cfg/rados_client.py +++ b/ceph_cfg/rados_client.py @@ -158,6 +158,9 @@ def keyring_service_create(self): log.info("Make missing keyring:%s" % (self.keyring_service_path)) keyringobj = keyring.keyring_facard(self.model) keyringobj.key_type = self.bootstrap_keyring_type + if not keyringobj.present(): + path_bootstrap_keyring = keyringobj.keyring_path_get() + raise Error("Keyring not found at %s" % (path_bootstrap_keyring)) oldmask = os.umask(int('077', 8)) try: try: From 6dc2e8e22d1bc8c838f5f03203bdc2252863e4b3 Mon Sep 17 00:00:00 2001 From: Owen Synge Date: Fri, 11 Nov 2016 21:39:24 +0100 Subject: [PATCH 4/5] ceph_cfg.rgw:dont use private keyring methods Mon should not use private keyring methods Signed-off-by: Owen Synge --- ceph_cfg/rgw.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/ceph_cfg/rgw.py b/ceph_cfg/rgw.py index 1a5551f..30b7f33 100644 --- a/ceph_cfg/rgw.py +++ b/ceph_cfg/rgw.py @@ -95,9 +95,6 @@ def prepare(self): raise Error("rgw name must start with 'rgw.'") self.service_available() self._set_rgw_path_lib() - path_bootstrap_keyring = keyring._get_path_keyring_rgw(self.model.cluster_name) - if not os.path.isfile(path_bootstrap_keyring): - raise Error("Keyring not found at %s" % (path_bootstrap_keyring)) if not os.path.isdir(self.rgw_path_lib): log.info("Make missing directory:%s" % (self.rgw_path_lib)) os.makedirs(self.rgw_path_lib) From f766270c345946c8b4ac003f17952d2b7d6938d7 Mon Sep 17 00:00:00 2001 From: Owen Synge Date: Fri, 11 Nov 2016 21:34:05 +0100 Subject: [PATCH 5/5] ceph_cfg.mds:dont use private keyring methods Mon should not use private keyring methods Signed-off-by: Owen Synge --- ceph_cfg/mds.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/ceph_cfg/mds.py b/ceph_cfg/mds.py index 1b755e0..e986e58 100644 --- a/ceph_cfg/mds.py +++ b/ceph_cfg/mds.py @@ -75,9 +75,6 @@ def update(self): def prepare(self): self.service_available() - path_bootstrap_keyring = keyring._get_path_keyring_mds(self.model.cluster_name) - if not os.path.isfile(path_bootstrap_keyring): - raise Error("Keyring not found at %s" % (path_bootstrap_keyring)) if not os.path.isdir(self.model.path_systemd_env): log.info("mkdir %s" % (self.model.path_systemd_env)) os.makedirs(self.model.path_systemd_env)