summaryrefslogtreecommitdiffstats
path: root/roles/openshift_health_checker/openshift_checks/package_update.py
diff options
context:
space:
mode:
authorRodolfo Carvalho <rhcarvalho@gmail.com>2017-01-30 18:29:06 +0100
committerRodolfo Carvalho <rhcarvalho@gmail.com>2017-02-10 14:46:40 +0100
commitbb38413fcec7fb2640939782d57e494b40e3b41e (patch)
tree89e589859935e059d899a8bc357206c6891901b2 /roles/openshift_health_checker/openshift_checks/package_update.py
parentc6ef283bbcd1ab31934fb245d0c8ffacfd05bce1 (diff)
downloadopenshift-bb38413fcec7fb2640939782d57e494b40e3b41e.tar.gz
openshift-bb38413fcec7fb2640939782d57e494b40e3b41e.tar.bz2
openshift-bb38413fcec7fb2640939782d57e494b40e3b41e.tar.xz
openshift-bb38413fcec7fb2640939782d57e494b40e3b41e.zip
Replace multi-role checks with action plugin
This approach should make it easier to add new checks without having to write lots of YAML and doing things against Ansible (e.g. ignore_errors). A single action plugin determines what checks to run per each host, including arguments to the check. A check is implemented as a class with a run method, with the same signature as an action plugin and module, and is normally backed by a regular Ansible module. Each check is implemented as a separate Python file. This allows whoever adds a new check to focus solely in a single Python module, and potentially an Ansible module within library/ too. All checks are automatically loaded, and only active checks that are requested by the playbook get executed.
Diffstat (limited to 'roles/openshift_health_checker/openshift_checks/package_update.py')
-rw-r--r--roles/openshift_health_checker/openshift_checks/package_update.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/roles/openshift_health_checker/openshift_checks/package_update.py b/roles/openshift_health_checker/openshift_checks/package_update.py
new file mode 100644
index 000000000..316a776f5
--- /dev/null
+++ b/roles/openshift_health_checker/openshift_checks/package_update.py
@@ -0,0 +1,13 @@
+# pylint: disable=missing-docstring
+from openshift_checks import OpenShiftCheck
+from openshift_checks.mixins import NotContainerized
+
+
+class PackageUpdate(NotContainerized, OpenShiftCheck):
+ """Check that there are no conflicts in RPM packages."""
+
+ name = "package_update"
+
+ def run(self, tmp, task_vars):
+ args = {"packages": []}
+ return self.module_executor("check_yum_update", args, tmp, task_vars)