Skip to content

Commit e5d6b43

Browse files
authored
Merge pull request ceph#59738 from gbregman/main
Make the discovery and gateway IPs configurable in NVMEof configuration
2 parents 0537c19 + 9eb3b99 commit e5d6b43

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

src/pybind/mgr/cephadm/services/nvmeof.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,17 @@ def prepare_create(self, daemon_spec: CephadmDaemonDeploySpec) -> CephadmDaemonD
4747
transport_tcp_options = json.dumps(spec.transport_tcp_options) if spec.transport_tcp_options else None
4848
name = '{}.{}'.format(utils.name_to_config_section('nvmeof'), nvmeof_gw_id)
4949
rados_id = name[len('client.'):] if name.startswith('client.') else name
50+
addr = host_ip
51+
discovery_addr = host_ip
52+
if spec.addr and spec.addr != "0.0.0.0":
53+
addr = spec.addr
54+
if spec.discovery_addr and spec.discovery_addr != "0.0.0.0":
55+
discovery_addr = spec.discovery_addr
5056
context = {
5157
'spec': spec,
5258
'name': name,
53-
'addr': host_ip,
59+
'addr': addr,
60+
'discovery_addr': discovery_addr,
5461
'port': spec.port,
5562
'spdk_log_level': 'WARNING',
5663
'rpc_socket_dir': '/var/tmp/',

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ max_log_directory_backups = {{ spec.max_log_directory_backups }}
3232
log_directory = {{ spec.log_directory }}
3333

3434
[discovery]
35-
addr = {{ addr }}
35+
addr = {{ discovery_addr }}
3636
port = {{ spec.discovery_port }}
3737

3838
[ceph]

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,6 +1315,7 @@ def __init__(self,
13151315
service_id: Optional[str] = None,
13161316
name: Optional[str] = None,
13171317
group: Optional[str] = None,
1318+
addr: Optional[str] = None,
13181319
port: Optional[int] = None,
13191320
pool: Optional[str] = None,
13201321
enable_auth: bool = False,
@@ -1347,6 +1348,7 @@ def __init__(self,
13471348
transport_tcp_options: Optional[Dict[str, int]] =
13481349
{"in_capsule_data_size": 8192, "max_io_qpairs_per_ctrlr": 7},
13491350
tgt_cmd_extra_args: Optional[str] = None,
1351+
discovery_addr: Optional[str] = None,
13501352
discovery_port: Optional[int] = None,
13511353
log_level: Optional[str] = 'INFO',
13521354
log_files_enabled: Optional[bool] = True,
@@ -1378,6 +1380,8 @@ def __init__(self,
13781380

13791381
#: RADOS pool where ceph-nvmeof config data is stored.
13801382
self.pool = pool
1383+
#: ``addr`` address of the nvmeof gateway
1384+
self.addr = addr or "0.0.0.0"
13811385
#: ``port`` port of the nvmeof gateway
13821386
self.port = port or 5500
13831387
#: ``name`` name of the nvmeof gateway
@@ -1442,6 +1446,8 @@ def __init__(self,
14421446
self.transport_tcp_options: Optional[Dict[str, int]] = transport_tcp_options
14431447
#: ``tgt_cmd_extra_args`` extra arguments for the nvmf_tgt process
14441448
self.tgt_cmd_extra_args = tgt_cmd_extra_args
1449+
#: ``discovery_addr`` address of the discovery service
1450+
self.discovery_addr = discovery_addr or "0.0.0.0"
14451451
#: ``discovery_port`` port of the discovery service
14461452
self.discovery_port = discovery_port or 8009
14471453
#: ``log_level`` the nvmeof gateway log level

0 commit comments

Comments
 (0)