]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: Expose nvmeof gateway configuration parameters through specifications 54490/head
authorAlexander Indenbaum <aindenba@redhat.com>
Tue, 14 Nov 2023 08:12:11 +0000 (10:12 +0200)
committerAlexander Indenbaum <aindenba@redhat.com>
Wed, 15 Nov 2023 07:16:49 +0000 (07:16 +0000)
- min_controller_id, max_controller_id: Enable the specification of minimum and maximum controller IDs utilized by the SPDK.
  Having distinct controller IDs is vital for configuring multipath setups.
- enable_spdk_discovery_controller: Manage whether the SPDK or ceph-nvmeof discovery service is employed. The default value is set to False.

Signed-off-by: Alexander Indenbaum <aindenba@redhat.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 72a3e5839edc43c49f6c0c0408ff77a4db242546..4aa0b90935770b6d5d818bdb1841868ba59ca269 100644 (file)
@@ -7,6 +7,9 @@ port = {{ port }}
 enable_auth = {{ spec.enable_auth }}
 state_update_notify = True
 state_update_interval_sec = 5
+min_controller_id = {{ spec.min_controller_id }}
+max_controller_id = {{ spec.max_controller_id }}
+enable_spdk_discovery_controller = {{ spec.enable_spdk_discovery_controller }}
 
 [ceph]
 pool = {{ spec.pool }}
index 21c62ffd06fb77170b0f2dce86753741dd18cb87..dbab022058d424e132d8a8e26f0de1198f129884 100644 (file)
@@ -390,6 +390,9 @@ port = {default_port}
 enable_auth = False
 state_update_notify = True
 state_update_interval_sec = 5
+min_controller_id = 1
+max_controller_id = 65519
+enable_spdk_discovery_controller = False
 
 [ceph]
 pool = {pool}
index 4181ee2563e495c91f5336ca37fc65f298ecfdc1..6027c292ca6d88867bff77f10c9f50430403f32d 100644 (file)
@@ -1131,6 +1131,9 @@ class NvmeofServiceSpec(ServiceSpec):
                  port: Optional[int] = None,
                  pool: Optional[str] = None,
                  enable_auth: bool = False,
+                 min_controller_id: Optional[str] = '1',
+                 max_controller_id: Optional[str] = '65519',
+                 enable_spdk_discovery_controller: Optional[bool] = False,
                  server_key: Optional[str] = None,
                  server_cert: Optional[str] = None,
                  client_key: Optional[str] = None,
@@ -1171,6 +1174,12 @@ class NvmeofServiceSpec(ServiceSpec):
         self.group = group
         #: ``enable_auth`` enables user authentication on nvmeof gateway
         self.enable_auth = enable_auth
+        #: ``min_controller_id`` minimum controller id used by SPDK, essential for multipath
+        self.min_controller_id = min_controller_id
+        #: ``max_controller_id`` maximum controller id used by SPDK, essential for multipath
+        self.max_controller_id = max_controller_id
+        #: ``enable_spdk_discovery_controller`` SPDK or ceph-nvmeof discovery service
+        self.enable_spdk_discovery_controller = enable_spdk_discovery_controller
         #: ``server_key`` gateway server key
         self.server_key = server_key or './server.key'
         #: ``server_cert`` gateway server certificate