"""
Create a new monitor on the given host.
"""
+ assert self.TYPE == daemon_spec.daemon_type
name, host, network = daemon_spec.daemon_id, daemon_spec.host, daemon_spec.network
# get mon. key
"""
Create a new manager instance on a host.
"""
+ assert self.TYPE == daemon_spec.daemon_type
mgr_id, host = daemon_spec.daemon_id, daemon_spec.host
+
# get mgr. key
ret, keyring, err = self.mgr.check_mon_command({
'prefix': 'auth get-or-create',
TYPE = 'mds'
def config(self, spec: ServiceSpec) -> None:
- # ensure mds_join_fs is set for these daemons
+ assert self.TYPE == spec.service_type
assert spec.service_id
+
+ # ensure mds_join_fs is set for these daemons
ret, out, err = self.mgr.check_mon_command({
'prefix': 'config set',
'who': 'mds.' + spec.service_id,
})
def create(self, daemon_spec: CephadmDaemonSpec) -> str:
+ assert self.TYPE == daemon_spec.daemon_type
mds_id, host = daemon_spec.daemon_id, daemon_spec.host
# get mgr. key
TYPE = 'rgw'
def config(self, spec: RGWSpec) -> None:
+ assert self.TYPE == spec.service_type
+
# ensure rgw_realm and rgw_zone is set for these daemons
ret, out, err = self.mgr.check_mon_command({
'prefix': 'config set',
self.mgr.spec_store.save(spec)
def create(self, daemon_spec: CephadmDaemonSpec) -> str:
+ assert self.TYPE == daemon_spec.daemon_type
rgw_id, host = daemon_spec.daemon_id, daemon_spec.host
+
ret, keyring, err = self.mgr.check_mon_command({
'prefix': 'auth get-or-create',
'entity': f"{utils.name_to_config_section('rgw')}.{rgw_id}",
TYPE = 'rbd-mirror'
def create(self, daemon_spec: CephadmDaemonSpec) -> str:
+ assert self.TYPE == daemon_spec.daemon_type
daemon_id, host = daemon_spec.daemon_id, daemon_spec.host
+
ret, keyring, err = self.mgr.check_mon_command({
'prefix': 'auth get-or-create',
'entity': 'client.rbd-mirror.' + daemon_id,
TYPE = 'crash'
def create(self, daemon_spec: CephadmDaemonSpec) -> str:
+ assert self.TYPE == daemon_spec.daemon_type
daemon_id, host = daemon_spec.daemon_id, daemon_spec.host
+
ret, keyring, err = self.mgr.check_mon_command({
'prefix': 'auth get-or-create',
'entity': 'client.crash.' + host,
TYPE = 'iscsi'
def config(self, spec: IscsiServiceSpec) -> None:
+ assert self.TYPE == spec.service_type
self.mgr._check_pool_exists(spec.pool, spec.service_name())
logger.info('Saving service %s spec with placement %s' % (
self.mgr.spec_store.save(spec)
def create(self, daemon_spec: CephadmDaemonSpec[IscsiServiceSpec]) -> str:
+ assert self.TYPE == daemon_spec.daemon_type
+ assert daemon_spec.spec
+
spec = daemon_spec.spec
- if spec is None:
- raise OrchestratorError(f'Unable to deploy {daemon_spec.name()}: Service not found.')
igw_id = daemon_spec.daemon_id
+
ret, keyring, err = self.mgr.check_mon_command({
'prefix': 'auth get-or-create',
'entity': utils.name_to_auth_entity('iscsi', igw_id),
DEFAULT_SERVICE_PORT = 3000
def create(self, daemon_spec: CephadmDaemonSpec) -> str:
+ assert self.TYPE == daemon_spec.daemon_type
return self.mgr._create_daemon(daemon_spec)
def generate_config(self, daemon_spec: CephadmDaemonSpec) -> Tuple[Dict[str, Any], List[str]]:
+ assert self.TYPE == daemon_spec.daemon_type
deps = [] # type: List[str]
prom_services = [] # type: List[str]
DEFAULT_SERVICE_PORT = 9093
def create(self, daemon_spec: CephadmDaemonSpec) -> str:
+ assert self.TYPE == daemon_spec.daemon_type
return self.mgr._create_daemon(daemon_spec)
def generate_config(self, daemon_spec: CephadmDaemonSpec) -> Tuple[Dict[str, Any], List[str]]:
+ assert self.TYPE == daemon_spec.daemon_type
deps = [] # type: List[str]
# dashboard(s)
DEFAULT_SERVICE_PORT = 9095
def create(self, daemon_spec: CephadmDaemonSpec) -> str:
+ assert self.TYPE == daemon_spec.daemon_type
return self.mgr._create_daemon(daemon_spec)
def generate_config(self, daemon_spec: CephadmDaemonSpec) -> Tuple[Dict[str, Any], List[str]]:
+ assert self.TYPE == daemon_spec.daemon_type
deps = [] # type: List[str]
# scrape mgrs
TYPE = 'node-exporter'
def create(self, daemon_spec: CephadmDaemonSpec) -> str:
+ assert self.TYPE == daemon_spec.daemon_type
return self.mgr._create_daemon(daemon_spec)
def generate_config(self, daemon_spec: CephadmDaemonSpec) -> Tuple[Dict[str, Any], List[str]]:
+ assert self.TYPE == daemon_spec.daemon_type
return {}, []
TYPE = 'nfs'
def generate_config(self, daemon_spec: CephadmDaemonSpec) -> Tuple[Dict[str, Any], List[str]]:
+ assert self.TYPE == daemon_spec.daemon_type
+
daemon_type = daemon_spec.daemon_type
daemon_id = daemon_spec.daemon_id
host = daemon_spec.host
return cephadm_config, deps
def config(self, spec: NFSServiceSpec) -> None:
+ assert self.TYPE == spec.service_type
self.mgr._check_pool_exists(spec.pool, spec.service_name())
+
logger.info('Saving service %s spec with placement %s' % (
spec.service_name(), spec.placement.pretty_str()))
self.mgr.spec_store.save(spec)
def create(self, daemon_spec: CephadmDaemonSpec[NFSServiceSpec]) -> str:
+ assert self.TYPE == daemon_spec.daemon_type
+ assert daemon_spec.spec
+
daemon_id = daemon_spec.daemon_id
host = daemon_spec.host
spec = daemon_spec.spec
+
logger.info('Create daemon %s on host %s with spec %s' % (
daemon_id, host, spec))
return self.mgr._create_daemon(daemon_spec)