]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: add a helper function for setting up smb config
authorJohn Mulligan <jmulligan@redhat.com>
Mon, 30 Jun 2025 23:11:34 +0000 (19:11 -0400)
committerJohn Mulligan <jmulligan@redhat.com>
Tue, 12 Aug 2025 14:24:49 +0000 (10:24 -0400)
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 <jmulligan@redhat.com>
src/pybind/mgr/cephadm/services/smb.py

index e8d0388b10a38a6d7e8e7b35a9a659a8dfb34126..a04b13ed611fc921b1ee055bae7307a4fd3320a2 100644 (file)
@@ -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(