Merge ~afreiberger/charm-openstack-service-checks/+git/charm-openstack-service-checks:lp1818113 into ~canonical-bootstack/charm-openstack-service-checks:master

Proposed by Drew Freiberger
Status: Merged
Approved by: Jeremy Lounder
Approved revision: affc3443398aac717e4c494006c2aff7ef662fc3
Merge reported by: Xav Paice
Merged at revision: affc3443398aac717e4c494006c2aff7ef662fc3
Proposed branch: ~afreiberger/charm-openstack-service-checks/+git/charm-openstack-service-checks:lp1818113
Merge into: ~canonical-bootstack/charm-openstack-service-checks:master
Diff against target: 58 lines (+20/-7)
1 file modified
reactive/service_checks.py (+20/-7)
Reviewer Review Type Date Requested Status
Jeremy Lounder (community) +1 Approve
Chris Sanders (community) Approve
Xav Paice (community) Approve
Review via email: mp+363887@code.launchpad.net

Commit message

Updated error handling for keystone not ready when generating endpoint checks

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
Xav Paice (xavpaice) wrote :

lgtm

review: Approve
Revision history for this message
Chris Sanders (chris.sanders) wrote :

lgtm, adding is-review team

review: Approve
Revision history for this message
Jeremy Lounder (jldev) wrote :

lgtm

review: Approve (+1)
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

Change successfully merged at revision a360b2237aa587602f1536fc0d394d5ed1c28788

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/reactive/service_checks.py b/reactive/service_checks.py
index 1b87f20..9805f77 100644
--- a/reactive/service_checks.py
+++ b/reactive/service_checks.py
@@ -1,5 +1,6 @@
1from __future__ import print_function1from __future__ import print_function
2import base642import base64
3import keystoneauth1
3import os4import os
4import subprocess5import subprocess
5from charms.reactive import (6from charms.reactive import (
@@ -160,9 +161,14 @@ def render_checks():
160 nrpe.remove_check(shortname='dns_multi')161 nrpe.remove_check(shortname='dns_multi')
161162
162 endpoint_checks = create_endpoint_checks()163 endpoint_checks = create_endpoint_checks()
163 for check in endpoint_checks:164
164 nrpe.add_check(**check)165 if endpoint_checks is None:
165 nrpe.write()166 return False
167 else:
168 for check in endpoint_checks:
169 nrpe.add_check(**check)
170 nrpe.write()
171 return True
166172
167173
168@when('nrpe-external-master.available')174@when('nrpe-external-master.available')
@@ -183,9 +189,12 @@ def render_config():
183 creds['username']))189 creds['username']))
184 render('nagios.novarc', NOVARC, creds,190 render('nagios.novarc', NOVARC, creds,
185 owner='nagios', group='nagios')191 owner='nagios', group='nagios')
186 render_checks()192 if render_checks():
187 set_state('os-service-checks.configured')193 hookenv.status_set('active', 'Ready')
188 remove_state('os-service-checks.started')194 set_state('os-service-checks.configured')
195 remove_state('os-service-checks.started')
196 else:
197 hookenv.status_set('blocked', 'waiting for Keystone to be ready')
189198
190199
191@when('os-service-checks.configured')200@when('os-service-checks.configured')
@@ -232,7 +241,11 @@ def create_endpoint_checks():
232241
233 creds = get_credentials()242 creds = get_credentials()
234 keystone_client = get_keystone_client(creds)243 keystone_client = get_keystone_client(creds)
235 endpoints = keystone_client.endpoints.list()244 try:
245 endpoints = keystone_client.endpoints.list()
246 except keystoneauth1.exceptions.http.InternalServerError:
247 return None
248
236 services = [x for x in keystone_client.services.list() if x.enabled]249 services = [x for x in keystone_client.services.list() if x.enabled]
237 nrpe_checks = []250 nrpe_checks = []
238 for endpoint in endpoints:251 for endpoint in endpoints:

Subscribers

People subscribed via source and target branches