Beispiel #1
0
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
Beispiel #2
0
 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)