| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Can now set openshift_disable_check=* to disable all checks without
needing to know their names.
fixes bug 1462106
https://bugzilla.redhat.com/show_bug.cgi?id=1462106
|
| |
|
|
|
|
| |
And beautify the code a bit.
|
|
|
|
|
|
|
|
|
| |
This prevents an exception in one check from interfering with other
checks. Skips checks that raise an exception in their is_active method.
Whenever capturing a broad exception in the `is_action` or `run`
methods, include traceback information that can be useful in bug
reports.
|
| |
|
|
|
|
|
|
|
|
| |
This is a simple mechanism to learn what health checks are available.
Note that we defer task_vars verification, so that we can compute
requested_checks and resolved_checks earlier, allowing us to list checks
even if openshift_facts has not run.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
| |
Added indicator to check result for why that check was skipped.
Note that currently the user will only see it with ansible-playbook -vv
|
|
|
|
|
| |
Customized the error summary to depend on the intent of the playbook run.
Ensured output makes sense when failures are unrelated to running checks.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
So that all names it return are directly usable, without checking for
existence.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This allows us to refer to a group of checks using a single handle.
|
|
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.
|