From: Alexander Indenbaum Date: Sun, 1 Feb 2026 10:39:46 +0000 (+0200) Subject: mgr/cephadm: add rbd_with_spdk_wq parameter to nvmeof service spec X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=eb29f2249ff7873151f2ad280015260342be6a5d;p=ceph-ci.git mgr/cephadm: add rbd_with_spdk_wq parameter to nvmeof service spec Signed-off-by: Alexander Indenbaum --- diff --git a/src/pybind/mgr/cephadm/templates/services/nvmeof/ceph-nvmeof.conf.j2 b/src/pybind/mgr/cephadm/templates/services/nvmeof/ceph-nvmeof.conf.j2 index 2f9d6a84f86..93abded2551 100644 --- a/src/pybind/mgr/cephadm/templates/services/nvmeof/ceph-nvmeof.conf.j2 +++ b/src/pybind/mgr/cephadm/templates/services/nvmeof/ceph-nvmeof.conf.j2 @@ -120,6 +120,7 @@ transport_tcp_options = {{ transport_tcp_options }} {% endif %} enable_dsa_acceleration = {{ spec.enable_dsa_acceleration }} rbd_with_crc32c = {{ spec.rbd_with_crc32c }} +rbd_with_spdk_wq = {{ spec.rbd_with_spdk_wq }} {% if spec.tgt_cmd_extra_args %} tgt_cmd_extra_args = {{ spec.tgt_cmd_extra_args }} {% endif %} diff --git a/src/pybind/mgr/cephadm/tests/test_services.py b/src/pybind/mgr/cephadm/tests/test_services.py index 485f1e63fff..f95c1b5ab8c 100644 --- a/src/pybind/mgr/cephadm/tests/test_services.py +++ b/src/pybind/mgr/cephadm/tests/test_services.py @@ -545,6 +545,7 @@ transports = tcp transport_tcp_options = {{"in_capsule_data_size": 8192, "max_io_qpairs_per_ctrlr": 7}} enable_dsa_acceleration = False rbd_with_crc32c = True +rbd_with_spdk_wq = False tgt_cmd_extra_args = {tgt_cmd_extra_args} qos_timeslice_in_usecs = 0 notifications_interval = 60 diff --git a/src/python-common/ceph/deployment/service_spec.py b/src/python-common/ceph/deployment/service_spec.py index 932044741ca..0769a025ebe 100644 --- a/src/python-common/ceph/deployment/service_spec.py +++ b/src/python-common/ceph/deployment/service_spec.py @@ -1716,6 +1716,7 @@ class NvmeofServiceSpec(ServiceSpec): {"in_capsule_data_size": 8192, "max_io_qpairs_per_ctrlr": 7}, enable_dsa_acceleration: bool = False, rbd_with_crc32c: bool = True, + rbd_with_spdk_wq: bool = False, tgt_cmd_extra_args: Optional[str] = None, iobuf_options: Optional[Dict[str, int]] = None, qos_timeslice_in_usecs: Optional[int] = 0, @@ -1916,6 +1917,8 @@ class NvmeofServiceSpec(ServiceSpec): self.enable_dsa_acceleration = enable_dsa_acceleration #: ``rbd_with_crc32c`` enable RBD CRC32C checksum reuse optimization self.rbd_with_crc32c = rbd_with_crc32c + #: ``rbd_with_spdk_wq`` enable SPDK ContextWQ for RBD image operations + self.rbd_with_spdk_wq = rbd_with_spdk_wq #: ``tgt_cmd_extra_args`` extra arguments for the nvmf_tgt process self.tgt_cmd_extra_args = tgt_cmd_extra_args #: List of extra arguments for SPDK iobuf in the form opt=value @@ -2121,6 +2124,7 @@ class NvmeofServiceSpec(ServiceSpec): verify_boolean(self.enable_monitor_client, "Enable monitor client") verify_boolean(self.enable_dsa_acceleration, "Enable DSA acceleration") verify_boolean(self.rbd_with_crc32c, "Enable RBD CRC32C checksum reuse") + verify_boolean(self.rbd_with_spdk_wq, "Enable SPDK ContextWQ for RBD operations") verify_positive_int(self.spdk_mem_size, "SPDK memory size") verify_positive_int(self.spdk_huge_pages, "SPDK huge pages count") if self.spdk_mem_size and self.spdk_huge_pages: