'--name', daemon_spec.name(),
'--meta-json', json.dumps({
'service_name': daemon_spec.service_name,
+ 'ports': daemon_spec.ports,
+ 'ip': daemon_spec.ip,
}),
'--config-json', '-',
] + daemon_spec.extra_args,
ceph_conf: str = '',
extra_files: Optional[Dict[str, Any]] = None,
daemon_type: Optional[str] = None,
- ports: Optional[List[int]] = None,):
+ ip: Optional[str] = None,
+ ports: Optional[List[int]] = None):
"""
A data struction to encapsulate `cephadm deploy ...
"""
# TCP ports used by the daemon
self.ports: List[int] = ports or []
+ self.ip: Optional[str] = ip
# values to be populated during generate_config calls
# and then used in _run_cephadm
daemon_id=self.daemon_id,
hostname=self.host,
status=status,
- status_desc=status_desc
+ status_desc=status_desc,
+ ip=self.ip,
+ ports=self.ports,
)
def allow_colo(self) -> bool:
return False
- def make_daemon_spec(self, host: str,
- daemon_id: str,
- network: str,
- spec: ServiceSpecs,
- daemon_type: Optional[str] = None,) -> CephadmDaemonDeploySpec:
+ def make_daemon_spec(
+ self, host: str,
+ daemon_id: str,
+ network: str,
+ spec: ServiceSpecs,
+ daemon_type: Optional[str] = None,
+ ports: Optional[List[int]] = None
+ ) -> CephadmDaemonDeploySpec:
return CephadmDaemonDeploySpec(
host=host,
daemon_id=daemon_id,
service_name=spec.service_name(),
network=network,
- daemon_type=daemon_type
+ daemon_type=daemon_type,
+ ports=ports,
)
def prepare_create(self, daemon_spec: CephadmDaemonDeploySpec) -> CephadmDaemonDeploySpec: