diff options
author | Mehdi Abaakouk <sileht@redhat.com> | 2015-09-28 09:02:25 +0200 |
---|---|---|
committer | Mehdi Abaakouk <sileht@redhat.com> | 2015-12-08 15:45:08 +0100 |
commit | 51a6096a85bf66e918f5981546841e73e038bceb (patch) | |
tree | 9e530886aae8057af21eaac74e9fc53016c2c3e2 /ceilometer/objectstore | |
parent | 6751acb767ef0fe31d4ee2643cc4c327abcf8abd (diff) | |
download | ceilometer-51a6096a85bf66e918f5981546841e73e038bceb.tar.gz |
Use keystoneauth1 instead of manual setup
This change moves our code to the new keystoneauth1 library.
This allows to wipe out all authentification code from Ceilometer.
Ceilometer become compatible with all keystone API version and
all keystone auth plugin for authentification.
This also moves the keystone project discovery to v3 API,
to fully removes the keystone v2 client from Ceilometer.
Implements blueprint support-keystone-v3
Depends-On: Ia5e924eb58aac7fd53e9fe4a3dbdee102ece3ad7
Depends-On: Ic7bbf9c98eb3f5a5d31da6f313458c4c4d62f59f
Change-Id: Id2938c2b323e935b3da35768f1f75ea3ae65bad5
Diffstat (limited to 'ceilometer/objectstore')
-rw-r--r-- | ceilometer/objectstore/rgw.py | 8 | ||||
-rw-r--r-- | ceilometer/objectstore/swift.py | 12 |
2 files changed, 12 insertions, 8 deletions
diff --git a/ceilometer/objectstore/rgw.py b/ceilometer/objectstore/rgw.py index 6fcf417e..dd205394 100644 --- a/ceilometer/objectstore/rgw.py +++ b/ceilometer/objectstore/rgw.py @@ -22,6 +22,7 @@ from oslo_utils import timeutils import six.moves.urllib.parse as urlparse from ceilometer.agent import plugin_base +from ceilometer import keystone_client from ceilometer import sample LOG = log.getLogger(__name__) @@ -70,9 +71,10 @@ class _Base(plugin_base.PollsterBase): if _Base._ENDPOINT is None: try: conf = cfg.CONF.service_credentials - rgw_url = ksclient.service_catalog.url_for( - service_type=cfg.CONF.service_types.radosgw, - endpoint_type=conf.os_endpoint_type) + rgw_url = keystone_client.get_service_catalog( + ksclient).url_for( + service_type=cfg.CONF.service_types.radosgw, + interface=conf.interface) _Base._ENDPOINT = urlparse.urljoin(rgw_url, '/admin') except exceptions.EndpointNotFound: LOG.debug("Radosgw endpoint not found") diff --git a/ceilometer/objectstore/swift.py b/ceilometer/objectstore/swift.py index c924d867..69661436 100644 --- a/ceilometer/objectstore/swift.py +++ b/ceilometer/objectstore/swift.py @@ -25,6 +25,7 @@ import six.moves.urllib.parse as urlparse from swiftclient import client as swift from ceilometer.agent import plugin_base +from ceilometer import keystone_client from ceilometer import sample @@ -45,7 +46,7 @@ SERVICE_OPTS = [ cfg.CONF.register_opts(OPTS) cfg.CONF.register_opts(SERVICE_OPTS, group='service_types') -cfg.CONF.import_group('service_credentials', 'ceilometer.service') +cfg.CONF.import_group('service_credentials', 'ceilometer.keystone_client') class _Base(plugin_base.PollsterBase): @@ -68,9 +69,10 @@ class _Base(plugin_base.PollsterBase): if _Base._ENDPOINT is None: try: conf = cfg.CONF.service_credentials - _Base._ENDPOINT = ksclient.service_catalog.url_for( - service_type=cfg.CONF.service_types.swift, - endpoint_type=conf.os_endpoint_type) + _Base._ENDPOINT = keystone_client.get_service_catalog( + ksclient).url_for( + service_type=cfg.CONF.service_types.swift, + interface=conf.interface) except exceptions.EndpointNotFound: LOG.debug("Swift endpoint not found") return _Base._ENDPOINT @@ -90,7 +92,7 @@ class _Base(plugin_base.PollsterBase): api_method = '%s_account' % self.METHOD yield (t.id, getattr(swift, api_method) (self._neaten_url(endpoint, t.id), - ksclient.auth_token)) + keystone_client.get_auth_token(ksclient))) @staticmethod def _neaten_url(endpoint, tenant_id): |