'mds': self._create_mds,
'rgw': self._create_rgw,
'rbd-mirror': self._create_rbd_mirror,
+ 'nfs': self._create_nfs,
'grafana': self._create_grafana,
'alertmanager': self._create_alertmanager,
'prometheus': self._create_prometheus,
daemon_type, daemon_id, host))
if daemon_type == 'mon':
create_func(daemon_id, host, network) # type: ignore
+ elif daemon_type == 'nfs':
+ create_func(daemon_id, host, spec) # type: ignore
else:
create_func(daemon_id, host) # type: ignore
'mds': PlacementSpec(count=2),
'rgw': PlacementSpec(count=2),
'rbd-mirror': PlacementSpec(count=2),
+ 'nfs': PlacementSpec(count=1),
'grafana': PlacementSpec(count=1),
'alertmanager': PlacementSpec(count=1),
'prometheus': PlacementSpec(count=1),
keyring=keyring,
cephadm_config=cephadm_config)
+ @trivial_completion
+ def apply_nfs(self, spec):
+ return self._apply(spec)
+
def _generate_prometheus_config(self):
# type: () -> Tuple[Dict[str, Any], List[str]]
deps = [] # type: List[str]
@_cli_write_command(
'orch apply nfs',
- "name=svc_id,type=CephString "
+ 'name=svc_id,type=CephString '
+ 'name=pool,type=CephString '
+ 'name=namespace,type=CephString,req=false '
'name=placement,type=CephString,req=false '
'name=unmanaged,type=CephBool,req=false',
'Scale an NFS service')
- def _apply_nfs(self, svc_id, placement=None, unmanaged=False):
+ def _apply_nfs(self, svc_id, pool, namespace=None, placement=None, unmanaged=False):
spec = NFSServiceSpec(
svc_id,
+ pool=pool,
+ namespace=namespace,
placement=PlacementSpec.from_string(placement),
unmanaged=unmanaged,
)