]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm/nvmeof: Add susbsystem cache expiration field to NVMeOF spec file 64382/head
authorGil Bregman <gbregman@il.ibm.com>
Tue, 8 Jul 2025 12:35:12 +0000 (15:35 +0300)
committerGil Bregman <gbregman@il.ibm.com>
Wed, 9 Jul 2025 08:52:42 +0000 (11:52 +0300)
Fixes https://tracker.ceph.com/issues/72019

Signed-off-by: Gil Bregman <gbregman@il.ibm.com>
src/pybind/mgr/cephadm/templates/services/nvmeof/ceph-nvmeof.conf.j2
src/pybind/mgr/cephadm/tests/test_services.py
src/python-common/ceph/deployment/service_spec.py

index 735979a548f091bddcf89891200f527db1fe2cc2..bdedb768d50eaa76b4ef0bf849ec6a8a27a1d410 100644 (file)
@@ -41,6 +41,7 @@ max_hosts = {{ spec.max_hosts }}
 max_namespaces = {{ spec.max_namespaces }}
 max_namespaces_per_subsystem = {{ spec.max_namespaces_per_subsystem }}
 max_hosts_per_subsystem = {{ spec.max_hosts_per_subsystem }}
+subsystem_cache_expiration = {{ spec.subsystem_cache_expiration }}
 
 [gateway-logs]
 log_level = {{ spec.log_level }}
index 1792aee31e6979ceba65851417b07038c39918ac..e0f141dc6622f9ebe13ad151638eb9bb31bfa780 100644 (file)
@@ -390,6 +390,7 @@ max_hosts = 2048
 max_namespaces = 2048
 max_namespaces_per_subsystem = 256
 max_hosts_per_subsystem = 128
+subsystem_cache_expiration = 5
 
 [gateway-logs]
 log_level = INFO
index 381f12bfb6a7235ad49bb169f5f4c8da80363c9e..057da09eea98a0ee7f1df2c00fdff81ed4c82fa4 100644 (file)
@@ -1410,6 +1410,7 @@ class NvmeofServiceSpec(ServiceSpec):
                  max_namespaces: Optional[int] = 2048,
                  max_namespaces_per_subsystem: Optional[int] = 256,
                  max_hosts_per_subsystem: Optional[int] = 128,
+                 subsystem_cache_expiration: Optional[int] = 5,
                  server_key: Optional[str] = None,
                  server_cert: Optional[str] = None,
                  client_key: Optional[str] = None,
@@ -1537,6 +1538,8 @@ class NvmeofServiceSpec(ServiceSpec):
         self.max_namespaces_per_subsystem = max_namespaces_per_subsystem
         #: ``max_hosts_per_subsystem`` max number of hosts per subsystems
         self.max_hosts_per_subsystem = max_hosts_per_subsystem
+        #: ``subsystem_cache_expiration`` number of seconds before subsystems cache expires
+        self.subsystem_cache_expiration = subsystem_cache_expiration
         #: ``allowed_consecutive_spdk_ping_failures`` # of ping failures before aborting gateway
         self.allowed_consecutive_spdk_ping_failures = allowed_consecutive_spdk_ping_failures
         #: ``spdk_ping_interval_in_seconds`` sleep interval in seconds between SPDK pings
@@ -1739,6 +1742,8 @@ class NvmeofServiceSpec(ServiceSpec):
         verify_positive_int(self.max_namespaces, "Max namespaces")
         verify_positive_int(self.max_namespaces_per_subsystem, "Max namespaces per subsystem")
         verify_positive_int(self.max_hosts_per_subsystem, "Max hosts per subsystem")
+        verify_non_negative_number(self.subsystem_cache_expiration,
+                                   "Subsystem cache expiration period")
         verify_non_negative_number(self.monitor_timeout, "Monitor timeout")
         verify_non_negative_int(self.port, "Port")
         verify_non_negative_int(self.discovery_port, "Discovery port")