Bug 1462602 - [3.3]Docker excluder did not protect a right version's docker installed during containerized install ocp
[3.3]Docker excluder did not protect a right version's docker installed durin...
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer (Show other bugs)
Unspecified Unspecified
medium Severity medium
: ---
: 3.3.1
Assigned To: Jan Chaloupka
Johnny Liu
Depends On:
Blocks: 1554646
  Show dependency treegraph
Reported: 2017-06-19 00:27 EDT by liujia
Modified: 2018-03-13 01:38 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1554646 (view as bug list)
Last Closed: 2017-08-24 09:28:06 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description liujia 2017-06-19 00:27:47 EDT
Description of problem:
A wrong version docker was installed when containerized install ocp on fresh hosts due to docker-excluder did not take effect before install docker. Get some info from install.log that task [Install Docker] was placed before task [Install docker excluder].

# ansible -i hosts all -m shell -a "cat /etc/yum.conf|grep exclude"
openshift-109.x.x.x | SUCCESS | rc=0 >>
exclude= tuned-profiles-atomic-openshift-node  atomic-openshift-tests  atomic-openshift-sdn-ovs  atomic-openshift-recycle  atomic-openshift-pod  atomic-openshift-node  atomic-openshift-master  atomic-openshift-dockerregistry  atomic-openshift-clients-redistributable  atomic-openshift-clients  atomic-openshift  docker*1.20*  docker*1.19*  docker*1.18*  docker*1.17*  docker*1.16*  docker*1.15*  docker*1.14*  docker*1.13*  docker*1.12* 

openshift-138.x.x.x | FAILED | rc=1 >>

# ansible -i hosts all -m shell -a "docker  --version"
openshift-138.x.x.x | FAILED | rc=127 >>
/bin/sh: docker: command not found

openshift-109.x.x.x | SUCCESS | rc=0 >>
Docker version 1.12.6, build 1398f24/1.12.6

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Trigger containerzied install on fresh hosts(one master/node host + one nfs host)
# ansible-playbook -i hosts /usr/share/ansible/openshift-ansible/playbooks/byo/openshift-cluster/config.yml -vvv

Actual results:
Install succeed but docker-1.12 was installed wrongly.

Expected results:
Docker should be under 1.12 according to docker-excluder's excluded pkg list.

Additional info:
Comment 2 Jan Chaloupka 2017-06-20 08:47:16 EDT
Unfortunately, there is a cyclic dependency.

In order to use excluders one needs to know openshift_pkg_version. In containerized world it is detected from the latest docker image that is available. In order to detect the version, docker rpm is installed.

One would need to run the excluders before the docker rpm is installed. It means to run excluders before the openshift_pkg_version is detected.

Either, the inventory must set `docker_version` to 1.10* or we need to use different approach how to detect the latest docker image. E.g. Skopeo. Anyway, we should not install docker just because we need to get the latest version of a docker image.

[1] https://github.com/projectatomic/skopeo
Comment 3 Jan Chaloupka 2017-06-21 07:12:54 EDT
Upstream issue: https://github.com/openshift/openshift-ansible/issues/4523
Comment 4 Scott Dodson 2017-08-24 09:28:06 EDT
We'll be looking at fixing 3.4 and newer but not 3.3

Note You need to log in before you can comment on or make changes to this bug.