diff options
| author | Rodolfo Carvalho <rhcarvalho@gmail.com> | 2017-04-10 14:03:41 +0200 | 
|---|---|---|
| committer | Rodolfo Carvalho <rhcarvalho@gmail.com> | 2017-04-10 16:45:40 +0200 | 
| commit | 534418d0439a832e59891a36be800affafc29745 (patch) | |
| tree | 44d370cd57440b02d4e85b7241b57dc3ae3d1a97 | |
| parent | 3ea629b458c78db194443563aab4a8d09e9a07b4 (diff) | |
| download | openshift-534418d0439a832e59891a36be800affafc29745.tar.gz openshift-534418d0439a832e59891a36be800affafc29745.tar.bz2 openshift-534418d0439a832e59891a36be800affafc29745.tar.xz openshift-534418d0439a832e59891a36be800affafc29745.zip | |
Do not check package version on non-master/node
| -rw-r--r-- | roles/openshift_health_checker/openshift_checks/package_version.py | 7 | ||||
| -rw-r--r-- | roles/openshift_health_checker/test/package_version_test.py | 22 | 
2 files changed, 29 insertions, 0 deletions
| diff --git a/roles/openshift_health_checker/openshift_checks/package_version.py b/roles/openshift_health_checker/openshift_checks/package_version.py index 42193a1c6..e16c2d4c8 100644 --- a/roles/openshift_health_checker/openshift_checks/package_version.py +++ b/roles/openshift_health_checker/openshift_checks/package_version.py @@ -9,6 +9,13 @@ class PackageVersion(NotContainerizedMixin, OpenShiftCheck):      name = "package_version"      tags = ["preflight"] +    @classmethod +    def is_active(cls, task_vars): +        """Skip hosts that do not have package requirements.""" +        group_names = get_var(task_vars, "group_names", default=[]) +        master_or_node = 'masters' in group_names or 'nodes' in group_names +        return super(PackageVersion, cls).is_active(task_vars) and master_or_node +      def run(self, tmp, task_vars):          rpm_prefix = get_var(task_vars, "openshift", "common", "service_type")          openshift_release = get_var(task_vars, "openshift_release") diff --git a/roles/openshift_health_checker/test/package_version_test.py b/roles/openshift_health_checker/test/package_version_test.py index cc1d263bc..a2bdea729 100644 --- a/roles/openshift_health_checker/test/package_version_test.py +++ b/roles/openshift_health_checker/test/package_version_test.py @@ -1,3 +1,5 @@ +import pytest +  from openshift_checks.package_version import PackageVersion @@ -19,3 +21,23 @@ def test_package_version():      check = PackageVersion(execute_module=execute_module)      result = check.run(tmp=None, task_vars=task_vars)      assert result is return_value + + +@pytest.mark.parametrize('group_names,is_containerized,is_active', [ +    (['masters'], False, True), +    # ensure check is skipped on containerized installs +    (['masters'], True, False), +    (['nodes'], False, True), +    (['masters', 'nodes'], False, True), +    (['masters', 'etcd'], False, True), +    ([], False, False), +    (['etcd'], False, False), +    (['lb'], False, False), +    (['nfs'], False, False), +]) +def test_package_version_skip_when_not_master_nor_node(group_names, is_containerized, is_active): +    task_vars = dict( +        group_names=group_names, +        openshift=dict(common=dict(is_containerized=is_containerized)), +    ) +    assert PackageVersion.is_active(task_vars=task_vars) == is_active | 
