Skip to content

Commit 0da89a9

Browse files
authored
Merge pull request ceph#61814 from gbregman/main
mgr/cephadm/nvmeof: Add QOS timeslice field to NVMeOF configuration
2 parents 1db50b3 + 7b4af1f commit 0da89a9

File tree

3 files changed

+6
-0
lines changed

3 files changed

+6
-0
lines changed

src/pybind/mgr/cephadm/templates/services/nvmeof/ceph-nvmeof.conf.j2

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ tgt_cmd_extra_args = {{ spec.tgt_cmd_extra_args }}
9090
{% if iobuf_options %}
9191
iobuf_options = {{ iobuf_options }}
9292
{% endif %}
93+
qos_timeslice_in_usecs = {{ spec.qos_timeslice_in_usecs }}
9394

9495
[monitor]
9596
timeout = {{ spec.monitor_timeout }}

src/pybind/mgr/cephadm/tests/test_services.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,7 @@ def test_nvmeof_config(self, _get_name, _run_cephadm, cephadm_module: CephadmOrc
421421
transports = tcp
422422
transport_tcp_options = {{"in_capsule_data_size": 8192, "max_io_qpairs_per_ctrlr": 7}}
423423
tgt_cmd_extra_args = {tgt_cmd_extra_args}
424+
qos_timeslice_in_usecs = 0
424425
425426
[monitor]
426427
timeout = 1.0\n"""

src/python-common/ceph/deployment/service_spec.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1388,6 +1388,7 @@ def __init__(self,
13881388
{"in_capsule_data_size": 8192, "max_io_qpairs_per_ctrlr": 7},
13891389
tgt_cmd_extra_args: Optional[str] = None,
13901390
iobuf_options: Optional[Dict[str, int]] = None,
1391+
qos_timeslice_in_usecs: Optional[int] = 0,
13911392
discovery_addr: Optional[str] = None,
13921393
discovery_addr_map: Optional[Dict[str, str]] = None,
13931394
discovery_port: Optional[int] = None,
@@ -1528,6 +1529,8 @@ def __init__(self,
15281529
self.tgt_cmd_extra_args = tgt_cmd_extra_args
15291530
#: List of extra arguments for SPDK iobuf in the form opt=value
15301531
self.iobuf_options: Optional[Dict[str, int]] = iobuf_options
1532+
#: ``qos_timeslice_in_usecs`` timeslice for QOS code, in micro seconds
1533+
self.qos_timeslice_in_usecs = qos_timeslice_in_usecs
15311534
#: ``discovery_addr`` address of the discovery service
15321535
self.discovery_addr = discovery_addr
15331536
#: ``discovery_addr_map`` per node address map of the discovery service
@@ -1590,6 +1593,7 @@ def validate(self) -> None:
15901593
verify_positive_int(self.bdevs_per_cluster, "Bdevs per cluster")
15911594
if self.bdevs_per_cluster is not None and self.bdevs_per_cluster < 1:
15921595
raise SpecValidationError("Bdevs per cluster should be at least 1")
1596+
verify_non_negative_int(self.qos_timeslice_in_usecs, "QOS timeslice")
15931597

15941598
verify_non_negative_number(self.spdk_ping_interval_in_seconds, "SPDK ping interval")
15951599
if (

0 commit comments

Comments
 (0)