Skip to content

Commit 9733b2f

Browse files
authored
Merge pull request ceph#62753 from gbregman/main
mgr/cephadm/nvmeof: Add OMAP read lock parameters to NVMEoF configuration
2 parents 5f0c82b + 20eb836 commit 9733b2f

File tree

3 files changed

+34
-2
lines changed

3 files changed

+34
-2
lines changed

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ prometheus_stats_interval = {{ spec.prometheus_stats_interval }}
1919
verify_nqns = {{ spec.verify_nqns }}
2020
verify_keys = {{ spec.verify_keys }}
2121
verify_listener_ip = {{ spec.verify_listener_ip }}
22+
# This is a development flag, do not change it
23+
abort_on_errors = {{ spec.abort_on_errors }}
24+
# This is a development flag, do not change it
25+
omap_file_ignore_unlock_errors = {{ spec.omap_file_ignore_unlock_errors }}
26+
# This is a development flag, do not change it
27+
omap_file_lock_on_read = {{ spec.omap_file_lock_on_read }}
2228
omap_file_lock_duration = {{ spec.omap_file_lock_duration }}
2329
omap_file_lock_retries = {{ spec.omap_file_lock_retries }}
2430
omap_file_lock_retry_sleep_interval = {{ spec.omap_file_lock_retry_sleep_interval }}
@@ -48,6 +54,8 @@ log_directory = {{ spec.log_directory }}
4854
[discovery]
4955
addr = {{ discovery_addr }}
5056
port = {{ spec.discovery_port }}
57+
# This is a development flag, do not change it
58+
abort_on_errors = {{ spec.abort_discovery_on_errors }}
5159

5260
[ceph]
5361
pool = {{ spec.pool }}

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,12 @@ def test_nvmeof_config(self, _get_name, _run_cephadm, cephadm_module: CephadmOrc
368368
verify_nqns = True
369369
verify_keys = True
370370
verify_listener_ip = True
371+
# This is a development flag, do not change it
372+
abort_on_errors = True
373+
# This is a development flag, do not change it
374+
omap_file_ignore_unlock_errors = False
375+
# This is a development flag, do not change it
376+
omap_file_lock_on_read = True
371377
omap_file_lock_duration = 20
372378
omap_file_lock_retries = 30
373379
omap_file_lock_retry_sleep_interval = 1.0
@@ -380,7 +386,7 @@ def test_nvmeof_config(self, _get_name, _run_cephadm, cephadm_module: CephadmOrc
380386
max_namespaces_with_netmask = 1000
381387
max_subsystems = 128
382388
max_hosts = 2048
383-
max_namespaces = 1024
389+
max_namespaces = 2048
384390
max_namespaces_per_subsystem = 256
385391
max_hosts_per_subsystem = 128
386392
@@ -397,6 +403,8 @@ def test_nvmeof_config(self, _get_name, _run_cephadm, cephadm_module: CephadmOrc
397403
[discovery]
398404
addr = 192.168.100.100
399405
port = 8009
406+
# This is a development flag, do not change it
407+
abort_on_errors = True
400408
401409
[ceph]
402410
pool = {pool}

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

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1380,6 +1380,9 @@ def __init__(self,
13801380
rebalance_period_sec: Optional[int] = 7,
13811381
max_gws_in_grp: Optional[int] = 16,
13821382
max_ns_to_change_lb_grp: Optional[int] = 8,
1383+
abort_on_errors: Optional[bool] = True,
1384+
omap_file_ignore_unlock_errors: Optional[bool] = False,
1385+
omap_file_lock_on_read: Optional[bool] = True,
13831386
omap_file_lock_duration: Optional[int] = 20,
13841387
omap_file_lock_retries: Optional[int] = 30,
13851388
omap_file_lock_retry_sleep_interval: Optional[float] = 1.0,
@@ -1400,7 +1403,7 @@ def __init__(self,
14001403
max_namespaces_with_netmask: Optional[int] = 1000,
14011404
max_subsystems: Optional[int] = 128,
14021405
max_hosts: Optional[int] = 2048,
1403-
max_namespaces: Optional[int] = 1024,
1406+
max_namespaces: Optional[int] = 2048,
14041407
max_namespaces_per_subsystem: Optional[int] = 256,
14051408
max_hosts_per_subsystem: Optional[int] = 128,
14061409
server_key: Optional[str] = None,
@@ -1428,6 +1431,7 @@ def __init__(self,
14281431
discovery_addr: Optional[str] = None,
14291432
discovery_addr_map: Optional[Dict[str, str]] = None,
14301433
discovery_port: Optional[int] = None,
1434+
abort_discovery_on_errors: Optional[bool] = True,
14311435
log_level: Optional[str] = 'INFO',
14321436
log_files_enabled: Optional[bool] = True,
14331437
log_files_rotation_enabled: Optional[bool] = True,
@@ -1497,6 +1501,12 @@ def __init__(self,
14971501
self.verify_keys = verify_keys
14981502
#: ``verify_listener_ip`` enables verification of listener IP address
14991503
self.verify_listener_ip = verify_listener_ip
1504+
#: ``abort_on_errors`` abort gateway in case of errors
1505+
self.abort_on_errors = abort_on_errors
1506+
#: ``omap_file_ignore_unlock_errors`` ignore errors when unlocking the OMAP file
1507+
self.omap_file_ignore_unlock_errors = omap_file_ignore_unlock_errors
1508+
#: ``omap_file_lock_on_read`` lock omap when reading its content
1509+
self.omap_file_lock_on_read = omap_file_lock_on_read
15001510
#: ``omap_file_lock_duration`` number of seconds before automatically unlock OMAP file lock
15011511
self.omap_file_lock_duration = omap_file_lock_duration
15021512
#: ``omap_file_lock_retries`` number of retries to lock OMAP file before giving up
@@ -1587,6 +1597,8 @@ def __init__(self,
15871597
self.discovery_addr_map = discovery_addr_map
15881598
#: ``discovery_port`` port of the discovery service
15891599
self.discovery_port = discovery_port or 8009
1600+
#: ``abort_discovery_on_errors`` abort discovery service in case of errors
1601+
self.abort_discovery_on_errors = abort_discovery_on_errors
15901602
#: ``log_level`` the nvmeof gateway log level
15911603
self.log_level = log_level or 'INFO'
15921604
#: ``log_files_enabled`` enables the usage of files to keep the nameof gateway log
@@ -1694,6 +1706,9 @@ def validate(self) -> None:
16941706
verify_non_negative_int(self.max_gws_in_grp, "Max gateways in group")
16951707
verify_non_negative_int(self.max_ns_to_change_lb_grp,
16961708
"Max namespaces to change load balancing group")
1709+
verify_boolean(self.abort_on_errors, "Abort gateway on errors")
1710+
verify_boolean(self.omap_file_ignore_unlock_errors, "Ignore OMAP file unlock errors")
1711+
verify_boolean(self.omap_file_lock_on_read, "Lock OMAP on read")
16971712
verify_non_negative_int(self.omap_file_lock_duration, "OMAP file lock duration")
16981713
verify_non_negative_number(self.omap_file_lock_retry_sleep_interval,
16991714
"OMAP file lock sleep interval")
@@ -1713,6 +1728,7 @@ def validate(self) -> None:
17131728
verify_non_negative_number(self.monitor_timeout, "Monitor timeout")
17141729
verify_non_negative_int(self.port, "Port")
17151730
verify_non_negative_int(self.discovery_port, "Discovery port")
1731+
verify_boolean(self.abort_discovery_on_errors, "Abort discovery service on errors")
17161732
verify_non_negative_int(self.prometheus_port, "Prometheus port")
17171733
verify_non_negative_int(self.prometheus_stats_interval, "Prometheus stats interval")
17181734
verify_boolean(self.state_update_notify, "State update notify")

0 commit comments

Comments
 (0)