From 8e537dc7338bb992c0de38bc99c9b92a64e75df3 Mon Sep 17 00:00:00 2001 From: Gustavo Sanchez Date: Tue, 17 Aug 2021 20:17:54 -0400 Subject: [PATCH 1/3] Adds tests for NRPE checks in Manila Adds a test to ensure that Manila units related to NRPE get service check files created. Closes-Bug: #1925977 --- zaza/openstack/charm_tests/manila/tests.py | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/zaza/openstack/charm_tests/manila/tests.py b/zaza/openstack/charm_tests/manila/tests.py index 8381f2f..6cfa80f 100644 --- a/zaza/openstack/charm_tests/manila/tests.py +++ b/zaza/openstack/charm_tests/manila/tests.py @@ -23,6 +23,7 @@ from manilaclient import client as manilaclient import zaza.model import zaza.openstack.configure.guest as guest +import zaza.openstack.utilities.generic as generic_utils import zaza.openstack.utilities.openstack as openstack_utils import zaza.openstack.charm_tests.test_utils as test_utils import zaza.openstack.charm_tests.nova.utils as nova_utils @@ -85,6 +86,31 @@ class ManilaTests(test_utils.OpenStackBaseTest): def _list_shares(self): return self.manila_client.shares.list() + @tenacity.retry( + retry=tenacity.retry_if_result(lambda ret: ret is not None), + 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) + + def test_902_nrpe_service_checks(self): + """Confirm that the NRPE service check files are created.""" + units = zaza.model.get_units('manila') + services = ['apache2', 'haproxy', 'manila-scheduler', 'manila-data'] + + cmds = [] + for check_name in services: + 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 ManilaBaseTest(test_utils.OpenStackBaseTest): """Encapsulate a Manila basic functionality test.""" From e6f9a3fce0009a0bfd4e719280499f2977273126 Mon Sep 17 00:00:00 2001 From: Gustavo Sanchez Date: Fri, 3 Sep 2021 12:31:11 -0400 Subject: [PATCH 2/3] Removes method invoked only once --- zaza/openstack/charm_tests/manila/tests.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/zaza/openstack/charm_tests/manila/tests.py b/zaza/openstack/charm_tests/manila/tests.py index 6cfa80f..786efa9 100644 --- a/zaza/openstack/charm_tests/manila/tests.py +++ b/zaza/openstack/charm_tests/manila/tests.py @@ -86,13 +86,6 @@ class ManilaTests(test_utils.OpenStackBaseTest): def _list_shares(self): return self.manila_client.shares.list() - @tenacity.retry( - retry=tenacity.retry_if_result(lambda ret: ret is not None), - 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) - def test_902_nrpe_service_checks(self): """Confirm that the NRPE service check files are created.""" units = zaza.model.get_units('manila') @@ -105,11 +98,16 @@ class ManilaTests(test_utils.OpenStackBaseTest): 'check_{}.cfg'.format(check_name) ) - ret = self._retry_check_commands_on_units(cmds, units) - if ret: - logging.info(ret) - - self.assertIsNone(ret, msg=ret) + for attempt in tenacity.Retrying( + retry=tenacity.retry_if_result(lambda ret: ret is not None), + wait=tenacity.wait_fixed(120), + stop=tenacity.stop_after_attempt(2) + ): + with attempt: + ret = generic_utils.check_commands_on_units(cmds, units) + if ret: + logging.info(ret) + self.assertIsNone(ret, msg=ret) class ManilaBaseTest(test_utils.OpenStackBaseTest): From bee69edb7687595ccc396f5643fecb4389735c59 Mon Sep 17 00:00:00 2001 From: Gustavo Sanchez Date: Mon, 6 Sep 2021 09:14:37 -0400 Subject: [PATCH 3/3] Reduce wait time and corrections --- zaza/openstack/charm_tests/manila/tests.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/zaza/openstack/charm_tests/manila/tests.py b/zaza/openstack/charm_tests/manila/tests.py index 786efa9..455feef 100644 --- a/zaza/openstack/charm_tests/manila/tests.py +++ b/zaza/openstack/charm_tests/manila/tests.py @@ -99,14 +99,12 @@ class ManilaTests(test_utils.OpenStackBaseTest): ) for attempt in tenacity.Retrying( - retry=tenacity.retry_if_result(lambda ret: ret is not None), - wait=tenacity.wait_fixed(120), - stop=tenacity.stop_after_attempt(2) + wait=tenacity.wait_fixed(20), + stop=tenacity.stop_after_attempt(2), + reraise=True ): with attempt: ret = generic_utils.check_commands_on_units(cmds, units) - if ret: - logging.info(ret) self.assertIsNone(ret, msg=ret)