summaryrefslogtreecommitdiffstats
path: root/roles/openshift_health_checker/openshift_checks/__init__.py
diff options
context:
space:
mode:
authorLuke Meyer <lmeyer@redhat.com>2018-01-17 10:24:14 -0500
committerLuke Meyer <lmeyer@redhat.com>2018-01-17 11:01:27 -0500
commitb4b5b685581a6c4b35953bf32d56c1f96b12ff51 (patch)
tree307dbaeef9bc0f7db07154b71d3fef218db7e2ce /roles/openshift_health_checker/openshift_checks/__init__.py
parent9f461f2ad2b11ca87ef1ce6ee381ccf31b703fc8 (diff)
downloadopenshift-b4b5b685581a6c4b35953bf32d56c1f96b12ff51.tar.gz
openshift-b4b5b685581a6c4b35953bf32d56c1f96b12ff51.tar.bz2
openshift-b4b5b685581a6c4b35953bf32d56c1f96b12ff51.tar.xz
openshift-b4b5b685581a6c4b35953bf32d56c1f96b12ff51.zip
health checks: factor out get_required_version
Diffstat (limited to 'roles/openshift_health_checker/openshift_checks/__init__.py')
-rw-r--r--roles/openshift_health_checker/openshift_checks/__init__.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/roles/openshift_health_checker/openshift_checks/__init__.py b/roles/openshift_health_checker/openshift_checks/__init__.py
index 8c3d71ca9..b9c41d1b4 100644
--- a/roles/openshift_health_checker/openshift_checks/__init__.py
+++ b/roles/openshift_health_checker/openshift_checks/__init__.py
@@ -325,6 +325,24 @@ class OpenShiftCheck(object):
return tuple(int(x) for x in components[:2])
+ def get_required_version(self, name, version_map):
+ """Return the correct required version(s) for the current (or nearest) OpenShift version."""
+ openshift_version = self.get_major_minor_version()
+
+ earliest = min(version_map)
+ latest = max(version_map)
+ if openshift_version < earliest:
+ return version_map[earliest]
+ if openshift_version > latest:
+ return version_map[latest]
+
+ required_version = version_map.get(openshift_version)
+ if not required_version:
+ msg = "There is no recommended version of {} for the current version of OpenShift ({})"
+ raise OpenShiftCheckException(msg.format(name, ".".join(str(comp) for comp in openshift_version)))
+
+ return required_version
+
def find_ansible_mount(self, path):
"""Return the mount point for path from ansible_mounts."""