summaryrefslogtreecommitdiffstats
path: root/roles/openshift_health_checker/openshift_checks/logging/curator.py
diff options
context:
space:
mode:
authorLuke Meyer <lmeyer@redhat.com>2017-07-20 23:39:47 -0400
committerLuke Meyer <lmeyer@redhat.com>2017-08-02 15:03:50 -0400
commit06a6fb9642a2cc70b1ca65f403b853fe8ce9d4b2 (patch)
tree4631e75c28017e238ff84756f6cfdeb72563259a /roles/openshift_health_checker/openshift_checks/logging/curator.py
parentbf0828bc0f2e3088df20abc77e30a162595e1c22 (diff)
downloadopenshift-06a6fb9642a2cc70b1ca65f403b853fe8ce9d4b2.tar.gz
openshift-06a6fb9642a2cc70b1ca65f403b853fe8ce9d4b2.tar.bz2
openshift-06a6fb9642a2cc70b1ca65f403b853fe8ce9d4b2.tar.xz
openshift-06a6fb9642a2cc70b1ca65f403b853fe8ce9d4b2.zip
openshift_checks: refactor logging checks
Turn failure messages into exceptions that tests can look for without depending on text meant for humans. Turn logging_namespace property into a method. Get rid of _exec_oc and just use logging.exec_oc.
Diffstat (limited to 'roles/openshift_health_checker/openshift_checks/logging/curator.py')
-rw-r--r--roles/openshift_health_checker/openshift_checks/logging/curator.py32
1 files changed, 11 insertions, 21 deletions
diff --git a/roles/openshift_health_checker/openshift_checks/logging/curator.py b/roles/openshift_health_checker/openshift_checks/logging/curator.py
index 32a92c909..b27f97172 100644
--- a/roles/openshift_health_checker/openshift_checks/logging/curator.py
+++ b/roles/openshift_health_checker/openshift_checks/logging/curator.py
@@ -1,6 +1,6 @@
"""Check for an aggregated logging Curator deployment"""
-from openshift_checks.logging.logging import LoggingCheck
+from openshift_checks.logging.logging import OpenShiftCheckException, LoggingCheck
class Curator(LoggingCheck):
@@ -12,27 +12,17 @@ class Curator(LoggingCheck):
def run(self):
"""Check various things and gather errors. Returns: result as hash"""
- self.logging_namespace = self.get_var("openshift_logging_namespace", default="logging")
- curator_pods, error = self.get_pods_for_component(
- self.logging_namespace,
- "curator",
- )
- if error:
- return {"failed": True, "msg": error}
- check_error = self.check_curator(curator_pods)
-
- if check_error:
- msg = ("The following Curator deployment issue was found:"
- "{}".format(check_error))
- return {"failed": True, "msg": msg}
-
+ curator_pods = self.get_pods_for_component("curator")
+ self.check_curator(curator_pods)
# TODO(lmeyer): run it all again for the ops cluster
- return {"failed": False, "msg": 'No problems found with Curator deployment.'}
+
+ return {}
def check_curator(self, pods):
"""Check to see if curator is up and working. Returns: error string"""
if not pods:
- return (
+ raise OpenShiftCheckException(
+ "MissingComponentPods",
"There are no Curator pods for the logging stack,\n"
"so nothing will prune Elasticsearch indexes.\n"
"Is Curator correctly deployed?"
@@ -40,14 +30,14 @@ class Curator(LoggingCheck):
not_running = self.not_running_pods(pods)
if len(not_running) == len(pods):
- return (
+ raise OpenShiftCheckException(
+ "CuratorNotRunning",
"The Curator pod is not currently in a running state,\n"
"so Elasticsearch indexes may increase without bound."
)
if len(pods) - len(not_running) > 1:
- return (
+ raise OpenShiftCheckException(
+ "TooManyCurators",
"There is more than one Curator pod running. This should not normally happen.\n"
"Although this doesn't cause any problems, you may want to investigate."
)
-
- return None