Bug 1551872

Summary: OpenShift package health check shouldn't fail while a higher docker version checked then requested
Product: OpenShift Container Platform Reporter: Gan Huang <ghuang>
Component: InstallerAssignee: Luke Meyer <lmeyer>
Status: CLOSED ERRATA QA Contact: Johnny Liu <jialiu>
Severity: high Docs Contact:
Priority: high    
Version: 3.6.0CC: aos-bugs, enagai, jialiu, jokerman, mmccomas, sdodson, wmeng
Target Milestone: ---   
Target Release: 3.6.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: The package_version check looks at the available version of docker that would be installed without the yum excluders. Consequence: This check fails for releases 3.6 and 3.7 (which don't support docker-1.13) if docker-1.13 is even available to install, even if the excluders would prevent it. Fix: Stop checking for docker version at all and simply rely on excluders functioning as intended. Result: No more false positives about this.
Story Points: ---
Clone Of: 1551862 Environment:
Last Closed: 2018-04-12 12:50:01 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1551862    
Bug Blocks:    

Description Gan Huang 2018-03-06 03:23:49 UTC
+++ This bug was initially created as a clone of Bug #1551862 +++

Description of problem:
If docker-1.13 is present on the repository, OpenShift health-check would check a higher docker version than requested and fail immediately. This is not reasonable because the higher docker version that installer checks may not what the user will use or install. 

We already have atomic-openshift-docker-excluder that prevents from installing incorrect docker version, instead the OpenShift health check should check if the supported docker version is available on current repository.

Version-Release number of the following components:
openshift-ansible-3.6.173.0.104-1.git.0.ee43cc5.el7.noarch.rpm

How reproducible:
always

Steps to Reproduce:
1. Trigger rpm installation on RHEL that have docker-1.12, docker-1.13 repo configured.


Actual results:
Failure summary:


  1. Hosts:    qe-ghuang-master-etcd-xxx.qe.rhcloud.com, qe-ghuang-node-registry-router-xx.qe.rhcloud.com
     Play:     OpenShift Health Checks
     Task:     Run health checks (install) - EL
     Message:  One or more checks failed
     Details:  check "package_version":
               Some required package(s) are available at a version
               that is higher than requested
                 docker-1.13.1
               This will prevent installing the version you requested.
               Please check your enabled repositories or adjust openshift_release.


Expected results:
If docker-1.12 is what we're going to support in 3.7, we just need to check if docker-1.12 is available on the host regardless of docker-1.13 or others.

Additional info:
Please attach logs from ansible-playbook with the -vvv flag

Comment 2 Luke Meyer 2018-03-09 12:14:30 UTC
The obvious workaround while 3.6 and 3.7 are waiting for this fix is to disable the check with something like this in the inventory:

openshift_disable_check=package_version

The installer should install the correct version anyway. However if you are installing docker prior to running an install, ensure that you have installed docker-1.12 and not docker-1.13 for these versions.

Comment 4 Scott Dodson 2018-04-12 12:50:01 UTC
This was fixed in https://access.redhat.com/errata/RHBA-2018:1106