Bug 1689931 - global parameter to define skip_if_unavailable behavior for yum
Summary: global parameter to define skip_if_unavailable behavior for yum
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: libdnf
Version: 8.0
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: rc
: 8.1
Assignee: Jaroslav Mracek
QA Contact: Jan Blazek
URL:
Whiteboard:
Depends On:
Blocks: 1702180
TreeView+ depends on / blocked
 
Reported: 2019-03-18 13:10 UTC by Terry Bowling
Modified: 2020-11-14 12:30 UTC (History)
5 users (show)

Fixed In Version: libdnf-0.33.0-1.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1702180 (view as bug list)
Environment:
Last Closed: 2019-11-05 22:21:30 UTC
Type: Enhancement
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2019:3583 None None None 2019-11-05 22:21:41 UTC

Description Terry Bowling 2019-03-18 13:10:13 UTC
Description of problem:

The current default behavior of yum4/dnf is skip_if_unavailable=True.  This default behavior is being changed to False on bz1679509.  

While one can manually set change this parameter setting in each individual repository file, it is also desired to have a global configuration setting as well so that repository configurations that do not have a behavior defined will default to False in order to be as safe as possible.  Presumeably this parameter would be defined in /etc/yum.repos.d/{yum, dnf}.conf

Background reasoning:
With a default behavior of yum4/dnf is skip_if_unavailable=True, dnf will log messages that a repository is unavailable, but continue with changes for other repositories that are available.

This could cause scripts to appear as though they have succeeded when in fact the repo is unavailable. Install, search, or update  operations will result in a return code of 0. Again, this occurs only if the desired repo is unavailable. 

Users may incorrectly assume that security errata was applied, or that complex layered applications such as openstack were updated as a complete state along with the OS, when in fact some repositories might have been unavailable.

This could be seen as a behavioral regression to prior releases of yum-3 in RHEL 7 and earlier.


Workaround: 
As a workaround one can add "skip_if_unavailable=False" to each of the BaseOS and AppStream repository entries in the /etc/yum.repos.d/redhat.repo file. This results in the behavior seen with yum3 on RHEL 7.

Comment 1 Jaroslav Mracek 2019-03-20 10:33:09 UTC
I create a patch https://github.com/rpm-software-management/libdnf/pull/701 that provides a global option skip_if_unavailable. The repo option "skip_if_unavailable" inherits the default value from the new global option.

Comment 11 errata-xmlrpc 2019-11-05 22:21: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, 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-2019:3583


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