Merge pull request #436 from xavpaice/bug/1897809

Add NRPE check tests for Designate
This commit is contained in:
Aurelien Lourot
2021-08-26 13:27:19 +02:00
committed by GitHub
+29 -1
View File
@@ -25,6 +25,7 @@ import designateclient.v1.servers as servers
import zaza.model
import zaza.utilities.juju as juju_utils
import zaza.openstack.charm_tests.test_utils as test_utils
import zaza.openstack.utilities.generic as generic_utils
import zaza.openstack.utilities.openstack as openstack_utils
import zaza.openstack.charm_tests.designate.utils as designate_utils
import zaza.charm_lifecycle.utils as lifecycle_utils
@@ -90,6 +91,14 @@ class BaseDesignateTest(test_utils.OpenStackBaseTest):
cls.server_create = cls.designate.servers.create
cls.server_delete = cls.designate.servers.delete
@tenacity.retry(
retry=tenacity.retry_if_result(lambda ret: ret is not None),
# sleep for 2mins to allow 1min cron job to run...
wait=tenacity.wait_fixed(120),
stop=tenacity.stop_after_attempt(2))
def _retry_check_commands_on_units(self, cmds, units):
return generic_utils.check_commands_on_units(cmds, units)
class DesignateAPITests(BaseDesignateTest):
"""Tests interact with designate api."""
@@ -294,7 +303,26 @@ class DesignateCharmTests(BaseDesignateTest):
logging.info("Testing pause resume")
class DesignateTests(DesignateAPITests, DesignateCharmTests):
class DesignateMonitoringTests(BaseDesignateTest):
"""Designate charm monitoring tests."""
def test_nrpe_configured(self):
"""Confirm that the NRPE service check files are created."""
units = zaza.model.get_units(self.application_name)
cmds = []
for check_name in self.designate_svcs:
cmds.append(
'egrep -oh /usr/local.* /etc/nagios/nrpe.d/'
'check_{}.cfg'.format(check_name)
)
ret = self._retry_check_commands_on_units(cmds, units)
if ret:
logging.info(ret)
self.assertIsNone(ret, msg=ret)
class DesignateTests(DesignateAPITests, DesignateCharmTests,
DesignateMonitoringTests):
"""Collection of all Designate test classes."""
pass