1
from deployment import DeploymentTest
2
from basic import BasicDeploymentSpec
5
class NRPEDeploymentSpec(BasicDeploymentSpec):
7
def _pre_setup_10_website(self):
8
"""Set up the deployment in the class."""
9
self.deployment.add("nrpe")
10
self.deployment.relate("jenkins:nrpe-external-master",
11
"nrpe:nrpe-external-master")
14
class NRPEDeploymentTest(DeploymentTest):
16
def _verify_nrpe(self):
17
nrpe_file = '/etc/nagios/nrpe.d/check_jenkins_http.cfg'
18
nagios_cmd = "sudo -u nagios $(grep -e " + \
19
"'/usr/lib/nagios/plugins/check_http' " + \
20
"{} | cut -d'=' -f2-)".format(nrpe_file)
21
_, return_code = self.spec.jenkins.run(nagios_cmd)
22
self.assertEqual(return_code, 0)
24
def test_00_nrpe_relation(self):
25
"""Validate that the Jenkins nagios check is setup."""
28
def test_10_nrpe_relation_url_change(self):
29
"""Validate the Jenkins nagios check after a url change."""
30
charm_name = self.spec.deployment.charm_name
31
public_url = "http://public.jenkins:8080/jenkins"
32
self.spec.deployment.configure(charm_name, {"public-url": public_url})
33
self.spec.deployment.sentry.wait()