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.notifier = FakeProvisionerNotifier() self.store = ProvisionerStore() self.ctx = FakeContextClient() self.driver = FakeNodeDriver() self.dtrs = FakeDTRS() drivers = {'fake': self.driver} self.core = ProvisionerCore(store=self.store, notifier=self.notifier, dtrs=self.dtrs, site_drivers=drivers, context=self.ctx)