summaryrefslogtreecommitdiffstats
path: root/roles/openshift_health_checker/action_plugins
Commit message (Collapse)AuthorAgeFilesLines
* openshift_checks: add property to track 'changed'Luke Meyer2017-08-021-4/+6
| | | | | | | | | | Introduced the 'changed' property for checks that can make changes to track whether they did or not. Rather than the check's own logic having to track this and include it in the result hash, just set the property and have the action plugin insert it in the result hash after running (even if there is an exception). Cleared out a lot of crufty "changed: false" hash entries.
* Normalize list of checks passed to action pluginRodolfo Carvalho2017-07-271-5/+15
| | | | | | | | | This allows users to pass either a string with comma-separated check names or a proper list of strings, whatever is more convenient in the context. For consistency, the same normalization is applied to the 'openshift_disable_check' variable.
* openshift_checks: refactor to internalize task_varsLuke Meyer2017-07-251-5/+5
| | | | | | | | | Move task_vars into instance variable so we don't have to pass it around everywhere. Also store tmp. Make sure both are filled in on execute_module. In the process, is_active became an instance method, and task_vars is basically never used directly outside of test code.
* Capture exceptions when resolving available checksRodolfo Carvalho2017-06-231-3/+2
| | | | | | | Calling the action plugin (e.g. when running a playbook) with an incorrect check name was raising an unhandled exception, leading to poor output in Ansible (requiring a higher verbosity level to see what is going wrong).
* health checks: specify check skip reasonLuke Meyer2017-05-231-8/+9
| | | | | Added indicator to check result for why that check was skipped. Note that currently the user will only see it with ansible-playbook -vv
* health checks: configure failure output in playbooksLuke Meyer2017-05-231-2/+4
| | | | | Customized the error summary to depend on the intent of the playbook run. Ensured output makes sense when failures are unrelated to running checks.
* Allow disabling checks via Ansible variableRodolfo Carvalho2017-05-231-1/+8
| | | | | | | | | Example usage: $ ansible-playbook -i hosts playbooks/byo/config.yml -e openshift_disable_check=memory_availability,disk_availability Or add the variable to the inventory / hosts file.
* Remove unnecessary codeRodolfo Carvalho2017-04-041-5/+1
|
* Make resolve_checks more strictRodolfo Carvalho2017-04-041-21/+33
| | | | | So that all names it return are directly usable, without checking for existence.
* Test OpenShift health check loaderRodolfo Carvalho2017-03-281-1/+3
|
* Rename module_executor -> execute_moduleRodolfo Carvalho2017-03-281-1/+1
| | | | | | | | It is a function/callable, the name should imply action, should be a verb and not a noun. Keep supporting the old name while we have PRs in-flight that use the old name.
* add docker_image_availability checkjuanvallejo2017-03-231-0/+1
| | | | | | | | This patch adds a check to ensure that required docker images are available in at least one of the registries supplied in an installation host. Images are available if they are either already present locally, or able to be inspected using Skopeo on one of the configured registries.
* Introduce tag notation for checksRodolfo Carvalho2017-02-101-1/+22
| | | | This allows us to refer to a group of checks using a single handle.
* Replace multi-role checks with action pluginRodolfo Carvalho2017-02-101-0/+95
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.