Bug 1323057 - Fail to install OSE/AEP-3.1 using atomic-openshift-installer of 3.2 due to docker 1.9 conflict. [NEEDINFO]
Summary: Fail to install OSE/AEP-3.1 using atomic-openshift-installer of 3.2 due to do...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer
Version: 3.2.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: ---
Assignee: Scott Dodson
QA Contact: Ma xiaoqiang
URL:
Whiteboard:
Depends On: 1324371
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-04-01 07:16 UTC by Gaoyun Pei
Modified: 2016-07-04 00:46 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-05-12 16:39:49 UTC
Target Upstream Version:
bazulay: needinfo? (mbarrett)


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:1065 0 normal SHIPPED_LIVE Red Hat OpenShift Enterprise atomic-openshift-utils bug fix update 2016-05-12 20:32:56 UTC

Description Gaoyun Pei 2016-04-01 07:16:24 UTC
Description of problem:
Try to install OSE-3.1 with the latest a-o-i from 3.2 puddle, the hosts have docker-1.9.1-25 installed in advance. Then docker conflicts issue encountered which should be related to https://bugzilla.redhat.com/show_bug.cgi?id=1320695.


Version-Release number of selected component (if applicable):
openshift-ansible-3.0.68-1.git.0.d80d45e.el7.noarch

How reproducible:
Always

Steps to Reproduce:
1.Prepare OSE-3.1 yum repo on the hosts to be installed.
2.Run "atomic-openshift-installer install" and choose "OpenShift Enterprise 3.1"

Actual results:
TASK: [openshift_common | Install the base package for versioning] ************ 
failed: [10.x.x.x] => {"changed": true, "rc": 1, "results": ["Loaded plugins: product-id, search-disabled-repos, subscription-manager\nThis system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.\nResolving Dependencies\n--> Running transaction check\n---> Package atomic-openshift.x86_64 0:3.1.1.6-4.git.32.adf8ec9.el7aos will be installed\n--> Processing Dependency: atomic-openshift-clients = 3.1.1.6-4.git.32.adf8ec9.el7aos for package: atomic-openshift-3.1.1.6-4.git.32.adf8ec9.el7aos.x86_64\n--> Running transaction check\n---> Package atomic-openshift-clients.x86_64 0:3.1.1.6-4.git.32.adf8ec9.el7aos will be installed\n--> Processing Conflict: docker-1.9.1-25.el7.x86_64 conflicts atomic-openshift < 3.2\n--> Finished Dependency Resolution\n You could try using --skip-broken to work around the problem\n You could try running: rpm -Va --nofiles --nodigest\n"]}
msg: Error: docker conflicts with atomic-openshift-3.1.1.6-4.git.32.adf8ec9.el7aos.x86_64


Expected results:
Should no installation error with the installer.

Additional info:
QE suggest removing the OSE/AEP-3.1 and OSE-3.0 options from the a-o-i of OSE/AEP-3.2, it would be more clear and reasonable for a specialized quick installer of 3.2 product, also could reduce the compatibility work for old versions and avoid such issue which only should be fixed for old versions.

Comment 1 Anping Li 2016-04-01 08:07:27 UTC
The error block the ugprade testing.  so prompt to high.

TASK: [Upgrade Docker] ******************************************************** 
<ha2-master2.example.com> ESTABLISH CONNECTION FOR USER: root
<ha2-master2.example.com> REMOTE_MODULE command yum update -y docker
<ha2-master2.example.com> EXEC ssh -C -tt -v -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/root/.ansible/cp/ansible-ssh-%h-%p-%r" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 ha2-master2.example.com /bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1459496976.86-91087558905315 && echo $HOME/.ansible/tmp/ansible-tmp-1459496976.86-91087558905315'
<ha2-master2.example.com> PUT /tmp/tmp1GFI6K TO /root/.ansible/tmp/ansible-tmp-1459496976.86-91087558905315/command
<ha2-master2.example.com> EXEC ssh -C -tt -v -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/root/.ansible/cp/ansible-ssh-%h-%p-%r" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 ha2-master2.example.com /bin/sh -c 'LANG=C LC_CTYPE=C /usr/bin/python /root/.ansible/tmp/ansible-tmp-1459496976.86-91087558905315/command; rm -rf /root/.ansible/tmp/ansible-tmp-1459496976.86-91087558905315/ >/dev/null 2>&1'
failed: [ha2-master2.example.com] => {"changed": true, "cmd": ["yum", "update", "-y", "docker"], "delta": "0:00:02.184337", "end": "2016-04-01 15:49:38.699255", "rc": 1, "start": "2016-04-01 15:49:36.514918", "warnings": ["Consider using yum module rather than running yum"]}
stderr: Error: docker conflicts with atomic-openshift-3.1.1.6-4.git.32.adf8ec9.el7aos.x86_64
stdout: Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package docker.x86_64 0:1.8.2-8.el7 will be updated
---> Package docker.x86_64 0:1.9.1-25.el7 will be an update
--> Processing Dependency: docker-forward-journald = 1.9.1-25.el7 for package: docker-1.9.1-25.el7.x86_64
--> Processing Dependency: docker-selinux >= 1.9.1-25.el7 for package: docker-1.9.1-25.el7.x86_64
--> Running transaction check
---> Package docker-forward-journald.x86_64 0:1.9.1-25.el7 will be installed
---> Package docker-selinux.x86_64 0:1.8.2-8.el7 will be updated
---> Package docker-selinux.x86_64 0:1.9.1-25.el7 will be an update
--> Processing Conflict: docker-1.9.1-25.el7.x86_64 conflicts atomic-openshift < 3.2
--> Finished Dependency Resolution
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
<ha2-master3.example.com> ESTABLISH CONNECTION FOR USER: root
<ha2-master3.example.com> REMOTE_MODULE command yum update -y docker
<ha2-master3.example.com> EXEC ssh -C -tt -v -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/root/.ansible/cp/ansible-ssh-%h-%p-%r" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 ha2-master3.example.com /bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1459496976.87-269223290111397 && echo $HOME/.ansible/tmp/ansible-tmp-1459496976.87-269223290111397'
<ha2-master3.example.com> PUT /tmp/tmpsZqI28 TO /root/.ansible/tmp/ansible-tmp-1459496976.87-269223290111397/command
<ha2-master3.example.com> EXEC ssh -C -tt -v -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/root/.ansible/cp/ansible-ssh-%h-%p-%r" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 ha2-master3.example.com /bin/sh -c 'LANG=C LC_CTYPE=C /usr/bin/python /root/.ansible/tmp/ansible-tmp-1459496976.87-269223290111397/command; rm -rf /root/.ansible/tmp/ansible-tmp-1459496976.87-269223290111397/ >/dev/null 2>&1'
failed: [ha2-master3.example.com] => {"changed": true, "cmd": ["yum", "update", "-y", "docker"], "delta": "0:00:02.347513", "end": "2016-04-01 15:49:38.999117", "rc": 1, "start": "2016-04-01 15:49:36.651604", "warnings": ["Consider using yum module rather than running yum"]}
stderr: Error: docker conflicts with atomic-openshift-3.1.1.6-4.git.32.adf8ec9.el7aos.x86_64
stdout: Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package docker.x86_64 0:1.8.2-8.el7 will be updated
---> Package docker.x86_64 0:1.9.1-25.el7 will be an update
--> Processing Dependency: docker-forward-journald = 1.9.1-25.el7 for package: docker-1.9.1-25.el7.x86_64
--> Processing Dependency: docker-selinux >= 1.9.1-25.el7 for package: docker-1.9.1-25.el7.x86_64
--> Running transaction check
---> Package docker-forward-journald.x86_64 0:1.9.1-25.el7 will be installed
---> Package docker-selinux.x86_64 0:1.8.2-8.el7 will be updated
---> Package docker-selinux.x86_64 0:1.9.1-25.el7 will be an update
--> Processing Conflict: docker-1.9.1-25.el7.x86_64 conflicts atomic-openshift < 3.2
--> Finished Dependency Resolution
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
<ha2-master1.example.com> ESTABLISH CONNECTION FOR USER: root
<ha2-master1.example.com> REMOTE_MODULE command yum update -y docker
<ha2-master1.example.com> EXEC ssh -C -tt -v -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/root/.ansible/cp/ansible-ssh-%h-%p-%r" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 ha2-master1.example.com /bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1459496976.86-10134044519058 && echo $HOME/.ansible/tmp/ansible-tmp-1459496976.86-10134044519058'
<ha2-master1.example.com> PUT /tmp/tmpYv7iHo TO /root/.ansible/tmp/ansible-tmp-1459496976.86-10134044519058/command
<ha2-master1.example.com> EXEC ssh -C -tt -v -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/root/.ansible/cp/ansible-ssh-%h-%p-%r" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 ha2-master1.example.com /bin/sh -c 'LANG=C LC_CTYPE=C /usr/bin/python /root/.ansible/tmp/ansible-tmp-1459496976.86-10134044519058/command; rm -rf /root/.ansible/tmp/ansible-tmp-1459496976.86-10134044519058/ >/dev/null 2>&1'
failed: [ha2-master1.example.com] => {"changed": true, "cmd": ["yum", "update", "-y", "docker"], "delta": "0:00:02.478976", "end": "2016-04-01 15:49:38.894550", "rc": 1, "start": "2016-04-01 15:49:36.415574", "warnings": ["Consider using yum module rather than running yum"]}
stderr: Error: docker conflicts with atomic-openshift-3.1.1.6-4.git.32.adf8ec9.el7aos.x86_64
stdout: Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package docker.x86_64 0:1.8.2-8.el7 will be updated
---> Package docker.x86_64 0:1.9.1-25.el7 will be an update
--> Processing Dependency: docker-forward-journald = 1.9.1-25.el7 for package: docker-1.9.1-25.el7.x86_64
--> Processing Dependency: docker-selinux >= 1.9.1-25.el7 for package: docker-1.9.1-25.el7.x86_64
--> Running transaction check
---> Package docker-forward-journald.x86_64 0:1.9.1-25.el7 will be installed
---> Package docker-selinux.x86_64 0:1.8.2-8.el7 will be updated
---> Package docker-selinux.x86_64 0:1.9.1-25.el7 will be an update
--> Processing Conflict: docker-1.9.1-25.el7.x86_64 conflicts atomic-openshift < 3.2
--> Finished Dependency Resolution
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
<ha2-node2.example.com> ESTABLISH CONNECTION FOR USER: root
<ha2-node2.example.com> REMOTE_MODULE command yum update -y docker
<ha2-node2.example.com> EXEC ssh -C -tt -v -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/root/.ansible/cp/ansible-ssh-%h-%p-%r" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 ha2-node2.example.com /bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1459496976.87-79371629044688 && echo $HOME/.ansible/tmp/ansible-tmp-1459496976.87-79371629044688'
<ha2-node2.example.com> PUT /tmp/tmp2d_OGo TO /root/.ansible/tmp/ansible-tmp-1459496976.87-79371629044688/command
<ha2-node2.example.com> EXEC ssh -C -tt -v -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/root/.ansible/cp/ansible-ssh-%h-%p-%r" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 ha2-node2.example.com /bin/sh -c 'LANG=C LC_CTYPE=C /usr/bin/python /root/.ansible/tmp/ansible-tmp-1459496976.87-79371629044688/command; rm -rf /root/.ansible/tmp/ansible-tmp-1459496976.87-79371629044688/ >/dev/null 2>&1'
failed: [ha2-node2.example.com] => {"changed": true, "cmd": ["yum", "update", "-y", "docker"], "delta": "0:00:02.609816", "end": "2016-04-01 15:49:40.065386", "rc": 1, "start": "2016-04-01 15:49:37.455570", "warnings": ["Consider using yum module rather than running yum"]}
stderr: Error: docker conflicts with atomic-openshift-3.1.1.6-4.git.32.adf8ec9.el7aos.x86_64
stdout: Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package docker.x86_64 0:1.8.2-8.el7 will be updated
---> Package docker.x86_64 0:1.9.1-25.el7 will be an update
--> Processing Dependency: docker-forward-journald = 1.9.1-25.el7 for package: docker-1.9.1-25.el7.x86_64
--> Processing Dependency: docker-selinux >= 1.9.1-25.el7 for package: docker-1.9.1-25.el7.x86_64
--> Running transaction check
---> Package docker-forward-journald.x86_64 0:1.9.1-25.el7 will be installed
---> Package docker-selinux.x86_64 0:1.8.2-8.el7 will be updated
---> Package docker-selinux.x86_64 0:1.9.1-25.el7 will be an update
--> Processing Conflict: docker-1.9.1-25.el7.x86_64 conflicts atomic-openshift < 3.2
--> Finished Dependency Resolution
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
<ha2-node1.example.com> ESTABLISH CONNECTION FOR USER: root
<ha2-node1.example.com> REMOTE_MODULE command yum update -y docker
<ha2-node1.example.com> EXEC ssh -C -tt -v -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/root/.ansible/cp/ansible-ssh-%h-%p-%r" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 ha2-node1.example.com /bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1459496976.87-127051582213829 && echo $HOME/.ansible/tmp/ansible-tmp-1459496976.87-127051582213829'
<ha2-node1.example.com> PUT /tmp/tmpZmVSek TO /root/.ansible/tmp/ansible-tmp-1459496976.87-127051582213829/command
<ha2-node1.example.com> EXEC ssh -C -tt -v -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/root/.ansible/cp/ansible-ssh-%h-%p-%r" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 ha2-node1.example.com /bin/sh -c 'LANG=C LC_CTYPE=C /usr/bin/python /root/.ansible/tmp/ansible-tmp-1459496976.87-127051582213829/command; rm -rf /root/.ansible/tmp/ansible-tmp-1459496976.87-127051582213829/ >/dev/null 2>&1'
failed: [ha2-node1.example.com] => {"changed": true, "cmd": ["yum", "update", "-y", "docker"], "delta": "0:00:02.967611", "end": "2016-04-01 15:49:39.591291", "rc": 1, "start": "2016-04-01 15:49:36.623680", "warnings": ["Consider using yum module rather than running yum"]}
stderr: Error: docker conflicts with atomic-openshift-3.1.1.6-4.git.32.adf8ec9.el7aos.x86_64
stdout: Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package docker.x86_64 0:1.8.2-8.el7 will be updated
---> Package docker.x86_64 0:1.9.1-25.el7 will be an update
--> Processing Dependency: docker-forward-journald = 1.9.1-25.el7 for package: docker-1.9.1-25.el7.x86_64
--> Processing Dependency: docker-selinux >= 1.9.1-25.el7 for package: docker-1.9.1-25.el7.x86_64
--> Running transaction check
---> Package docker-forward-journald.x86_64 0:1.9.1-25.el7 will be installed
---> Package docker-selinux.x86_64 0:1.8.2-8.el7 will be updated
---> Package docker-selinux.x86_64 0:1.9.1-25.el7 will be an update
--> Processing Conflict: docker-1.9.1-25.el7.x86_64 conflicts atomic-openshift < 3.2
--> Finished Dependency Resolution
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

FATAL: all hosts have already failed -- aborting

Comment 2 Anping Li 2016-04-01 09:05:23 UTC
please ignore the comment1, it turn out another bug. not a test block for upgrade.

Comment 3 Brenton Leanhardt 2016-04-01 11:50:29 UTC
Scott is working on a PR to ensure that Docker 1.8 is installed in all environment < OSE 3.2.

Comment 4 Barak 2016-04-04 11:51:49 UTC
This still sound like a blocker to me.

The reason is that currently customers can not deploy openshift 3.1, and here is why:

when deploying openshift one must register to 3 different repos:

"""
subscription-manager repos --enable="rhel-7-server-rpms" --enable="rhel-7-server-extras-rpms" --enable="rhel-7-server-ose-3.1-rpms"
"""

when ansible installer runs it tries first to update the docker package.it gets docker 1.9.1-25.el7 from repo rhel-7-server-extras-rpms,
and this package conflicts with openshift < 3.2.

So it makes it impossible to install, should it be released to 3.1 zstream ASAP ?

Comment 5 Brenton Leanhardt 2016-04-04 12:29:18 UTC
We're working to ship a fix for this as soon as possible.  The best workaround I know of is to run 'yum install docker-1.8.2' before you run ansible.

Comment 6 Brenton Leanhardt 2016-04-05 15:44:15 UTC
*** Bug 1324130 has been marked as a duplicate of this bug. ***

Comment 7 Scott Dodson 2016-04-05 15:48:16 UTC
Sorry I should've seen this bug before creating another. The other one is attached to an errata already so i'm going to close this as a dupe of that.

*** This bug has been marked as a duplicate of bug 1323238 ***

Comment 8 Gaoyun Pei 2016-04-06 04:37:58 UTC
Actually, this bug is not describing the same issue with BZ#1323238, it was opened to expect the fix in BZ#1320695 which was merged into openshift-ansible-3.0.47-6.git.0.7e39163.el7aos only for 3.1 installer. 

When the hosts to be installed have docker-1.9 pre-installed, try to install ose-3.1 with 3.2 a-o-i(atomic-openshift-utils-3.0.72-1), it would still encounter the conflict error. The installer wouldn't downgrade docker to docker-1.8 as openshift-ansible-utils-3.0.47-6 did, this is why the bug opened for the a-o-i of 3.2

Comment 12 Gaoyun Pei 2016-04-08 02:53:46 UTC
Since BZ#1324371 was verified, no docker conflict error happened during installing 3.1 with the 3.2 a-o-i now, ansible would downgrade the docker correctly, so the original issue tracking in this bug has been fixed.
Fixed in version atomic-openshift-utils-3.0.75-1.git.0.83b3b91.el7.noarch.

Another blocking issue of the 3.1 installation with 3.2 a-o-i is that docker service couldn't get start after downgrade, this would be tracked in BZ#1324727 separately.

Comment 14 errata-xmlrpc 2016-05-12 16:39:49 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2016:1065


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