From 188a1ef66e94866eebe6f779002349ca1fbaf383 Mon Sep 17 00:00:00 2001 From: John Mulligan Date: Mon, 30 Jun 2025 19:11:34 -0400 Subject: [PATCH] mgr/cephadm: add a helper function for setting up smb config Add a private helper function for copying values into the config_blobs and similar dictionaries that are serialized and passed to cephadm for configuration of smb. The helper automates the familiar pattern of ``` if value: config_blobs[key] = value ``` Signed-off-by: John Mulligan (cherry picked from commit 56fb07fad11b6fad0008c618c9e400bd0417b1e7) --- src/pybind/mgr/cephadm/services/smb.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/pybind/mgr/cephadm/services/smb.py b/src/pybind/mgr/cephadm/services/smb.py index e8d0388b10a38..a04b13ed611fc 100644 --- a/src/pybind/mgr/cephadm/services/smb.py +++ b/src/pybind/mgr/cephadm/services/smb.py @@ -20,6 +20,11 @@ from ..schedule import DaemonPlacement logger = logging.getLogger(__name__) +def _add_cfg(cfg_dict: Dict[str, Any], key: str, value: Any) -> None: + if value: + cfg_dict[key] = value + + @register_cephadm_service class SMBService(CephService): TYPE = 'smb' @@ -130,19 +135,13 @@ class SMBService(CephService): config_blobs['cluster_id'] = smb_spec.cluster_id config_blobs['features'] = smb_spec.features config_blobs['config_uri'] = smb_spec.config_uri - if smb_spec.join_sources: - config_blobs['join_sources'] = smb_spec.join_sources - if smb_spec.user_sources: - config_blobs['user_sources'] = smb_spec.user_sources - if smb_spec.custom_dns: - config_blobs['custom_dns'] = smb_spec.custom_dns - if smb_spec.cluster_meta_uri: - config_blobs['cluster_meta_uri'] = smb_spec.cluster_meta_uri - if smb_spec.cluster_lock_uri: - config_blobs['cluster_lock_uri'] = smb_spec.cluster_lock_uri + _add_cfg(config_blobs, 'join_sources', smb_spec.join_sources) + _add_cfg(config_blobs, 'user_sources', smb_spec.user_sources) + _add_cfg(config_blobs, 'custom_dns', smb_spec.custom_dns) + _add_cfg(config_blobs, 'cluster_meta_uri', smb_spec.cluster_meta_uri) + _add_cfg(config_blobs, 'cluster_lock_uri', smb_spec.cluster_lock_uri) cluster_public_addrs = smb_spec.strict_cluster_ip_specs() - if cluster_public_addrs: - config_blobs['cluster_public_addrs'] = cluster_public_addrs + _add_cfg(config_blobs, 'cluster_public_addrs', cluster_public_addrs) ceph_users = smb_spec.include_ceph_users or [] config_blobs.update( self._ceph_config_and_keyring_for( -- 2.39.5