Bug 1430929 - exclude list stays the same after atomic-openshift-docker-excluder pkg update
Summary: exclude list stays the same after atomic-openshift-docker-excluder pkg update
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer
Version: 3.4.1
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 3.4.z
Assignee: Troy Dawson
QA Contact: liujia
URL:
Whiteboard:
Depends On:
Blocks: 1426570 1457379
TreeView+ depends on / blocked
 
Reported: 2017-03-09 22:01 UTC by Alex Dellapenta
Modified: 2017-05-31 15:30 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: On updates, the new rpm was not running the unexclude script of the old rpm. Consequence: The old excludes in the yum.conf file were not cleaned up if there was any differences between the old and new excluders Fix: The new rpm run the old rpms unexclude script before it touches anything. Result: All of the old excludes in yum.conf are cleaned up when there is an update.
Clone Of:
: 1457379 (view as bug list)
Environment:
Last Closed: 2017-04-04 14:28:40 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2017:0865 normal SHIPPED_LIVE OpenShift Container Platform 3.4.1.12, 3.3.1.17-4, and 3.2.1.30 bug fix update 2017-04-04 18:27:43 UTC

Description Alex Dellapenta 2017-03-09 22:01:40 UTC
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.

Comment 1 Troy Dawson 2017-03-10 15:10:44 UTC
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

Comment 2 Troy Dawson 2017-03-20 14:40:30 UTC
Fixed with this pull request:
https://github.com/openshift/ose/pull/653

Comment 4 liujia 2017-03-23 08:19:04 UTC
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.

Comment 5 Troy Dawson 2017-03-23 15:01:54 UTC
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.

Comment 6 liujia 2017-03-24 06:00:14 UTC
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.

Comment 8 Troy Dawson 2017-03-28 14:48:50 UTC
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

Comment 10 errata-xmlrpc 2017-04-04 14:28:40 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-2017:0865


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