class ProvisionerService(ServiceProcess): """Provisioner service interface """ # Declaration of service declare = ServiceProcess.service_declare(name='provisioner', version='0.1.0', dependencies=[]) @defer.inlineCallbacks def slc_init(self): cei_events.event("provisioner", "init_begin") try: store = self.spawn_args['store'] site_drivers = self.spawn_args['site_drivers'] context_client = self.spawn_args['context_client'] except KeyError, e: raise KeyError("Missing provisioner spawn_arg: " + str(e)) self.store = store notifier = self.spawn_args.get('notifier') self.notifier = notifier or ProvisionerNotifier(self) self.dtrs = DeployableTypeRegistryClient(self) self.core = ProvisionerCore(self.store, self.notifier, self.dtrs, site_drivers, context_client) yield self.core.recover() cei_events.event("provisioner", "init_end") # operator can disable new launches self.enabled = True self.terminate_all_deferred = None
def setUp(self): self.registry = {} yield self._start_container() procs = [ { 'name': 'dtrs', 'module': 'epu.ionproc.dtrs', 'class': 'DeployableTypeRegistryService', 'spawnargs': { 'registry': self.registry } }, ] yield self._spawn_processes(procs) dtrsId = yield self.procRegistry.get("dtrs") self.client = DeployableTypeRegistryClient(pid=dtrsId)