parameters: (self,
                      daemon_type: str,
                      spec: ServiceSpec)
return_statement: return self._create_daemons(daemon_type, spec, daemons,
                                      spec.placement.hosts, count)
docstring: Add (and place) a daemon. Require explicit host placement.  Do not
          schedule, and do not apply the related scheduling limitations.
docstring_summary: Add (and place) a daemon. Require explicit host placement.  Do not
          schedule, and do not apply the related scheduling limitations.
docstring_tokens: Add ( and place ) a daemon . Require explicit host placement . Do not schedule and do not apply the related scheduling limitations .
function: def _add_daemon(self,
                      daemon_type: str,
                      spec: ServiceSpec) -> List[str]:
          """
          Add (and place) a daemon. Require explicit host placement.  Do not
          schedule, and do not apply the related scheduling limitations.
          """
          if spec.service_name() not in self.spec_store:
              raise OrchestratorError('Unable to add a Daemon without Service.\n'
                                      'Please use `ceph orch apply ...` to create a Service.\n'
                                      'Note, you might want to create the service with "unmanaged=true"')
  
          self.log.debug('_add_daemon %s spec %s' % (daemon_type, spec.placement))
          if not spec.placement.hosts:
              raise OrchestratorError('must specify host(s) to deploy on')
          count = spec.placement.count or len(spec.placement.hosts)
          daemons = self.cache.get_daemons_by_service(spec.service_name())
          return self._create_daemons(daemon_type, spec, daemons,
                                      spec.placement.hosts, count)
function_tokens: def _add_daemon ( self , daemon_type : str , spec : ServiceSpec ) -> List [ str ] : if spec . service_name ( ) not in self . spec_store : raise OrchestratorError ( 'Unable to add a Daemon without Service.\n' 'Please use `ceph orch apply ...` to create a Service.\n' 'Note, you might want to create the service with "unmanaged=true"' ) self . log . debug ( '_add_daemon %s spec %s' % ( daemon_type , spec . placement ) ) if not spec . placement . hosts : raise OrchestratorError ( 'must specify host(s) to deploy on' ) count = spec . placement . count or len ( spec . placement . hosts ) daemons = self . cache . get_daemons_by_service ( spec . service_name ( ) ) return self . _create_daemons ( daemon_type , spec , daemons , spec . placement . hosts , count )