From ca9aafbccf70af466b841c7ae322410e8f3c0caf Mon Sep 17 00:00:00 2001 From: Joshua Schmid Date: Tue, 12 May 2020 12:09:55 +0200 Subject: [PATCH] mgr/cephadm: generate and pass env vars to cephadm Signed-off-by: Joshua Schmid --- src/pybind/mgr/cephadm/services/osd.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/pybind/mgr/cephadm/services/osd.py b/src/pybind/mgr/cephadm/services/osd.py index cf61feb6a09..6c41b397440 100644 --- a/src/pybind/mgr/cephadm/services/osd.py +++ b/src/pybind/mgr/cephadm/services/osd.py @@ -30,13 +30,13 @@ class OSDService(CephadmService): if not cmd: logger.debug("No data_devices, skipping DriveGroup: {}".format(drive_group.service_id)) continue - ret_msg = self.create(host, cmd, - replace_osd_ids=drive_group.osd_id_claims.get(host, [])) + env_vars = [f"CEPH_VOLUME_OSDSPEC_AFFINITY={drive_group.service_id}"] + ret_msg = self.create(host, cmd, replace_osd_ids=drive_group.osd_id_claims.get(host, []), env_vars=env_vars) ret.append(ret_msg) return ", ".join(ret) - def create(self, host: str, cmd: str, replace_osd_ids=None) -> str: - out, err, code = self._run_ceph_volume_command(host, cmd) + def create(self, host: str, cmd: str, replace_osd_ids=None, env_vars: Optional[List[str]] = None) -> str: + out, err, code = self._run_ceph_volume_command(host, cmd, env_vars=env_vars) if code == 1 and ', it is already prepared' in '\n'.join(err): # HACK: when we create against an existing LV, ceph-volume @@ -161,7 +161,7 @@ class OSDService(CephadmService): 'host': host}) return ret_all - def _run_ceph_volume_command(self, host: str, cmd: str) -> Tuple[List[str], List[str], int]: + def _run_ceph_volume_command(self, host: str, cmd: str, env_vars: Optional[List[str]] = None) -> Tuple[List[str], List[str], int]: self.mgr.inventory.assert_host(host) # get bootstrap key @@ -186,6 +186,7 @@ class OSDService(CephadmService): out, err, code = self.mgr._run_cephadm( host, 'osd', 'ceph-volume', _cmd, + env_vars=env_vars, stdin=j, error_ok=True) return out, err, code -- 2.39.5