From: Sebastian Wagner Date: Mon, 29 Nov 2021 10:50:59 +0000 (+0100) Subject: mgr/cephadm: serve.py: put _write_client_files into it's own method X-Git-Tag: v16.2.8~256^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=56d53aaaf621f3f1f05b64a007456be0d8d4cbc9;p=ceph.git mgr/cephadm: serve.py: put _write_client_files into it's own method Signed-off-by: Sebastian Wagner (cherry picked from commit 018807ef655068d699c70388e41284addee32040) Conflicts: src/pybind/mgr/cephadm/serve.py --- diff --git a/src/pybind/mgr/cephadm/serve.py b/src/pybind/mgr/cephadm/serve.py index 21949af90dc6..f0b57f7e951d 100644 --- a/src/pybind/mgr/cephadm/serve.py +++ b/src/pybind/mgr/cephadm/serve.py @@ -237,31 +237,7 @@ class CephadmServe: self.log.debug(f"autotuning memory for {host}") self._autotune_host_memory(host) - # client files - updated_files = False - old_files = self.mgr.cache.get_host_client_files(host).copy() - for path, m in client_files.get(host, {}).items(): - mode, uid, gid, content, digest = m - if path in old_files: - match = old_files[path] == (digest, mode, uid, gid) - del old_files[path] - if match: - continue - self.log.info(f'Updating {host}:{path}') - self._write_remote_file(host, path, content, mode, uid, gid) - self.mgr.cache.update_client_file(host, path, digest, mode, uid, gid) - updated_files = True - for path in old_files.keys(): - self.log.info(f'Removing {host}:{path}') - with self._remote_connection(host) as tpl: - conn, connr = tpl - out, err, code = remoto.process.check( - conn, - ['rm', '-f', path]) - updated_files = True - self.mgr.cache.removed_client_file(host, path) - if updated_files: - self.mgr.cache.save_host(host) + self._write_client_files(client_files, host) refresh(self.mgr.cache.get_hosts()) @@ -1020,6 +996,34 @@ class CephadmServe: f'unable to calc client keyring {ks.entity} placement {ks.placement}: {e}') return client_files + def _write_client_files(self, + client_files: Dict[str, Dict[str, Tuple[int, int, int, bytes, str]]], + host: str) -> None: + updated_files = False + old_files = self.mgr.cache.get_host_client_files(host).copy() + for path, m in client_files.get(host, {}).items(): + mode, uid, gid, content, digest = m + if path in old_files: + match = old_files[path] == (digest, mode, uid, gid) + del old_files[path] + if match: + continue + self.log.info(f'Updating {host}:{path}') + self._write_remote_file(host, path, content, mode, uid, gid) + self.mgr.cache.update_client_file(host, path, digest, mode, uid, gid) + updated_files = True + for path in old_files.keys(): + self.log.info(f'Removing {host}:{path}') + with self._remote_connection(host) as tpl: + conn, connr = tpl + out, err, code = remoto.process.check( + conn, + ['rm', '-f', path]) + updated_files = True + self.mgr.cache.removed_client_file(host, path) + if updated_files: + self.mgr.cache.save_host(host) + def _create_daemon(self, daemon_spec: CephadmDaemonDeploySpec, reconfig: bool = False,