summaryrefslogtreecommitdiffstats
path: root/roles/openshift_health_checker/library
diff options
context:
space:
mode:
authorMiciah Masters <miciah.masters@gmail.com>2017-08-08 16:49:51 -0400
committerMiciah Dashiel Butler Masters <mmasters@redhat.com>2017-08-11 09:50:31 -0400
commit7df38035f5e20d49d6cd5eb7a3310070a63a2f78 (patch)
treec4557e6a4faac6719e48f42021879acda92ebd00 /roles/openshift_health_checker/library
parent566731dc4dd1aebbbf0244dc8a31eefb8cd42de5 (diff)
downloadopenshift-7df38035f5e20d49d6cd5eb7a3310070a63a2f78.tar.gz
openshift-7df38035f5e20d49d6cd5eb7a3310070a63a2f78.tar.bz2
openshift-7df38035f5e20d49d6cd5eb7a3310070a63a2f78.tar.xz
openshift-7df38035f5e20d49d6cd5eb7a3310070a63a2f78.zip
openshift_checks: allow OVS 2.7 on OCP 3.5 and 3.6
rpm_version: Allow package_list items to specify a list value for version. If a list value is provided for a package, pass the check if any version in that list is found. ovs_version: Specify both 2.6 and 2.7 as allowed versions of OVS for OpenShift versions 3.5 and 3.6.
Diffstat (limited to 'roles/openshift_health_checker/library')
-rw-r--r--roles/openshift_health_checker/library/rpm_version.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/roles/openshift_health_checker/library/rpm_version.py b/roles/openshift_health_checker/library/rpm_version.py
index 8ea223055..c24fbba3b 100644
--- a/roles/openshift_health_checker/library/rpm_version.py
+++ b/roles/openshift_health_checker/library/rpm_version.py
@@ -4,6 +4,7 @@ Ansible module for rpm-based systems determining existing package version inform
"""
from ansible.module_utils.basic import AnsibleModule
+from ansible.module_utils.six import string_types
IMPORT_EXCEPTION = None
try:
@@ -82,11 +83,16 @@ def _check_pkg_versions(found_pkgs_dict, expected_pkgs_dict):
continue
found_versions = [_parse_version(version) for version in found_pkgs_dict[pkg_name]]
- expected_version = _parse_version(pkg["version"])
- if expected_version not in found_versions:
+
+ if isinstance(pkg["version"], string_types):
+ expected_versions = [_parse_version(pkg["version"])]
+ else:
+ expected_versions = [_parse_version(version) for version in pkg["version"]]
+
+ if not set(expected_versions) & set(found_versions):
invalid_pkg_versions[pkg_name] = {
"found_versions": found_versions,
- "required_version": expected_version,
+ "required_versions": expected_versions,
}
if not_found_pkgs:
@@ -106,7 +112,7 @@ def _check_pkg_versions(found_pkgs_dict, expected_pkgs_dict):
"The following packages were found to be installed with an incorrect version: {}".format('\n'.join([
" \n{}\n Required version: {}\n Found versions: {}".format(
pkg_name,
- pkg["required_version"],
+ ', '.join(pkg["required_versions"]),
', '.join([version for version in pkg["found_versions"]]))
for pkg_name, pkg in invalid_pkg_versions.items()
]))