Merge ~aluria/charm-openstack-service-checks/+git/charm-openstack-service-checks:bug/1825860 into ~canonical-bootstack/charm-openstack-service-checks:master

Proposed by Alvaro Uria
Status: Merged
Approved by: Alvaro Uria
Approved revision: 30e91ec2b3ad893864e1344df795b41716d2237e
Merged at revision: 248082420e89f6f693bd8ab70e1605f73f495980
Proposed branch: ~aluria/charm-openstack-service-checks/+git/charm-openstack-service-checks:bug/1825860
Merge into: ~canonical-bootstack/charm-openstack-service-checks:master
Diff against target: 74 lines (+18/-8)
2 files modified
lib/lib_openstack_service_checks.py (+9/-4)
reactive/openstack_service_checks.py (+9/-4)
Reviewer Review Type Date Requested Status
David O Neill (community) Approve
Review via email: mp+366526@code.launchpad.net

Commit message

Support checks removal

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
Alvaro Uria (aluria) wrote :
Revision history for this message
David O Neill (dmzoneill) :
review: Approve
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

Change successfully merged at revision 248082420e89f6f693bd8ab70e1605f73f495980

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/lib/lib_openstack_service_checks.py b/lib/lib_openstack_service_checks.py
index 2c99366..0ce2ac6 100644
--- a/lib/lib_openstack_service_checks.py
+++ b/lib/lib_openstack_service_checks.py
@@ -203,9 +203,9 @@ class OSCHelper():
203 skip_service.add(service_name)203 skip_service.add(service_name)
204 break204 break
205205
206 check_url = urlparse(endpoint.url)
206 if self.charm_config.get('check_{}_urls'.format(endpoint.interface)):207 if self.charm_config.get('check_{}_urls'.format(endpoint.interface)):
207 cmd_params = ['/usr/lib/nagios/plugins/check_http']208 cmd_params = ['/usr/lib/nagios/plugins/check_http']
208 check_url = urlparse(endpoint.url)
209 host, port = check_url.netloc.split(':')209 host, port = check_url.netloc.split(':')
210 cmd_params.append('-H {} -p {}'.format(host, port))210 cmd_params.append('-H {} -p {}'.format(host, port))
211 cmd_params.append('-u {}'.format(endpoint.healthcheck_url))211 cmd_params.append('-u {}'.format(endpoint.healthcheck_url))
@@ -214,17 +214,22 @@ class OSCHelper():
214 if check_url.scheme == 'https':214 if check_url.scheme == 'https':
215 cmd_params.append('-S')215 cmd_params.append('-S')
216 # Add an extra check for TLS cert expiry216 # Add an extra check for TLS cert expiry
217 cmd_params.append('-C {},{}'.format(self.charm_config['tls_warn_days'] or 30,217 cmd_params_cert = cmd_params.copy()
218 self.charm_config['tls_crit_days'] or 14))218 cmd_params_cert.append('-C {},{}'.format(self.charm_config['tls_warn_days'] or 30,
219 self.charm_config['tls_crit_days'] or 14))
219 nrpe.add_check(shortname='{}_{}_cert'.format(service_name, endpoint.interface),220 nrpe.add_check(shortname='{}_{}_cert'.format(service_name, endpoint.interface),
220 description='Certificate expiry check for {} {}'.format(service_name,221 description='Certificate expiry check for {} {}'.format(service_name,
221 endpoint.interface),222 endpoint.interface),
222 check_cmd=' '.join(cmd_params))223 check_cmd=' '.join(cmd_params_cert))
223224
224 # Add the actual health check for the URL225 # Add the actual health check for the URL
225 nrpe.add_check(shortname='{}_{}'.format(service_name, endpoint.interface),226 nrpe.add_check(shortname='{}_{}'.format(service_name, endpoint.interface),
226 description='Endpoint url check for {} {}'.format(service_name, endpoint.interface),227 description='Endpoint url check for {} {}'.format(service_name, endpoint.interface),
227 check_cmd=' '.join(cmd_params))228 check_cmd=' '.join(cmd_params))
229 else:
230 nrpe.remove_check(shortname='{}_{}'.format(service_name, endpoint.interface))
231 if check_url.scheme == 'https':
232 nrpe.remove_check(shortname='{}_{}_cert'.format(service_name, endpoint.interface))
228 nrpe.write()233 nrpe.write()
229234
230 def get_keystone_client(self, creds):235 def get_keystone_client(self, creds):
diff --git a/reactive/openstack_service_checks.py b/reactive/openstack_service_checks.py
index c122bf1..846466f 100644
--- a/reactive/openstack_service_checks.py
+++ b/reactive/openstack_service_checks.py
@@ -19,7 +19,7 @@ import base64
19import subprocess19import subprocess
2020
21from charmhelpers.core import hookenv, host, unitdata21from charmhelpers.core import hookenv, host, unitdata
22from charms.reactive import clear_flag, set_flag, when, when_not22from charms.reactive import any_flags_set, clear_flag, is_flag_set, set_flag, when, when_not
2323
24from lib_openstack_service_checks import (24from lib_openstack_service_checks import (
25 OSCHelper,25 OSCHelper,
@@ -204,11 +204,16 @@ def do_restart():
204 set_flag('openstack-service-checks.started')204 set_flag('openstack-service-checks.started')
205205
206206
207@when('config.changed.os-credentials')
208@when('nrpe-external-master.available')207@when('nrpe-external-master.available')
209def do_reconfigure_nrpe():208def do_reconfigure_nrpe():
210 clear_flag('openstack-service-checks.configured')209 os_credentials_flag = 'config.changed.os-credentials'
211 clear_flag('openstack-service-checks.endpoints.configured')210 flags = ['config.changed.check_{}_urls'.format(interface) for interface in ['admin', 'internal', 'public']]
211 flags.extend(os_credentials_flag)
212
213 if any_flags_set(*flags):
214 if is_flag_set(os_credentials_flag):
215 clear_flag('openstack-service-checks.configured')
216 clear_flag('openstack-service-checks.endpoints.configured')
212217
213218
214@when_not('nrpe-external-master.available')219@when_not('nrpe-external-master.available')

Subscribers

People subscribed via source and target branches