diff options
author | Mehdi Abaakouk <sileht@redhat.com> | 2016-10-13 08:57:57 +0200 |
---|---|---|
committer | Mehdi Abaakouk <sileht@redhat.com> | 2016-11-07 11:41:19 +0100 |
commit | 1709b1cce4627f3465373ac44018ad94e783f9e6 (patch) | |
tree | 5f5f354610ef83de85df949a0dc0a85bbaa0bed7 /ceilometer/network | |
parent | 9e03f7ef809395099a429c0745623028c6c3f185 (diff) | |
download | ceilometer-1709b1cce4627f3465373ac44018ad94e783f9e6.tar.gz |
pollsters: stop using global conf
Change-Id: I0fc7d66ada06aca0fdef26ec1a5d8e26cbbc7fed
Diffstat (limited to 'ceilometer/network')
-rw-r--r-- | ceilometer/network/services/lbaas.py | 15 | ||||
-rw-r--r-- | ceilometer/network/statistics/__init__.py | 6 | ||||
-rw-r--r-- | ceilometer/network/statistics/driver.py | 2 | ||||
-rw-r--r-- | ceilometer/network/statistics/opencontrail/client.py | 20 | ||||
-rw-r--r-- | ceilometer/network/statistics/opencontrail/driver.py | 8 | ||||
-rw-r--r-- | ceilometer/network/statistics/opendaylight/client.py | 12 | ||||
-rw-r--r-- | ceilometer/network/statistics/opendaylight/driver.py | 5 |
7 files changed, 32 insertions, 36 deletions
diff --git a/ceilometer/network/services/lbaas.py b/ceilometer/network/services/lbaas.py index 5def3495..d4fe58e4 100644 --- a/ceilometer/network/services/lbaas.py +++ b/ceilometer/network/services/lbaas.py @@ -16,7 +16,6 @@ import abc import collections -from oslo_config import cfg from oslo_log import log import six @@ -44,9 +43,9 @@ LOAD_BALANCER_STATUS_V2 = { class BaseLBPollster(base.BaseServicesPollster): """Base Class for Load Balancer pollster""" - def __init__(self): - super(BaseLBPollster, self).__init__() - self.lb_version = cfg.CONF.service_types.neutron_lbaas_version + def __init__(self, conf): + super(BaseLBPollster, self).__init__(conf) + self.lb_version = self.conf.service_types.neutron_lbaas_version def get_load_balancer_status_id(self, value): if self.lb_version == 'v1': @@ -225,10 +224,10 @@ class _LBStatsPollster(base.BaseServicesPollster): and bandwidth. """ - def __init__(self): - super(_LBStatsPollster, self).__init__() - self.client = neutron_client.Client(cfg.CONF) - self.lb_version = cfg.CONF.service_types.neutron_lbaas_version + def __init__(self, conf): + super(_LBStatsPollster, self).__init__(conf) + self.client = neutron_client.Client(self.conf) + self.lb_version = self.conf.service_types.neutron_lbaas_version @staticmethod def make_sample_from_pool(pool, name, type, unit, volume, diff --git a/ceilometer/network/statistics/__init__.py b/ceilometer/network/statistics/__init__.py index f45ed710..5c14b06c 100644 --- a/ceilometer/network/statistics/__init__.py +++ b/ceilometer/network/statistics/__init__.py @@ -64,17 +64,17 @@ class _Base(plugin_base.PollsterBase): return parts, params @staticmethod - def get_driver(scheme): + def get_driver(conf, scheme): if scheme not in _Base.drivers: _Base.drivers[scheme] = _driver.DriverManager(_Base.NAMESPACE, - scheme).driver() + scheme).driver(conf) return _Base.drivers[scheme] def get_samples(self, manager, cache, resources): resources = resources or [] for resource in resources: parse_url, params = self._parse_my_resource(resource) - ext = self.get_driver(parse_url.scheme) + ext = self.get_driver(self.conf, parse_url.scheme) sample_data = ext.get_sample_data(self.meter_name, parse_url, params, diff --git a/ceilometer/network/statistics/driver.py b/ceilometer/network/statistics/driver.py index 0eb82550..2f19da6c 100644 --- a/ceilometer/network/statistics/driver.py +++ b/ceilometer/network/statistics/driver.py @@ -20,6 +20,8 @@ import six @six.add_metaclass(abc.ABCMeta) class Driver(object): + def __init__(self, conf): + self.conf = conf @abc.abstractmethod def get_sample_data(self, meter_name, parse_url, params, cache): diff --git a/ceilometer/network/statistics/opencontrail/client.py b/ceilometer/network/statistics/opencontrail/client.py index a85512ff..5a3f623c 100644 --- a/ceilometer/network/statistics/opencontrail/client.py +++ b/ceilometer/network/statistics/opencontrail/client.py @@ -37,7 +37,8 @@ class OpencontrailAPIFailed(Exception): class AnalyticsAPIBaseClient(object): """Opencontrail Base Statistics REST API Client.""" - def __init__(self, endpoint, data): + def __init__(self, conf, endpoint, data): + self.conf = conf self.endpoint = endpoint self.data = data or {} @@ -67,14 +68,13 @@ class AnalyticsAPIBaseClient(object): }, 'data': data, 'allow_redirects': False, - 'timeout': CONF.http_timeout, + 'timeout': self.conf.http_timeout, } return req_params - @staticmethod - def _log_req(url, req_params): - if not CONF.debug: + def _log_req(self, url, req_params): + if not self.conf.debug: return curl_command = ['REQ: curl -i -X GET '] @@ -90,9 +90,8 @@ class AnalyticsAPIBaseClient(object): LOG.debug(''.join(curl_command)) - @staticmethod - def _log_res(resp): - if not CONF.debug: + def _log_res(self, resp): + if not self.conf.debug: return dump = ['RES: \n', 'HTTP %.1f %s %s\n' % (resp.raw.version, @@ -124,6 +123,5 @@ class NetworksAPIClient(AnalyticsAPIBaseClient): class Client(object): - - def __init__(self, endpoint, data=None): - self.networks = NetworksAPIClient(endpoint, data) + def __init__(self, conf, endpoint, data=None): + self.networks = NetworksAPIClient(conf, endpoint, data) diff --git a/ceilometer/network/statistics/opencontrail/driver.py b/ceilometer/network/statistics/opencontrail/driver.py index 492e70e7..f17a77b5 100644 --- a/ceilometer/network/statistics/opencontrail/driver.py +++ b/ceilometer/network/statistics/opencontrail/driver.py @@ -14,7 +14,6 @@ import re -from oslo_config import cfg from six.moves.urllib import parse as urlparse from ceilometer.network.statistics import driver @@ -58,15 +57,14 @@ class OpencontrailDriver(driver.Driver): opencontrail://localhost:8081/?resource=fip_stats_list& virtual_network=default-domain:openstack:public """ - @staticmethod - def _prepare_cache(endpoint, params, cache): + def _prepare_cache(self, endpoint, params, cache): if 'network.statistics.opencontrail' in cache: return cache['network.statistics.opencontrail'] data = { - 'o_client': client.Client(endpoint), - 'n_client': neutron_client.Client(cfg.CONF) + 'o_client': client.Client(self.conf, endpoint), + 'n_client': neutron_client.Client(self.conf) } cache['network.statistics.opencontrail'] = data diff --git a/ceilometer/network/statistics/opendaylight/client.py b/ceilometer/network/statistics/opendaylight/client.py index 3e78636a..26d9a36b 100644 --- a/ceilometer/network/statistics/opendaylight/client.py +++ b/ceilometer/network/statistics/opendaylight/client.py @@ -156,23 +156,23 @@ class HostTrackerAPIClient(_Base): class Client(object): - def __init__(self, endpoint, params): + def __init__(self, conf, endpoint, params): self.statistics = StatisticsAPIClient(self) self.topology = TopologyAPIClient(self) self.switch_manager = SwitchManagerAPIClient(self) self.host_tracker = HostTrackerAPIClient(self) self._endpoint = endpoint + self.conf = conf self._req_params = self._get_req_params(params) - @staticmethod - def _get_req_params(params): + def _get_req_params(self, params): req_params = { 'headers': { 'Accept': 'application/json' }, - 'timeout': CONF.http_timeout, + 'timeout': self.conf.http_timeout, } auth_way = params.get('auth') @@ -221,10 +221,10 @@ class Client(object): LOG.debug(''.join(dump)) def _http_request(self, url): - if CONF.debug: + if self.conf.debug: self._log_req(url) resp = requests.get(url, **self._req_params) - if CONF.debug: + if self.conf.debug: self._log_res(resp) if resp.status_code // 100 != 2: raise OpenDaylightRESTAPIFailed( diff --git a/ceilometer/network/statistics/opendaylight/driver.py b/ceilometer/network/statistics/opendaylight/driver.py index bc78dbe5..2543c7bc 100644 --- a/ceilometer/network/statistics/opendaylight/driver.py +++ b/ceilometer/network/statistics/opendaylight/driver.py @@ -81,8 +81,7 @@ class OpenDayLightDriver(driver.Driver): http://127.0.0.1:8080/controller/nb/v2/statistics/default/flow http://127.0.0.1:8080/controller/nb/v2/statistics/egg/flow """ - @staticmethod - def _prepare_cache(endpoint, params, cache): + def _prepare_cache(self, endpoint, params, cache): if 'network.statistics.opendaylight' in cache: return cache['network.statistics.opendaylight'] @@ -98,7 +97,7 @@ class OpenDayLightDriver(driver.Driver): odl_params['user'] = params['user'][0] if 'password' in params: odl_params['password'] = params['password'][0] - cs = client.Client(endpoint, odl_params) + cs = client.Client(self.conf, endpoint, odl_params) for container_name in container_names: try: |