Bug 1462602 - [3.3]Docker excluder did not protect a right version's docker installed during containerized install ocp
Summary: [3.3]Docker excluder did not protect a right version's docker installed durin...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer
Version: 3.3.1
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 3.3.1
Assignee: Jan Chaloupka
QA Contact: Johnny Liu
URL:
Whiteboard:
Depends On:
Blocks: 1554646
TreeView+ depends on / blocked
 
Reported: 2017-06-19 04:27 UTC by liujia
Modified: 2018-03-13 05:38 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1554646 (view as bug list)
Environment:
Last Closed: 2017-08-24 13:28:06 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description liujia 2017-06-19 04:27:47 UTC
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):
atomic-openshift-utils-3.3.97-1.git.0.0cbc4a5.el7.noarch

How reproducible:
always

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
2.
3.

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 12:47:16 UTC
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 11:12:54 UTC
Upstream issue: https://github.com/openshift/openshift-ansible/issues/4523

Comment 4 Scott Dodson 2017-08-24 13:28:06 UTC
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.