Description of problem: In step 3 of the OCP 3.3 -> 3.4 upgrade docs here, "Preparing for an Automated Upgrade" section: https://docs.openshift.com/container-platform/3.4/install_config/upgrading/automated_upgrades.html#preparing-for-an-automated-upgrade When we have readers update those *excluder packages in preparation for the cluster upgrade, my understanding (and please correct if I'm wrong) was the exclude= list is supposed to be updated automatically as needed after the package update. So I believe docker*1.12* should have been dropped from the list at this point (because 3.3 uses docker-1.10 and 3.4 uses docker-1.12), allowing for docker to upgrade to 1.12 during the actual cluster upgrade to follow. However checking again on my test systems (also checked with sdodson), I'm seeing that this is not happening now, and the docker*1.12* is sticking around after updating atomic-openshift-docker-excluder from 3.3.1.14-1.git.0.13deca9 to 3.4.1.7-1.git.0.81b9a4a.el7. This prevents docker from being able to update to 1.12 during the cluster upgrade, causing the upgrade playbook to fail. Version-Release number of selected component (if applicable): atomic-openshift-docker-excluder-3.4.1.7-1.git.0.81b9a4a.el7.noarch How reproducible: Every time when preparing for an upgrade of OCP 3.3 to 3.4. Steps to Reproduce: 1. Install atomic-openshift-docker-excluder and atomic-openshift-excluder from the rhel-7-server-ose-3.3-rpms channel. 2. Check /etc/yum.conf, docker*1.12* is in the exclude= list. 3. Disable the rhel-7-server-ose-3.3-rpms channel, enable the rhel-7-server-ose-3.4-rpms channel, and yum update atomic-openshift-docker-excluder and atomic-openshift-excluder to 3.4-level packages. Actual results: Check /etc/yum.conf again, docker*1.12* is still in the exclude= list. Expected results: Check /etc/yum.conf again, docker*1.12* is no longer in the exclude= list, allowing docker to be updated on hosts during the cluster upgrade. Additional info: A related docs BZ was opened via https://bugzilla.redhat.com/show_bug.cgi?id=1426570.
Looks like our "preun" script is running the new script to unexclude instead of the old script. I will investigate, but I believe %pretrans is what we need instead of %preun
Fixed with this pull request: https://github.com/openshift/ose/pull/653
Version: atomic-openshift-docker-excluder-3.4.1.10-1.git.0.c96aed3.el7.noarch Steps: 1. prepare 3.3 repo and install atomic-openshift-docker-excluder 2. prepare 3.4 repo on the hosts 3. Update docker-excluder to 3.4 #yum update atomic-openshift-docker-excluder Result: ->before update exclude= 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* ->after update exclude= 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* The issue still existed.
This was fixed in atomic-openshift-docker-excluder-3.4.1.11-1.git.0.d58d8ae.el7.noarch Please try again with the updated version.
Version: atomic-openshift-docker-excluder-3.4.1.11-1.git.0.d58d8ae.el7.noarch Steps: 1. prepare 3.3 repo and install atomic-openshift-docker-excluder 2. prepare 3.4 repo on the hosts 3. Update docker-excluder to 3.4 #yum update atomic-openshift-docker-excluder Result: ->before update exclude= 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* ->after update exclude= docker*1.20* docker*1.19* docker*1.18* docker*1.17* docker*1.16* docker*1.15* docker*1.14* docker*1.13* The issue has been fixed.
For those that want to see the pull request and don't have access to openshift/ose, the same code was submitted upstream in origin. https://github.com/openshift/origin/pull/13392/files
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-2017:0865