summaryrefslogtreecommitdiff
path: root/ceilometer/objectstore
diff options
context:
space:
mode:
authorMehdi Abaakouk <sileht@redhat.com>2015-09-28 09:02:25 +0200
committerMehdi Abaakouk <sileht@redhat.com>2015-12-08 15:45:08 +0100
commit51a6096a85bf66e918f5981546841e73e038bceb (patch)
tree9e530886aae8057af21eaac74e9fc53016c2c3e2 /ceilometer/objectstore
parent6751acb767ef0fe31d4ee2643cc4c327abcf8abd (diff)
downloadceilometer-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.py8
-rw-r--r--ceilometer/objectstore/swift.py12
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):