Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 1323238 - OSE 3.1 RPM should require docker >= 1.8.2 and < 1.9
OSE 3.1 RPM should require docker >= 1.8.2 and < 1.9
Status: CLOSED DEFERRED
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer (Show other bugs)
3.1.0
Unspecified Unspecified
urgent Severity urgent
: ---
: ---
Assigned To: Scott Dodson
Johnny Liu
:
Depends On: 1324130
Blocks: 1267746
  Show dependency treegraph
 
Reported: 2016-04-01 11:35 EDT by Scott Dodson
Modified: 2016-04-20 10:35 EDT (History)
13 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: docker-1.9 conflicts with atomic-openshift < 3.2. Consequence: Yum fails to install atomic-openshift-3.1 on a host that doesn't have docker currently installed due to dependency resolution errors. Fix: atomic-openshift-3.1 now requires docker < 1.9. Result: Yum will now install atomic-openshift-3.1 on a host that has not previously had docker-1.9 installed. It will still fail in situations where docker-1.9 has been installed already.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-04-18 12:02:21 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Scott Dodson 2016-04-01 11:35:37 EDT
Docker-1.9.1-25 which was released yesterday has Conflicts: atomic-openshift < 3.2. While adding this won't prevent errors if a user runs 'yum upgrade' or if they've already installed docker-1.9.1 it will make it easier for greenfield installs.
Comment 2 Johnny Liu 2016-04-05 02:29:46 EDT
(In reply to Scott Dodson from comment #0)
> Docker-1.9.1-25 which was released yesterday has Conflicts: atomic-openshift
> < 3.2. While adding this won't prevent errors if a user runs 'yum upgrade'
> or if they've already installed docker-1.9.1 it will make it easier for
> greenfield installs.

Run "yum update" on ose-3.1 node, docker-1.9.1-25 will be updated, will get the following error:
# yum update
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-10.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
--> Running transaction check
---> Package docker-forward-journald.x86_64 0:1.9.1-25.el7 will be installed
--> Processing Conflict: docker-1.9.1-25.el7.x86_64 conflicts atomic-openshift < 3.2
--> Finished Dependency Resolution
Error: docker conflicts with atomic-openshift-3.1.1.6-4.git.32.adf8ec9.el7aos.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest


I think docker rpm conflicts setting already prevent docker updated, it is enough.

While because new openshift rpm is adding more restricted limit for docker version, continue this bug's verification with atomic-openshift-node-3.1.1.6-5.git.35.0742c54.el7aos.x86_64, and PASS.

# rpm -qR atomic-openshift-node
<--snip-->
docker-io >= 1.8.2
docker-io < 1.9
<--snip-->

# yum update
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-10.el7 will be updated
--> Processing Dependency: docker-io < 1.9 for package: atomic-openshift-node-3.1.1.6-5.git.35.0742c54.el7aos.x86_64
---> 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
--> Running transaction check
---> Package docker.x86_64 0:1.8.2-10.el7 will be updated
--> Processing Dependency: docker-io < 1.9 for package: atomic-openshift-node-3.1.1.6-5.git.35.0742c54.el7aos.x86_64
---> Package docker-forward-journald.x86_64 0:1.9.1-25.el7 will be installed
--> Processing Conflict: docker-1.9.1-25.el7.x86_64 conflicts atomic-openshift < 3.2
--> Finished Dependency Resolution
Error: Package: atomic-openshift-node-3.1.1.6-5.git.35.0742c54.el7aos.x86_64 (@ose-devel)
           Requires: docker-io < 1.9
           Removing: docker-1.8.2-10.el7.x86_64 (@rhel-7-extra)
               docker-io = 1.8.2-10.el7
           Updated By: docker-1.9.1-25.el7.x86_64 (rhel-7-extra)
               docker-io = 1.9.1-25.el7
           Available: docker-1.2.0-1.8.el7.x86_64 (rhel-7-extra)
               docker-io
           Available: docker-1.3.2-4.el7.x86_64 (rhel-7-extra)
               docker-io = 1.3.2
           Available: docker-1.4.1-37.el7.x86_64 (rhel-7-extra)
               docker-io = 1.4.1-37.el7
           Available: docker-1.5.0-27.el7.x86_64 (rhel-7-extra)
               docker-io = 1.5.0-27
           Available: docker-1.5.0-28.el7.x86_64 (rhel-7-extra)
               docker-io = 1.5.0-28
           Available: docker-1.6.0-11.el7.x86_64 (rhel-7-extra)
               docker-io = 1.6.0-11
           Available: docker-1.6.2-14.el7.x86_64 (rhel-7-extra)
               docker-io = 1.6.2-14
           Available: docker-1.7.1-108.el7.x86_64 (rhel-7-extra)
               docker-io = 1.7.1-108.el7
           Available: docker-1.7.1-115.el7.x86_64 (rhel-7-extra)
               docker-io = 1.7.1-115.el7
           Available: docker-1.8.2-7.el7.x86_64 (rhel-7-extra)
               docker-io = 1.8.2-7.el7
           Available: docker-1.8.2-8.el7.x86_64 (rhel-7-extra)
               docker-io = 1.8.2-8.el7
           Available: docker-0.11.1-19.el7.x86_64 (rhel-7-extra)
               Not found
           Available: docker-0.11.1-22.el7.x86_64 (rhel-7-extra)
               Not found
           Available: docker-1.1.2-13.el7.x86_64 (rhel-7-extra)
               Not found
Error: docker conflicts with atomic-openshift-3.1.1.6-5.git.35.0742c54.el7aos.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
Comment 3 Johnny Liu 2016-04-05 02:43:39 EDT
@Scott, after re-reading your initial report, your fix are trying to allow user to run "yum update" without error? If that, according to comment 2, I should assign this bug back, pls help confirm my verification in comment 2 are right.
Comment 4 Scott Dodson 2016-04-05 09:28:52 EDT
Jianlin,

Sorry, what I meant was that this bug will only fix situations where you install atomic-openshift-node on a host without docker pre-installed.

There's nothing in the RPM we can do to prevent problems when you either a) install docker-1.9 first or b) after installing successfully run 'yum upgrade'
Those two issues must be fixed via the installer, we're addressing those in this bug https://bugzilla.redhat.com/show_bug.cgi?id=1320695


Steps to Reproduce:
1. Provision host with access to OSE 3.1 channels and rhel extras
2. yum install atomic-openshift-node

Actual results:
Dependency errors.

--> Running transaction check
---> Package atomic-openshift-clients.x86_64 0:3.1.1.6-4.git.32.adf8ec9.el7aos will be installed
--> Processing Conflict: docker-1.9.1-25.el7.x86_64 conflicts atomic-openshift < 3.2
--> Processing Conflict: docker-1.9.1-25.el7.x86_64 conflicts atomic-openshift < 3.2
--> Finished Dependency Resolution
Error: docker conflicts with atomic-openshift-3.1.1.6-4.git.32.adf8ec9.el7aos.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest


Expected results:
Successful installation.

--> Running transaction check
---> Package atomic-openshift.x86_64 0:3.2.0.11-1.git.0.6696e29.el7 will be installed
--> Processing Dependency: atomic-openshift-clients = 3.2.0.11-1.git.0.6696e29.el7 for package: atomic-openshift-3.2.0.11-1.git.0.6696e29.el7.x86_64
---> Package docker.x86_64 0:1.9.1-25.el7 will be installed
---> Package tuned-profiles-atomic-openshift-node.x86_64 0:3.2.0.11-1.git.0.6696e29.el7 will be installed
--> Running transaction check
---> Package atomic-openshift-clients.x86_64 0:3.2.0.11-1.git.0.6696e29.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved


Additional info:
Adding Requires: docker < 1.9 to atomic-openshift-node will prevent this problem from happening.
Comment 6 Scott Dodson 2016-04-05 11:48:16 EDT
*** Bug 1323057 has been marked as a duplicate of this bug. ***
Comment 7 Johnny Liu 2016-04-06 01:35:03 EDT
According to comment 4, re-test it with atomic-openshift-node-3.1.1.6-5.git.35.0742c54.el7aos.x86_64, still failed.


On a system without docker pre-installed, enable rhel extra and ose-3.1 repo, install atomic-openshift-node, get the following error:
# yum install atomic-openshift-node
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.
ose-v3                                                                                                               | 1.2 kB  00:00:00     
Resolving Dependencies
--> Running transaction check
---> Package atomic-openshift-node.x86_64 0:3.1.1.6-5.git.35.0742c54.el7aos will be installed
--> Processing Dependency: tuned-profiles-atomic-openshift-node = 3.1.1.6-5.git.35.0742c54.el7aos for package: atomic-openshift-node-3.1.1.6-5.git.35.0742c54.el7aos.x86_64
--> Processing Dependency: atomic-openshift = 3.1.1.6-5.git.35.0742c54.el7aos for package: atomic-openshift-node-3.1.1.6-5.git.35.0742c54.el7aos.x86_64
--> Processing Dependency: docker-io < 1.9 for package: atomic-openshift-node-3.1.1.6-5.git.35.0742c54.el7aos.x86_64
--> Processing Dependency: docker-io >= 1.8.2 for package: atomic-openshift-node-3.1.1.6-5.git.35.0742c54.el7aos.x86_64
--> Running transaction check
---> Package atomic-openshift.x86_64 0:3.1.1.6-5.git.35.0742c54.el7aos will be installed
--> Processing Dependency: atomic-openshift-clients = 3.1.1.6-5.git.35.0742c54.el7aos for package: atomic-openshift-3.1.1.6-5.git.35.0742c54.el7aos.x86_64
---> Package docker.x86_64 0:1.5.0-28.el7 will be installed
--> Processing Dependency: docker-io < 1.9 for package: atomic-openshift-node-3.1.1.6-5.git.35.0742c54.el7aos.x86_64
---> Package docker.x86_64 0:1.9.1-25.el7 will be installed
--> 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
---> Package tuned-profiles-atomic-openshift-node.x86_64 0:3.1.1.6-5.git.35.0742c54.el7aos will be installed
--> Running transaction check
---> Package atomic-openshift-clients.x86_64 0:3.1.1.6-5.git.35.0742c54.el7aos will be installed
---> Package docker.x86_64 0:1.5.0-28.el7 will be installed
--> Processing Dependency: docker-io < 1.9 for package: atomic-openshift-node-3.1.1.6-5.git.35.0742c54.el7aos.x86_64
---> Package docker-forward-journald.x86_64 0:1.9.1-25.el7 will be installed
---> Package docker-selinux.x86_64 0:1.9.1-25.el7 will be installed
--> Processing Conflict: docker-1.9.1-25.el7.x86_64 conflicts atomic-openshift < 3.2
--> Finished Dependency Resolution
Error: Package: atomic-openshift-node-3.1.1.6-5.git.35.0742c54.el7aos.x86_64 (ose-v3)
           Requires: docker-io < 1.9
           Available: docker-1.2.0-1.8.el7.x86_64 (rhel-7-extra)
               docker-io
           Available: docker-1.3.2-4.el7.x86_64 (rhel-7-extra)
               docker-io = 1.3.2
           Available: docker-1.4.1-37.el7.x86_64 (rhel-7-extra)
               docker-io = 1.4.1-37.el7
           Available: docker-1.5.0-27.el7.x86_64 (rhel-7-extra)
               docker-io = 1.5.0-27
           Available: docker-1.5.0-28.el7.x86_64 (rhel-7-extra)
               docker-io = 1.5.0-28
           Available: docker-1.6.0-11.el7.x86_64 (rhel-7-extra)
               docker-io = 1.6.0-11
           Available: docker-1.6.2-14.el7.x86_64 (rhel-7-extra)
               docker-io = 1.6.2-14
           Available: docker-1.7.1-108.el7.x86_64 (rhel-7-extra)
               docker-io = 1.7.1-108.el7
           Available: docker-1.7.1-115.el7.x86_64 (rhel-7-extra)
               docker-io = 1.7.1-115.el7
           Available: docker-1.8.2-7.el7.x86_64 (rhel-7-extra)
               docker-io = 1.8.2-7.el7
           Available: docker-1.8.2-8.el7.x86_64 (rhel-7-extra)
               docker-io = 1.8.2-8.el7
           Available: docker-1.8.2-10.el7.x86_64 (rhel-7-extra)
               docker-io = 1.8.2-10.el7
           Installing: docker-1.9.1-25.el7.x86_64 (docker-19)
               docker-io = 1.9.1-25.el7
           Available: docker-0.11.1-19.el7.x86_64 (rhel-7-extra)
               Not found
           Available: docker-0.11.1-22.el7.x86_64 (rhel-7-extra)
               Not found
           Available: docker-1.1.2-13.el7.x86_64 (rhel-7-extra)
               Not found
Error: docker conflicts with atomic-openshift-3.1.1.6-5.git.35.0742c54.el7aos.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest


In comment 4, you are installing ose 3.2 node rpm package, not ose 3.1 node rpm packages. 
> --> Running transaction check
> ---> Package atomic-openshift.x86_64 0:3.2.0.11-1.git.0.6696e29.el7 will be
> installed
> --> Processing Dependency: atomic-openshift-clients =
> 3.2.0.11-1.git.0.6696e29.el7 for package:
> atomic-openshift-3.2.0.11-1.git.0.6696e29.el7.x86_64
> ---> Package docker.x86_64 0:1.9.1-25.el7 will be installed
> ---> Package tuned-profiles-atomic-openshift-node.x86_64
> 0:3.2.0.11-1.git.0.6696e29.el7 will be installed
> --> Running transaction check
> ---> Package atomic-openshift-clients.x86_64 0:3.2.0.11-1.git.0.6696e29.el7
> will be installed
> --> Finished Dependency Resolution
Comment 8 Scott Dodson 2016-04-06 15:35:13 EDT
I'm afraid this actually cannot be fixed based on http://www.rpm.org/wiki/PackagerDocs/BooleanDependencies but i'm trying a few other things.
Comment 9 Peter Larsen 2016-04-11 14:52:40 EDT
Other than implementing version lock in yum, is there any other suggested work-arounds to this?
Comment 10 Scott Dodson 2016-04-12 09:44:54 EDT
(In reply to Peter Larsen from comment #9)
> Other than implementing version lock in yum, is there any other suggested
> work-arounds to this?

You're talking about running `yum upgrade` after the installation is complete? If so, no, version lock will work but beware that it means you'll never be made aware of a security update for docker after you enable that.
Comment 11 Peter Larsen 2016-04-12 09:54:55 EDT
(In reply to Scott Dodson from comment #10)
> (In reply to Peter Larsen from comment #9)
> > Other than implementing version lock in yum, is there any other suggested
> > work-arounds to this?
> 
> You're talking about running `yum upgrade` after the installation is
> complete? If so, no, version lock will work but beware that it means you'll
> never be made aware of a security update for docker after you enable that.

I have the same problem installing - the docker conflict comes up every time atomic-openshift is attempted to be install with the current repo configuration. I presume we can use "exclude=" in the yum.conf configuration too, but that too would have to be adjusted once this bug has been resolved. The configuration could be managed using a simple ansible script? 

Are there any better work-arounds to this?
Comment 12 Scott Dodson 2016-04-12 10:25:38 EDT
(In reply to Peter Larsen from comment #11)
> I have the same problem installing - the docker conflict comes up every time
> atomic-openshift is attempted to be install with the current repo
> configuration. I presume we can use "exclude=" in the yum.conf configuration
> too, but that too would have to be adjusted once this bug has been resolved.
> The configuration could be managed using a simple ansible script? 
> 
> Are there any better work-arounds to this?

Have you updated your installer? We shipped an updated installer that should avoid this. If the currently released installer is failing lets open a separate bug on that.
Comment 13 Peter Larsen 2016-04-12 15:46:13 EDT
(In reply to Scott Dodson from comment #12)
> (In reply to Peter Larsen from comment #11)
> > I have the same problem installing - the docker conflict comes up every time
> > atomic-openshift is attempted to be install with the current repo
> > configuration. I presume we can use "exclude=" in the yum.conf configuration
> > too, but that too would have to be adjusted once this bug has been resolved.
> > The configuration could be managed using a simple ansible script? 
> > 
> > Are there any better work-arounds to this?
> 
> Have you updated your installer? We shipped an updated installer that should
> avoid this. If the currently released installer is failing lets open a
> separate bug on that.

Using openshift-ansible-playbooks-3.0.47-1.git.0.4498ce3.el7aos.noarch

Results in the same issue:
TASK: [openshift_common | Install the base package for versioning] ************ 
failed: [node3.rhsademo.net] => {"changed": true, "rc": 1, "results": ["Loaded plugins: langpacks, search-disabled-repos\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
Comment 14 Johnny Liu 2016-04-12 23:12:42 EDT
What we just shipped to fix this bug is openshift-ansible-3.0.47-6.git.0.7e39163.el7aos, could you have try to update your installer?
Comment 15 Peter Larsen 2016-04-13 07:59:56 EDT
(In reply to Johnny Liu from comment #14)
> What we just shipped to fix this bug is
> openshift-ansible-3.0.47-6.git.0.7e39163.el7aos, could you have try to
> update your installer?

$ sudo repoquery  openshift-ansible
openshift-ansible-0:3.0.47-1.git.0.4498ce3.el7aos.noarch

Sorry - not available.
Comment 16 Brenton Leanhardt 2016-04-18 12:02:21 EDT
The latest update on this is that the 3.2 installer (which will be compatible will 3.0 and 3.1) will ensure the correct version of Docker is running for OSE.

Bug #1324130 will handle the removal of the rpm conflicts.

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