]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: Add KMIP server support for NVMeoF gateway 68030/head
authorGil Bregman <gbregman@il.ibm.com>
Thu, 26 Mar 2026 15:48:03 +0000 (17:48 +0200)
committerGil Bregman <gbregman@il.ibm.com>
Thu, 26 Mar 2026 18:11:02 +0000 (20:11 +0200)
Fixes: https://tracker.ceph.com/issues/75739
Signed-off-by: Gil Bregman <gbregman@il.ibm.com>
src/cephadm/cephadmlib/daemons/nvmeof.py
src/pybind/mgr/cephadm/templates/services/nvmeof/ceph-nvmeof.conf.j2
src/pybind/mgr/cephadm/tests/services/test_nvmeof.py
src/python-common/ceph/deployment/service_spec.py

index 761211087c82b5d8e400df860d7689eee4628e69..aa0d422276206a5e72a04c16924a93f20af40b76 100644 (file)
@@ -81,6 +81,7 @@ class CephNvmeof(ContainerDaemonForm):
         mounts[log_dir] = '/var/log/ceph:z'
         if mtls_dir:
             mounts[mtls_dir] = '/src/mtls:z'
+        mounts['/etc/kmip'] = '/src/certs/kmip:z'
         return mounts
 
     def _get_huge_pages_mounts(self, files: Dict[str, str]) -> Dict[str, str]:
index 37f0a60d22ff8f251ec300dbb2b057fccd6bb576..e0743d95c64be86ab13d08cfbe680d5d54a7eb3a 100644 (file)
@@ -84,6 +84,11 @@ server_cert = /server.cert
 client_cert = /client.cert
 root_ca_cert = /root.ca.cert
 
+{% if spec.kmip_cert_dir %}
+[kmip]
+cert_dir = {{ spec.kmip_cert_dir }}
+{% endif %}
+
 [spdk]
 tgt_path = {{ spec.tgt_path }}
 rpc_socket_dir = {{ spec.rpc_socket_dir }}
index a2e8ef35874fb2e26c7ec6e9e7962e1914278a69..1ba83602dcb8e7c40848bea744899df89971472f 100644 (file)
@@ -171,6 +171,9 @@ server_cert = /server.cert
 client_cert = /client.cert
 root_ca_cert = /root.ca.cert
 
+[kmip]
+cert_dir = ./certs/kmip/{{server_name}}
+
 [spdk]
 tgt_path = /usr/local/bin/nvmf_tgt
 rpc_socket_dir = /var/tmp/
index c10259729ba050ffcb5b521582a12ae8c399cc6c..7d813d1f79eeec720f990ce04aed50be1a5d6ec7 100644 (file)
@@ -1749,6 +1749,7 @@ class NvmeofServiceSpec(ServiceSpec):
                  monitor_timeout: Optional[float] = 1.0,
                  enable_monitor_client: bool = True,
                  monitor_client_log_file_dir: Optional[str] = '',
+                 kmip_cert_dir: Optional[str] = './certs/kmip/{server_name}',
                  placement: Optional[PlacementSpec] = None,
                  unmanaged: bool = False,
                  preview_only: bool = False,
@@ -1972,6 +1973,8 @@ class NvmeofServiceSpec(ServiceSpec):
         self.enable_monitor_client = enable_monitor_client
         #: ``monitor_client_log_file_dir`` the monitor client log output file file directory
         self.monitor_client_log_file_dir = monitor_client_log_file_dir
+        #: ``kmip_cert_dir`` directory for KMIP servers keys and certificates
+        self.kmip_cert_dir = kmip_cert_dir
 
     def get_port_start(self) -> List[int]:
         return [self.port, 4420, self.discovery_port, self.prometheus_port]