From c24b9acb9d04f9613dcc7423791d09f83ef03670 Mon Sep 17 00:00:00 2001 From: Rodolfo Carvalho Date: Mon, 6 Feb 2017 13:53:38 +0100 Subject: Do not hard code package names --- roles/openshift_health_checker/library/aos_version.py | 18 ++++++++++++------ .../openshift_checks/package_version.py | 13 +++++-------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/roles/openshift_health_checker/library/aos_version.py b/roles/openshift_health_checker/library/aos_version.py index 37c8b483c..13b7d310b 100755 --- a/roles/openshift_health_checker/library/aos_version.py +++ b/roles/openshift_health_checker/library/aos_version.py @@ -14,10 +14,11 @@ import yum # pylint: disable=import-error from ansible.module_utils.basic import AnsibleModule -def main(): # pylint: disable=missing-docstring +def main(): # pylint: disable=missing-docstring,too-many-branches module = AnsibleModule( argument_spec=dict( - version=dict(required=True) + prefix=dict(required=True), # atomic-openshift, origin, ... + version=dict(required=True), ), supports_check_mode=True ) @@ -25,19 +26,24 @@ def main(): # pylint: disable=missing-docstring def bail(error): # pylint: disable=missing-docstring module.fail_json(msg=error) + rpm_prefix = module.params['prefix'] + + if not rpm_prefix: + bail("prefix must not be empty") + yb = yum.YumBase() # pylint: disable=invalid-name # search for package versions available for aos pkgs expected_pkgs = [ - 'atomic-openshift', - 'atomic-openshift-master', - 'atomic-openshift-node', + rpm_prefix, + rpm_prefix + '-master', + rpm_prefix + '-node', ] try: pkgs = yb.pkgSack.returnPackages(patterns=expected_pkgs) except yum.Errors.PackageSackError as e: # pylint: disable=invalid-name # you only hit this if *none* of the packages are available - bail('Unable to find any atomic-openshift packages. \nCheck your subscription and repo settings. \n%s' % e) + bail('Unable to find any OpenShift packages.\nCheck your subscription and repo settings.\n%s' % e) # determine what level of precision we're expecting for the version expected_version = module.params['version'] diff --git a/roles/openshift_health_checker/openshift_checks/package_version.py b/roles/openshift_health_checker/openshift_checks/package_version.py index b31b4d401..7fa09cbfd 100644 --- a/roles/openshift_health_checker/openshift_checks/package_version.py +++ b/roles/openshift_health_checker/openshift_checks/package_version.py @@ -9,15 +9,12 @@ class PackageVersion(NotContainerized, OpenShiftCheck): name = "package_version" tags = ["preflight"] - @classmethod - def is_active(cls, task_vars): - return ( - super(PackageVersion, cls).is_active(task_vars) - and task_vars.get("deployment_type") == "openshift-enterprise" - ) - def run(self, tmp, task_vars): + rpm_prefix = get_var(task_vars, "openshift", "common", "service_type") openshift_release = get_var(task_vars, "openshift_release") - args = {"version": openshift_release} + args = { + "prefix": rpm_prefix, + "version": openshift_release, + } return self.module_executor("aos_version", args, tmp, task_vars) -- cgit v1.2.3