@_cli_write_command(
'orch daemon add mon',
- "name=num,type=CephInt,req=false "
- "name=hosts,type=CephString,n=N,req=false "
- "name=label,type=CephString,req=false",
+ 'name=placement,type=CephString,n=N,req=false',
'Start monitor daemon(s)')
- def _daemon_add_mon(self, num=None, hosts=[], label=None):
- if not num and not hosts and not label:
- # Improve Error message. Point to parse_host_spec examples
- raise OrchestratorValidationError("Mons need a placement spec. (num, host, network, name(opt))")
- placement = PlacementSpec(label=label, count=num, hosts=hosts)
+ def _daemon_add_mon(self, placement=None):
+ placement = PlacementSpec.from_strings(placement)
placement.validate()
spec = ServiceSpec('mon', placement=placement)
@_cli_write_command(
'orch daemon add mgr',
- "name=num,type=CephInt,req=false "
- "name=hosts,type=CephString,n=N,req=false",
+ 'name=placement,type=CephString,n=N,req=false',
'Start rbd-mirror daemon(s)')
- def _daemon_add_mgr(self, num=None, hosts=None):
+ def _daemon_add_mgr(self, placement=None):
spec = ServiceSpec(
'mgr',
- placement=PlacementSpec(hosts=hosts, count=num))
+ placement=PlacementSpec.from_strings(placement),
+ )
completion = self.add_mgr(spec)
self._orchestrator_wait([completion])
raise_if_exception(completion)
@_cli_write_command(
'orch daemon add rbd-mirror',
- "name=num,type=CephInt,req=false "
- "name=hosts,type=CephString,n=N,req=false",
+ 'name=placement,type=CephString,n=N,req=false',
'Start rbd-mirror daemon(s)')
- def _rbd_mirror_add(self, num=None, hosts=None):
+ def _rbd_mirror_add(self, placement=None):
spec = ServiceSpec(
'rbd-mirror',
- placement=PlacementSpec(hosts=hosts, count=num))
+ placement=PlacementSpec.from_strings(placement),
+ )
completion = self.add_rbd_mirror(spec)
self._orchestrator_wait([completion])
raise_if_exception(completion)
@_cli_write_command(
'orch daemon add mds',
- "name=fs_name,type=CephString "
- "name=num,type=CephInt,req=false "
- "name=hosts,type=CephString,n=N,req=false",
+ 'name=fs_name,type=CephString '
+ 'name=placement,type=CephString,n=N,req=false',
'Start MDS daemon(s)')
- def _mds_add(self, fs_name, num=None, hosts=None):
+ def _mds_add(self, fs_name, placement=None):
spec = ServiceSpec(
'mds', fs_name,
- placement=PlacementSpec(hosts=hosts, count=num))
+ placement=PlacementSpec.from_strings(placement),
+ )
completion = self.add_mds(spec)
self._orchestrator_wait([completion])
raise_if_exception(completion)
'orch daemon add rgw',
'name=realm_name,type=CephString '
'name=zone_name,type=CephString '
- 'name=num,type=CephInt,req=false '
- "name=hosts,type=CephString,n=N,req=false",
+ 'name=placement,type=CephString,n=N,req=false',
'Start RGW daemon(s)')
- def _rgw_add(self, realm_name, zone_name, num=1, hosts=None, inbuf=None):
+ def _rgw_add(self, realm_name, zone_name, placement=None, inbuf=None):
usage = """
Usage:
- ceph orch rgw add -i <json_file>
- ceph orch rgw add <realm_name> <zone_name>
+ ceph orch daemon rgw add -i <json_file>
+ ceph orch daemon rgw add <realm_name> <zone_name>
"""
if inbuf:
try:
rgw_spec = RGWSpec(
rgw_realm=realm_name,
rgw_zone=zone_name,
- placement=PlacementSpec(hosts=hosts, count=num))
+ placement=PlacementSpec.from_strings(placement),
+ )
completion = self.add_rgw(rgw_spec)
self._orchestrator_wait([completion])
"name=svc_arg,type=CephString "
"name=pool,type=CephString "
"name=namespace,type=CephString,req=false "
- 'name=num,type=CephInt,req=false '
- 'name=hosts,type=CephString,n=N,req=false '
- 'name=label,type=CephString,req=false',
+ 'name=placement,type=CephString,n=N,req=false',
'Start NFS daemon(s)')
- def _nfs_add(self, svc_arg, pool, namespace=None, num=None, label=None, hosts=[]):
+ def _nfs_add(self, svc_arg, pool, namespace=None, placement=None):
spec = NFSServiceSpec(
svc_arg,
pool=pool,
namespace=namespace,
- placement=PlacementSpec(label=label, hosts=hosts, count=num),
+ placement=PlacementSpec.from_strings(placement),
)
spec.validate_add()
completion = self.add_nfs(spec)
@_cli_write_command(
'orch daemon add prometheus',
- 'name=num,type=CephInt,req=false '
- 'name=hosts,type=CephString,n=N,req=false '
- 'name=label,type=CephString,req=false',
+ 'name=placement,type=CephString,n=N,req=false',
'Add prometheus daemon(s)')
- def _daemon_add_prometheus(self, num=None, label=None, hosts=[]):
- # type: (Optional[int], Optional[str], List[str]) -> HandleCommandResult
+ def _daemon_add_prometheus(self, placement=None):
spec = ServiceSpec(
'prometheus',
- placement=PlacementSpec(label=label, hosts=hosts, count=num),
+ placement=PlacementSpec.from_strings(placement),
)
completion = self.add_prometheus(spec)
self._orchestrator_wait([completion])
@_cli_write_command(
'orch daemon add node-exporter',
- 'name=num,type=CephInt,req=false '
- 'name=hosts,type=CephString,n=N,req=false '
- 'name=label,type=CephString,req=false',
+ 'name=placement,type=CephString,n=N,req=false',
'Add node-exporter daemon(s)')
- def _daemon_add_node_exporter(self, num=None, label=None, hosts=[]):
- # type: (Optional[int], Optional[str], List[str]) -> HandleCommandResult
+ def _daemon_add_node_exporter(self, placement=None):
spec = ServiceSpec(
'node-exporter',
- placement=PlacementSpec(label=label, hosts=hosts, count=num),
+ placement=PlacementSpec.from_strings(placement),
)
completion = self.add_node_exporter(spec)
self._orchestrator_wait([completion])
@_cli_write_command(
'orch daemon add grafana',
- 'name=num,type=CephInt,req=false '
- 'name=hosts,type=CephString,n=N,req=false '
- 'name=label,type=CephString,req=false',
+ 'name=placement,type=CephString,n=N,req=false',
'Add grafana daemon(s)')
- def _daemon_add_grafana(self, num=None, label=None, hosts=[]):
- # type: (Optional[int], Optional[str], List[str]) -> HandleCommandResult
+ def _daemon_add_grafana(self, placement=None):
+ # type: (Optional[List[str]]) -> HandleCommandResult
spec = ServiceSpec(
'grafana',
- placement=PlacementSpec(label=label, hosts=hosts, count=num),
+ placement=PlacementSpec.from_strings(placement),
)
completion = self.add_grafana(spec)
self._orchestrator_wait([completion])
@_cli_write_command(
'orch daemon add alertmanager',
- 'name=num,type=CephInt,req=false '
- 'name=hosts,type=CephString,n=N,req=false '
- 'name=label,type=CephString,req=false',
+ 'name=placement,type=CephString,n=N,req=false',
'Add alertmanager daemon(s)')
- def _daemon_add_alertmanager(self, num=None, label=None, hosts=[]):
- # type: (Optional[int], Optional[str], List[str]) -> HandleCommandResult
+ def _daemon_add_alertmanager(self, placement=None):
+ # type: (Optional[List[str]]) -> HandleCommandResult
spec = ServiceSpec(
'alertmanager',
- placement=PlacementSpec(label=label, hosts=hosts, count=num),
+ placement=PlacementSpec.from_strings(placement),
)
completion = self.add_alertmanager(spec)
self._orchestrator_wait([completion])
@_cli_write_command(
'orch apply mgr',
- "name=num,type=CephInt,req=false "
- "name=hosts,type=CephString,n=N,req=false "
- "name=label,type=CephString,req=false",
+ 'name=placement,type=CephString,n=N,req=false',
'Update the size or placement of managers')
- def _apply_mgr(self, num=None, hosts=[], label=None):
- placement = PlacementSpec(
- label=label, count=num, hosts=hosts)
+ def _apply_mgr(self, placement=None):
+ placement = PlacementSpec.from_strings(placement)
placement.validate()
spec = ServiceSpec('mgr', placement=placement)
@_cli_write_command(
'orch apply mon',
- "name=num,type=CephInt,req=false "
- "name=hosts,type=CephString,n=N,req=false "
- "name=label,type=CephString,req=false",
+ 'name=placement,type=CephString,n=N,req=false',
'Update the number of monitor instances')
- def _apply_mon(self, num=None, hosts=[], label=None):
- if not num and not hosts and not label:
- # Improve Error message. Point to parse_host_spec examples
- raise OrchestratorValidationError("Mons need a placement spec. (num, host, network, name(opt))")
- placement = PlacementSpec(label=label, count=num, hosts=hosts)
+ def _apply_mon(self, placement=None):
+ placement = PlacementSpec.from_strings(placement)
placement.validate()
spec = ServiceSpec('mon', placement=placement)
@_cli_write_command(
'orch apply mds',
- "name=fs_name,type=CephString "
- "name=num,type=CephInt,req=false "
- "name=hosts,type=CephString,n=N,req=false "
- "name=label,type=CephString,req=false",
+ 'name=fs_name,type=CephString '
+ 'name=placement,type=CephString,n=N,req=false',
'Update the number of MDS instances for the given fs_name')
- def _apply_mds(self, fs_name, num=None, label=None, hosts=[]):
- placement = PlacementSpec(label=label, count=num, hosts=hosts)
+ def _apply_mds(self, fs_name, placement=None):
+ placement = PlacementSpec.from_strings(placement)
placement.validate()
spec = ServiceSpec(
'mds', fs_name,
@_cli_write_command(
'orch apply rbd-mirror',
- "name=num,type=CephInt,req=false "
- "name=hosts,type=CephString,n=N,req=false "
- "name=label,type=CephString,req=false",
+ 'name=placement,type=CephString,n=N,req=false',
'Update the number of rbd-mirror instances')
- def _apply_rbd_mirror(self, num, label=None, hosts=[]):
+ def _apply_rbd_mirror(self, placement=None):
spec = ServiceSpec(
'rbd-mirror',
- placement=PlacementSpec(hosts=hosts, count=num, label=label))
+ placement=PlacementSpec.from_strings(placement),
+ )
completion = self.apply_rbd_mirror(spec)
self._orchestrator_wait([completion])
raise_if_exception(completion)
'orch apply rgw',
'name=realm_name,type=CephString '
'name=zone_name,type=CephString '
- 'name=num,type=CephInt,req=false '
- 'name=hosts,type=CephString,n=N,req=false '
- 'name=label,type=CephString,req=false',
+ 'name=placement,type=CephString,n=N,req=false',
'Update the number of RGW instances for the given zone')
- def _apply_rgw(self, zone_name, realm_name, num=None, label=None, hosts=[]):
+ def _apply_rgw(self, zone_name, realm_name, placement=None):
spec = RGWSpec(
rgw_realm=realm_name,
rgw_zone=zone_name,
- placement=PlacementSpec(hosts=hosts, label=label, count=num))
+ placement=PlacementSpec.from_strings(placement),
+ )
completion = self.apply_rgw(spec)
self._orchestrator_wait([completion])
raise_if_exception(completion)
@_cli_write_command(
'orch apply nfs',
"name=svc_id,type=CephString "
- 'name=num,type=CephInt,req=false '
- 'name=hosts,type=CephString,n=N,req=false '
- 'name=label,type=CephString,req=false',
+ 'name=placement,type=CephString,n=N,req=false',
'Scale an NFS service')
- def _apply_nfs(self, svc_id, num=None, label=None, hosts=[]):
- # type: (str, Optional[int], Optional[str], List[str]) -> HandleCommandResult
+ def _apply_nfs(self, svc_id, placement=None):
spec = NFSServiceSpec(
svc_id,
- placement=PlacementSpec(label=label, hosts=hosts, count=num),
+ placement=PlacementSpec.from_strings(placement),
)
completion = self.apply_nfs(spec)
self._orchestrator_wait([completion])
@_cli_write_command(
'orch apply prometheus',
- 'name=num,type=CephInt,req=false '
- 'name=hosts,type=CephString,n=N,req=false '
- 'name=label,type=CephString,req=false',
+ 'name=placement,type=CephString,n=N,req=false',
'Scale prometheus service')
- def _apply_prometheus(self, num=None, label=None, hosts=[]):
- # type: (Optional[int], Optional[str], List[str]) -> HandleCommandResult
+ def _apply_prometheus(self, placement=None):
spec = ServiceSpec(
'prometheus',
- placement=PlacementSpec(label=label, hosts=hosts, count=num),
+ placement=PlacementSpec.from_strings(placement),
)
completion = self.apply_prometheus(spec)
self._orchestrator_wait([completion])
@_cli_write_command(
'orch apply node-exporter',
- 'name=num,type=CephInt,req=false '
- 'name=hosts,type=CephString,n=N,req=false '
- 'name=label,type=CephString,req=false',
+ 'name=placement,type=CephString,n=N,req=false',
'Update node_exporter service')
- def _apply_node_exporter(self, num=None, label=None, hosts=[]):
- # type: (Optional[int], Optional[str], List[str]) -> HandleCommandResult
+ def _apply_node_exporter(self, placement=None):
spec = ServiceSpec(
'node-exporter',
- placement=PlacementSpec(label=label, hosts=hosts, count=num),
+ placement=PlacementSpec.from_strings(placement),
)
completion = self.apply_node_exporter(spec)
self._orchestrator_wait([completion])