From 9183ec3a7289abcaa73e546ecd90383c24cb8b4d Mon Sep 17 00:00:00 2001 From: Jacek Nykis Date: Fri, 2 May 2014 15:18:00 +0100 Subject: [PATCH] Add support for optional nagios_hostname set by nrpe-external-master --- .bzrignore | 1 + hooks/charmhelpers/contrib/charmsupport/nrpe.py | 7 +++++-- hooks/rabbitmq_server_relations.py | 9 ++++++++- revision | 2 +- 4 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 .bzrignore diff --git a/.bzrignore b/.bzrignore new file mode 100644 index 00000000..bc0ffae0 --- /dev/null +++ b/.bzrignore @@ -0,0 +1 @@ +revision diff --git a/hooks/charmhelpers/contrib/charmsupport/nrpe.py b/hooks/charmhelpers/contrib/charmsupport/nrpe.py index 26a41eb9..1815dad2 100644 --- a/hooks/charmhelpers/contrib/charmsupport/nrpe.py +++ b/hooks/charmhelpers/contrib/charmsupport/nrpe.py @@ -179,12 +179,15 @@ class NRPE(object): nagios_exportdir = '/var/lib/nagios/export' nrpe_confdir = '/etc/nagios/nrpe.d' - def __init__(self): + def __init__(self, hostname=None): super(NRPE, self).__init__() self.config = config() self.nagios_context = self.config['nagios_context'] self.unit_name = local_unit().replace('/', '-') - self.hostname = "{}-{}".format(self.nagios_context, self.unit_name) + if hostname: + self.hostname = hostname + else: + self.hostname = "{}-{}".format(self.nagios_context, self.unit_name) self.checks = [] def add_check(self, *args, **kwargs): diff --git a/hooks/rabbitmq_server_relations.py b/hooks/rabbitmq_server_relations.py index 34311d6a..2a9444a0 100755 --- a/hooks/rabbitmq_server_relations.py +++ b/hooks/rabbitmq_server_relations.py @@ -33,6 +33,7 @@ from charmhelpers.core.hookenv import ( related_units, service_name, local_unit, + relations_of_type, config, unit_get, is_relation_made, @@ -360,6 +361,12 @@ def update_nrpe_checks(): 'check_rabbitmq.py'), os.path.join(NAGIOS_PLUGINS, 'check_rabbitmq.py')) + # Find out if nrpe set nagios_hostname + hostname=None + for rel in relations_of_type('nrpe-external-master'): + if 'nagios_hostname' in rel: + hostname = rel['nagios_hostname'] + break # create unique user and vhost for each unit current_unit = local_unit().replace('/', '-') user = 'nagios-%s' % current_unit @@ -370,7 +377,7 @@ def update_nrpe_checks(): rabbit.create_user(user, password) rabbit.grant_permissions(user, vhost) - nrpe_compat = NRPE() + nrpe_compat = NRPE(hostname=hostname) nrpe_compat.add_check( shortname=rabbit.RABBIT_USER, description='Check RabbitMQ', diff --git a/revision b/revision index 4699eb3c..a949a93d 100644 --- a/revision +++ b/revision @@ -1 +1 @@ -116 +128