Merge ~axino/charm-prometheus-openstack-exporter/+git/prometheus-openstack-exporter-charm:axino into ~prometheus-charmers/charm-prometheus-openstack-exporter/+git/prometheus-openstack-exporter-charm:master

Proposed by Junien F
Status: Merged
Approved by: Laurent Sesquès
Approved revision: e486fda773cbc5ccd092b6c80e1b70f812a09bb0
Merged at revision: 5ccd02bcd8506f90659fd813711a811b64e33916
Proposed branch: ~axino/charm-prometheus-openstack-exporter/+git/prometheus-openstack-exporter-charm:axino
Merge into: ~prometheus-charmers/charm-prometheus-openstack-exporter/+git/prometheus-openstack-exporter-charm:master
Diff against target: 48 lines (+12/-3)
2 files modified
hooks/relations/keystone-credentials/requires.py (+2/-2)
reactive/openstack_exporter.py (+10/-1)
Reviewer Review Type Date Requested Status
Laurent Sesquès Approve
Review via email: mp+343611@code.launchpad.net

Commit message

handle keystone v3 with keystone relation data

To post a comment you must log in.
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

This merge proposal is being monitored by mergebot. Change the status to Approved to merge.

Revision history for this message
Laurent Sesquès (sajoupa) :
review: Approve
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

Change successfully merged at revision 5ccd02bcd8506f90659fd813711a811b64e33916

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/hooks/relations/keystone-credentials/requires.py b/hooks/relations/keystone-credentials/requires.py
2index 4cd17eb..4c5ef74 100644
3--- a/hooks/relations/keystone-credentials/requires.py
4+++ b/hooks/relations/keystone-credentials/requires.py
5@@ -26,7 +26,7 @@ class KeystoneCredentialsRequires(RelationBase):
6 'api_version', 'auth_host', 'auth_port', 'auth_protocol',
7 'credentials_host', 'credentials_password', 'credentials_port',
8 'credentials_project', 'credentials_project_id',
9- 'credentials_protocol', 'credentials_username', 'region'
10+ 'credentials_protocol', 'credentials_username', 'domain', 'region'
11 ]
12
13 def update_state(self):
14@@ -67,7 +67,7 @@ class KeystoneCredentialsRequires(RelationBase):
15 def auth_url(self):
16 auth_url_format_api_v = {
17 "2": "{}://{}:{}/v2.0",
18- "3": "{}://{}:{}/3"
19+ "3": "{}://{}:{}/v3"
20 }
21 version = self.api_version()
22 if version:
23diff --git a/reactive/openstack_exporter.py b/reactive/openstack_exporter.py
24index eeeeacb..8df7c93 100644
25--- a/reactive/openstack_exporter.py
26+++ b/reactive/openstack_exporter.py
27@@ -143,6 +143,16 @@ def get_credentials():
28 else:
29 kv = unitdata.kv()
30 creds = kv.get('keystone-relation-creds')
31+ # The "dict" given by the relation and the variables expected by the
32+ # template aren't the same, so we need to manually map some values.
33+ if 'domain' in creds:
34+ if 'credentials_user_domain_name' not in creds:
35+ creds['credentials_user_domain_name'] = creds['domain']
36+ if 'credentials_project_domain_name' not in creds:
37+ creds['credentials_project_domain_name'] = creds['domain']
38+ if 'api_version' in creds:
39+ if 'identity_api_version' not in creds:
40+ creds['credentials_identity_api_version'] = int(creds['api_version'])
41 ssl_ca = convert_from_base64(config.get('ssl_ca'))
42 if ssl_ca:
43 creds['ssl_ca'] = ssl_ca
44@@ -220,4 +230,3 @@ def update_nrpe_config(svc):
45 'check_http -I 127.0.0.1 -p {} -u /metrics'.format(port)
46 )
47 nrpe_setup.write()
48-

Subscribers

People subscribed via source and target branches

to all changes: