Bug 1955012 - openshift upgradation has failed with error docker 1.13 required because showdupesfromrepos enabled in /etc/yum.conf
Summary: openshift upgradation has failed with error docker 1.13 required because show...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer
Version: 3.11.0
Hardware: x86_64
OS: Linux
low
medium
Target Milestone: ---
: 3.11.z
Assignee: Russell Teague
QA Contact: Gaoyun Pei
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-04-29 09:14 UTC by sphoorthi
Modified: 2021-06-09 17:06 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
If the user specifies showdupesfromrepos=1 in /etc/yum.conf, multiple versions of a package could be returned causing the task checking for docker to fail. The option 'showdupesfromrepos=0' was added to the repoquery command to force only one version, regardless of the local configuration.
Clone Of:
Environment:
Last Closed: 2021-06-09 17:06:30 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift openshift-ansible pull 12328 0 None open Bug 1955012: roles/openshift_facts: Force repoquery option 2021-05-20 15:47:23 UTC
Red Hat Product Errata RHSA-2021:2150 0 None None None 2021-06-09 17:06:45 UTC

Description sphoorthi 2021-04-29 09:14:40 UTC
Thanks for opening a bug report!
Before hitting the button, please fill in as much of the template below as you can.
If you leave out information, it's harder to help you.
Be ready for follow-up questions, and please respond in a timely manner.
If we can't reproduce a bug we might close your issue.
If we're wrong, PLEASE feel free to reopen it and explain why.

Version: v3.11.170

Platform: RHEV

What happened?

Customer is trying to do minor version upgrade from 3.11.117 to 3.11.404, The upgradation has failed with following error message.

~~~
1. Hosts:    testcluster1.sss.kko.ch,  testcluster2.sss.kko.ch,  testcluster3.hel.kko.ch
   Play:     Verify docker upgrade targets
   Task:     Required docker version not available (non-atomic)
   Message:  This playbook requires access to Docker 1.13 or later
~~~

The up-gradation has failed because customer has enabled  showdupesfromrepos=1 in /etc/yum.conf on their servers and disabling showdupesfromrepos=0 temporarily made the upgrade successful.

By default (showdupesfromrepos=0)  repoquery will only show one line of output. With showdupesfromrepos=1 in yum.conf repoquery will list all available versions.


What did you expect to happen?

Customer does not want to disable the parameter showdupesfromrepos in /etc/yum.conf

Openshift-ansible should able to make the upgrade success without disabling parameter showdupesfromrepos=0 

How to reproduce it (as minimally and precisely as possible)?

Enable parameter "showdupesfromrepos" in /etc/yum.conf on master nodes and worker nodes and upgrade the openshift cluster.

Anything else we need to know?

We found, Engineering team already working on this request from the following pull-request.

[1].https://github.com/openshift/openshift-ansible/pull/12323

Comment 1 Russell Teague 2021-04-29 13:42:04 UTC
The workaround is to remove showdupesfromrepos from /etc/yum.conf or set showdupesfromrepos=0.

Comment 2 sphoorthi 2021-04-30 02:50:35 UTC
Hello Russell,

The workaround is setting showdupesfromrepos=0 in /etc/yum.conf on all the nodes.

Let me know if you need any other information.

Regards
Sphoorthi

Comment 3 Matthew Staebler 2021-05-10 17:25:18 UTC
@skanniha@redhat.com Did using the workaround resolve your issue?

Comment 6 Gaoyun Pei 2021-05-29 11:45:35 UTC
QE could reproduce this issue with openshift-ansible-3.11.439-1.git.0.94e1abb.el7.noarch.rpm.

When showdupesfromrepos=1 was set in /etc/yum.conf on the masters/workers, run a playbook that will use "{{ repoquery_cmd }}", such as playbooks/byo/openshift-cluster/upgrades/docker/upgrade.yml.

ansible-playbook openshift-ansible/playbooks/byo/openshift-cluster/upgrades/docker/upgrade.yml -v

...

 TASK [container_runtime : Required docker version not available (non-atomic)] ***
05-29 19:29:16.340 
 fatal: [ci-vm-10-0-151-126.hosted.upshift.rdu2.redhat.com]: FAILED! => {"changed": false, "msg": "This playbook requires access to Docker 1.13 or later"}


The playbook in openshift-ansible-3.11.448-1.git.0.0d5b1b2.el7.noarch.rpm works as expected.

 TASK [container_runtime : Required docker version not available (non-atomic)] ***
05-29 19:34:15.605 
 skipping: [ci-vm-10-0-151-126.hosted.upshift.rdu2.redhat.com] => {"changed": false, "skip_reason": "Conditional result was False"}

Move this bug as VERIFIED.

Comment 9 errata-xmlrpc 2021-06-09 17:06:30 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 (Important: OpenShift Container Platform 3.11.452 bug fix and security update), 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/RHSA-2021:2150


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