diff options
author | Luke Meyer <lmeyer@redhat.com> | 2017-08-10 11:58:06 -0400 |
---|---|---|
committer | Luke Meyer <lmeyer@redhat.com> | 2017-09-18 17:04:39 -0400 |
commit | f6011f0c805f308a99378d46873b1dbf33ad571f (patch) | |
tree | 19e0c3e5ab19d502f1a3e132b7769094d135ca43 /roles/openshift_health_checker/test/disk_availability_test.py | |
parent | e067d79bdbbd7d94dbc2d86c7dd4a20ac787f704 (diff) | |
download | openshift-f6011f0c805f308a99378d46873b1dbf33ad571f.tar.gz openshift-f6011f0c805f308a99378d46873b1dbf33ad571f.tar.bz2 openshift-f6011f0c805f308a99378d46873b1dbf33ad571f.tar.xz openshift-f6011f0c805f308a99378d46873b1dbf33ad571f.zip |
openshift_checks: enable providing file outputs
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.
Diffstat (limited to 'roles/openshift_health_checker/test/disk_availability_test.py')
-rw-r--r-- | roles/openshift_health_checker/test/disk_availability_test.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/roles/openshift_health_checker/test/disk_availability_test.py b/roles/openshift_health_checker/test/disk_availability_test.py index f4fd2dfed..9ae679b79 100644 --- a/roles/openshift_health_checker/test/disk_availability_test.py +++ b/roles/openshift_health_checker/test/disk_availability_test.py @@ -183,11 +183,12 @@ def test_fails_with_insufficient_disk_space(name, group_names, configured_min, a ansible_mounts=ansible_mounts, ) - result = DiskAvailability(fake_execute_module, task_vars).run() + check = DiskAvailability(fake_execute_module, task_vars) + check.run() - assert result['failed'] + assert check.failures for chunk in 'below recommended'.split() + expect_chunks: - assert chunk in result.get('msg', '') + assert chunk in str(check.failures[0]) @pytest.mark.parametrize('name,group_names,context,ansible_mounts,failed,extra_words', [ @@ -237,11 +238,11 @@ def test_min_required_space_changes_with_upgrade_context(name, group_names, cont ) check = DiskAvailability(fake_execute_module, task_vars) - result = check.run() + check.run() - assert result.get("failed", False) == failed + assert bool(check.failures) == failed for word in extra_words: - assert word in result.get('msg', '') + assert word in str(check.failures[0]) def fake_execute_module(*args): |