예제 #1
0
    def __init__(self, worker_id):
        self._worker_id = worker_id
        super(CloudKittyProcessor, self).__init__(self._worker_id)

        self.tenants = []

        self.fetcher = driver.DriverManager(
            FETCHERS_NAMESPACE,
            CONF.fetcher.backend,
            invoke_on_load=True,
        ).driver

        self.collector = collector.get_collector()
        self.storage = storage.get_storage()
        self._state = state.StateManager()

        # RPC
        self.server = None
        self._rating_endpoint = RatingEndpoint(self)
        self._scope_endpoint = ScopeEndpoint()
        self._init_messaging()

        # DLM
        self.coord = coordination.get_coordinator(
            CONF.orchestrator.coordination_url,
            uuidutils.generate_uuid().encode('ascii'))
        self.coord.start(start_heart=True)
        self.next_timestamp_to_process = functools.partial(
            _check_state, self, CONF.collect.period)

        self.worker_class = Worker
        self.log_worker_initiated()
예제 #2
0
    def __init__(self, worker_id):
        self._worker_id = worker_id
        super(Orchestrator, self).__init__(self._worker_id)

        self.fetcher = driver.DriverManager(
            FETCHERS_NAMESPACE,
            CONF.fetcher.backend,
            invoke_on_load=True,
        ).driver

        transformers = transformer.get_transformers()
        self.collector = collector.get_collector(transformers)
        self.storage = storage.get_storage()
        self._state = state.StateManager()

        # RPC
        self.server = None
        self._rating_endpoint = RatingEndpoint(self)
        self._init_messaging()

        # DLM
        self.coord = coordination.get_coordinator(
            CONF.orchestrator.coordination_url,
            uuidutils.generate_uuid().encode('ascii'))
        self.coord.start(start_heart=True)
예제 #3
0
def get_storage(collector=None):
    storage_args = {
        'period': METRICS_CONF['period'],
        'collector': collector if collector else ck_collector.get_collector()
    }
    backend = driver.DriverManager(STORAGES_NAMESPACE,
                                   cfg.CONF.storage.backend,
                                   invoke_on_load=True,
                                   invoke_kwds=storage_args).driver
    return backend
예제 #4
0
def get_storage(collector=None):
    storage_args = {
        'period': CONF.collect.period,
        'collector': collector if collector else ck_collector.get_collector()}
    backend = driver.DriverManager(
        STORAGES_NAMESPACE,
        cfg.CONF.storage.backend,
        invoke_on_load=True,
        invoke_kwds=storage_args).driver
    return backend
예제 #5
0
def get_storage(collector=None):
    storage_args = {
        'period': METRICS_CONF['period'],
        'collector': collector if collector else ck_collector.get_collector()
    }
    backend = driver.DriverManager(STORAGES_NAMESPACE,
                                   cfg.CONF.storage.backend,
                                   invoke_on_load=True,
                                   invoke_kwds=storage_args).driver
    if cfg.CONF.storage.backend not in ['sqlalchemy', 'hybrid']:
        LOG.warning('{} storage backend is deprecated and will be removed '
                    'in a future release.'.format(cfg.CONF.storage.backend))
    return backend
예제 #6
0
    def __init__(self):
        # Tenant fetcher
        self.fetcher = driver.DriverManager(FETCHERS_NAMESPACE,
                                            CONF.tenant_fetcher.backend,
                                            invoke_on_load=True).driver

        self.transformers = transformer.get_transformers()
        self.collector = collector.get_collector(self.transformers)
        self.storage = storage.get_storage(self.collector)

        # RPC
        self.server = None
        self._rating_endpoint = RatingEndpoint(self)
        self._init_messaging()

        # DLM
        self.coord = coordination.get_coordinator(
            CONF.orchestrator.coordination_url,
            str(uuid.uuid4()).encode('ascii'))
        self.coord.start()
예제 #7
0
    def __init__(self):
        # Tenant fetcher
        self.fetcher = driver.DriverManager(
            FETCHERS_NAMESPACE,
            CONF.tenant_fetcher.backend,
            invoke_on_load=True).driver

        self.transformers = transformer.get_transformers()
        self.collector = collector.get_collector(self.transformers)
        self.storage = storage.get_storage(self.collector)

        # RPC
        self.server = None
        self._rating_endpoint = RatingEndpoint(self)
        self._init_messaging()

        # DLM
        self.coord = coordination.get_coordinator(
            CONF.orchestrator.coordination_url,
            str(uuid.uuid4()).encode('ascii'))
        self.coord.start()
예제 #8
0
    def __init__(self):
        self.fetcher = driver.DriverManager(
            FETCHERS_NAMESPACE,
            METRICS_CONF['fetcher'],
            invoke_on_load=True
        ).driver

        transformers = transformer.get_transformers()
        self.collector = collector.get_collector(transformers)
        self.storage = storage.get_storage()

        # RPC
        self.server = None
        self._rating_endpoint = RatingEndpoint(self)
        self._init_messaging()

        # DLM
        self.coord = coordination.get_coordinator(
            CONF.orchestrator.coordination_url,
            uuidutils.generate_uuid().encode('ascii'))
        self.coord.start()
예제 #9
0
    def __init__(self):
        # Tenant fetcher
        self.fetcher = driver.DriverManager(FETCHERS_NAMESPACE,
                                            CONF.tenant_fetcher.backend,
                                            invoke_on_load=True).driver

        self.transformers = transformer.get_transformers()
        self.collector = collector.get_collector(self.transformers)
        self.storage = storage.get_storage(self.collector)

        # RPC
        self.server = None
        self._rating_endpoint = RatingEndpoint(self)
        self._init_messaging()

        # DLM
        self.coord = coordination.get_coordinator(
            CONF.orchestrator.coordination_url,
            uuidutils.generate_uuid().encode('ascii'))
        self.coord.start()

        self._period = METRICS_CONF['period']
        self._wait_time = METRICS_CONF['wait_periods'] * self._period