summaryrefslogtreecommitdiffstats
path: root/roles/openshift_health_checker/openshift_checks/__init__.py
Commit message (Collapse)AuthorAgeFilesLines
* health checks: factor out get_required_versionLuke Meyer2018-01-171-0/+18
|
* package_version check: reuse get_major_minor_versionLuke Meyer2018-01-171-16/+9
|
* Fix docker_image_availability checksMichael Gugino2018-01-051-0/+7
| | | | | | | | | | This commit ensures that oreg_url is properly templated by ansible before being consumed in the logic. This commit also adds a method to the base health check class to detect if self._templar is none, and return the appropriate templated/untemplated version of the variable. This is mostly for unit tests.
* Ensure proper variable templating for skopeo auth credentialsMichael Gugino2017-10-171-2/+5
| | | | | | | | | | | | | | | | | Currently, docker_image_availability.py plugin check is using the raw strings for variables from task_vars. This results in any variables that utilized within the plugin to be un-templated. For instance, if variable "x" is set to "{{ y }}" and y is set to "2", one would expect that x == 2 inside the plugin. Currently, the plugin will use the string "{{ y }}" for the value of x instead of templating the variable. This commit ensures skopeo registry auth credentials are templated properly. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1500698
* health checks: add diagnostics checkLuke Meyer2017-09-211-0/+17
| | | | | | Also, moved is_first_master method into superclass for reuse. And look at oo_first_master and ansible_host instead of masters and ansible_ssh_host.
* openshift_checks: enable providing file outputsLuke Meyer2017-09-181-12/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some refactoring of checks and the action plugin to enable writing files locally about the check operation and results, if the user wants them. This is aimed at enabling persistent and machine-readable results from recurring runs of health checks. Now, rather than trying to build a result hash to return from running each check, checks can just register what they need to as they're going along, and the action plugin processes state when the check is done. Checks can register failures, notes about what they saw, and arbitrary files to be saved into a directory structure where the user specifies. If no directory is specified, no files are written. At this time checks can still return a result hash, but that will likely be refactored away in the next iteration. Multiple failures can be registered without halting check execution. Throwing an exception or returning a hash with "failed" is registered as a failure. execute_module now does a little more with the results. Results are automatically included in notes and written individually as files. "changed" results are propagated. Some json results are decoded. A few of the checks were enhanced to use these features; all get some of the features for free.
* openshift_checks: add retries in pythonLuke Meyer2017-09-121-0/+17
|
* Merge pull request #5035 from ↵Rodolfo Carvalho2017-08-311-1/+1
|\ | | | | | | | | Miciah/openshift_checks-ignore-hidden-files-in-checks-directory openshift_checks: ignore hidden files in checks dir
| * openshift_checks: ignore hidden files in checks dirMiciah Masters2017-08-081-1/+1
| | | | | | | | load_checks: Ignore hidden files when scanning the directory for checks.
* | Merge pull request #4944 from sosiouxme/20170728-refactor-ansible-mountsScott Dodson2017-08-111-0/+25
|\ \ | | | | | | openshift_checks: refactor find_ansible_mount
| * | openshift_checks: refactor find_ansible_mountLuke Meyer2017-08-081-0/+25
| |/ | | | | | | Reuse the code for finding the ansible_mounts mount for a path.
* | Merge pull request #4922 from sosiouxme/20170728-improve-get-varsScott Dodson2017-08-091-6/+50
|\ \ | |/ |/| openshift_checks: enable variable conversion
| * openshift_checks: enable variable conversionLuke Meyer2017-08-011-6/+50
| |
* | openshift_checks: refactor logging checksLuke Meyer2017-08-021-3/+26
| | | | | | | | | | | | | | 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.
* | openshift_checks: add property to track 'changed'Luke Meyer2017-08-021-0/+2
| | | | | | | | | | | | | | | | | | | | 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.
* | add fluentd logging driver config checkjuanvallejo2017-08-011-0/+23
|/
* openshift_checks: refactor to internalize task_varsLuke Meyer2017-07-251-27/+54
| | | | | | | | | 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.
* openshift_checks: get rid of deprecated module_executorLuke Meyer2017-07-251-7/+6
|
* add elasticseatch, fluentd, kibana checkjuanvallejo2017-06-021-6/+16
|
* Test OpenShift health check loaderRodolfo Carvalho2017-03-281-12/+15
|
* Rename module_executor -> execute_moduleRodolfo Carvalho2017-03-281-2/+7
| | | | | | | | 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.
* Do not require python-six via openshift_factsRodolfo Carvalho2017-03-201-6/+3
| | | | | | | | | | | | | It turns out the code in roles/openshift_health_checker/openshift_checks/__init__.py had a mistake in the import statement, and not the case that `add_metaclass` is not available in the embedded `six` from `ansible.module_utils`. The fix is to correct the import and do not require python-six to be installed on target hosts. Note: now that we have some unit tests in the role, errors like that would have been caught.
* Add unit tests for existing health checksRodolfo Carvalho2017-03-171-1/+2
|
* Revert module_utils six for openshift_health_checkerJason DeTiberus2017-03-131-1/+3
| | | | | Embedded version of six in Ansible 2.2.1 does not support add_metaclass, so revert to using python-six.
* Use ansible.compat.six where possibleJason DeTiberus2017-03-091-2/+5
|
* Use six from ansible.module_utils for remote hostsJason DeTiberus2017-03-091-3/+2
|
* Renamed NotContainerized to NotContainerizedMixin and dropped no-memberSteve Milner2017-02-221-0/+1
|
* Refactor code to access values from task_varsRodolfo Carvalho2017-02-101-0/+18
|
* Introduce tag notation for checksRodolfo Carvalho2017-02-101-0/+9
| | | | 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/+57
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.