(Ready for wrangler) |
(Removing from F31 because the Change is being reverted) |
||
(13 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Set skip_if_unavailable default to false = | |||
== Summary == | == Summary == | ||
Dnf team wants to change a default setting for the repo option skip_if_unavailable to FALSE. | Dnf team wants to change a default setting for the repo option `skip_if_unavailable` to `FALSE`. | ||
== Owner == | == Owner == | ||
* Name: [[User:jmracek| Jaroslav Mracek]] | * Name: [[User:jmracek| Jaroslav Mracek]] | ||
* Email: jmracek@redhat.com | * Email: jmracek@redhat.com | ||
* Release notes owner: | * Release notes owner: | ||
== Current status == | == Current status == | ||
Line 60: | Line 21: | ||
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development | CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development | ||
--> | --> | ||
* Tracker bug: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1706160 #1706160] | ||
* Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/336 #336] | |||
== Detailed Description == | == Detailed Description == | ||
Dnf team wants to change a default setting for the repo option skip_if_unavailable to FALSE. The option is responsible for behavior when metadata of a repository is unavailable. When it is set to false, it will stop on the first unavailable repository with raising an error. The default behavior could be overwritten by a configuration of each repository or in dnf by configuration in /etc/dnf/dnf.conf. | Dnf team wants to change a default setting for the repo option `skip_if_unavailable` to `FALSE`. The option is responsible for behavior when metadata of a repository is unavailable. When it is set to false, it will stop on the first unavailable repository with raising an error. The default behavior could be overwritten by a configuration of each repository or in dnf by configuration in /etc/dnf/dnf.conf. | ||
The behavior is not new, because it was used already by YUM, and the behavior is really essential because all Fedora ropos are already shipped with skip_if_unavailable=FALSE. | The behavior is not new, because it was used already by YUM, and the behavior is really essential because all Fedora ropos are already shipped with `skip_if_unavailable=FALSE`. | ||
The change will be applied in libdnf library, and the changed behavior will be visible for all direct and indirect users of the library: dnf, microdnf, PackageKit, ... . | The change will be applied in libdnf library, and the changed behavior will be visible for all direct and indirect users of the library: dnf, microdnf, PackageKit, ... . | ||
== Benefit to Fedora == | == Benefit to Fedora == | ||
It should provide a better security because some Important updates from third-party repositories could be present in temporary unavailable repository, but user can easily overlook it during | It should provide a better security because some Important updates from third-party repositories could be present in temporary unavailable repository, but user can easily overlook it during `dnf update` because the issue is reported as a warning. | ||
== Scope == | == Scope == | ||
* Proposal owners: | * Proposal owners: | ||
** Backport the following upstream pull requests into the DNF stack on Fedora: https://github.com/rpm-software-management/libdnf/pull/701 | |||
Backport the following upstream pull requests into the DNF stack on Fedora: | |||
https://github.com/rpm-software-management/libdnf/pull/701 | |||
* Other developers: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | * Other developers: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- What work do other developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do other developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
* Release engineering: [https://pagure.io/releng/ | * Release engineering: [https://pagure.io/releng/issue/8307 #8307] (a check of an impact with Release Engineering is needed) | ||
** [[Fedora_Program_Management/ReleaseBlocking/Fedora{{FedoraVersionNumber|next}}|List of deliverables]]: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ** [[Fedora_Program_Management/ReleaseBlocking/Fedora{{FedoraVersionNumber|next}}|List of deliverables]]: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- Please check the list of Fedora release deliverables and list all the differences the feature brings --> | <!-- Please check the list of Fedora release deliverables and list all the differences the feature brings --> | ||
* Policies and guidelines: N/A | * Policies and guidelines: N/A | ||
* Trademark approval: not needed for this Change | |||
* Trademark approval: | |||
== Upgrade/compatibility impact == | == Upgrade/compatibility impact == | ||
Line 150: | Line 73: | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
Edit .repo file in /etc/yum.repos.d/* and set an url that is not accessible. | |||
Case 1: | |||
No skip_if_unavailable in the repo file, in /etc/dnf/dnf.conf or overwritten from commandline using `--setopt`. | |||
Any command that requires available repositories like `dnf repoquery` will fail due to an error `Error: Failed to synchronize cache for repo '<repo_ID>'` | |||
Case 2: | |||
Set skip_if_unavailable=true in the repo file. | |||
Any command that requires available repositories like `dnf repoquery` will not fail due to missing metadata of the `<repo_id>` | |||
== User Experience == | == User Experience == | ||
Line 171: | Line 102: | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
Depend packages - dnf, microdnf, PackageKit | |||
There are no changes on which completion of this change depends. | |||
== Contingency Plan == | == Contingency Plan == | ||
Line 177: | Line 110: | ||
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "Revert the shipped configuration". Or it might not (e.g. rebuilding a number of dependent packages). If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | <!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "Revert the shipped configuration". Or it might not (e.g. rebuilding a number of dependent packages). If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | ||
* Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | * Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
The change requires a merge and a release of the pull-request https://github.com/rpm-software-management/libdnf/pull/701 | |||
<!-- When is the last time the contingency mechanism can be put in place? This will typically be the beta freeze. --> | <!-- When is the last time the contingency mechanism can be put in place? This will typically be the beta freeze. --> | ||
* Contingency deadline: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | * Contingency deadline: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
Should be delivered before 2019-07-24. | |||
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? --> | <!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? --> | ||
* Blocks release? N/A (not a System Wide Change), Yes/No <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | * Blocks release? N/A (not a System Wide Change), Yes/No <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
No | |||
* Blocks product? product <!-- Applicable for Changes that blocks specific product release/Fedora.next --> | * Blocks product? product <!-- Applicable for Changes that blocks specific product release/Fedora.next --> | ||
No | |||
== Documentation == | == Documentation == | ||
Line 187: | Line 124: | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
https://dnf.readthedocs.io/en/latest/conf_ref.html | |||
Update for documentation: https://github.com/rpm-software-management/dnf/pull/1358 | |||
== Release Notes == | == Release Notes == | ||
Line 203: | Line 142: | ||
<!-- Select proper category, default is Self Contained Change --> | <!-- Select proper category, default is Self Contained Change --> | ||
[[Category: | [[Category:SystemWideChange]] | ||
<!-- [[Category:SystemWideChange]] --> | <!-- [[Category:SystemWideChange]] --> |
Latest revision as of 19:51, 18 September 2019
Summary
Dnf team wants to change a default setting for the repo option skip_if_unavailable
to FALSE
.
Owner
- Name: Jaroslav Mracek
- Email: jmracek@redhat.com
- Release notes owner:
Current status
- Targeted release: Fedora 31
- Last updated: 2019-09-18
- Tracker bug: #1706160
- Release notes tracker: #336
Detailed Description
Dnf team wants to change a default setting for the repo option skip_if_unavailable
to FALSE
. The option is responsible for behavior when metadata of a repository is unavailable. When it is set to false, it will stop on the first unavailable repository with raising an error. The default behavior could be overwritten by a configuration of each repository or in dnf by configuration in /etc/dnf/dnf.conf.
The behavior is not new, because it was used already by YUM, and the behavior is really essential because all Fedora ropos are already shipped with skip_if_unavailable=FALSE
.
The change will be applied in libdnf library, and the changed behavior will be visible for all direct and indirect users of the library: dnf, microdnf, PackageKit, ... .
Benefit to Fedora
It should provide a better security because some Important updates from third-party repositories could be present in temporary unavailable repository, but user can easily overlook it during dnf update
because the issue is reported as a warning.
Scope
- Proposal owners:
- Backport the following upstream pull requests into the DNF stack on Fedora: https://github.com/rpm-software-management/libdnf/pull/701
- Other developers: N/A (not a System Wide Change)
- Release engineering: #8307 (a check of an impact with Release Engineering is needed)
- List of deliverables: N/A (not a System Wide Change)
- Policies and guidelines: N/A
- Trademark approval: not needed for this Change
Upgrade/compatibility impact
N/A (not a System Wide Change)
How To Test
Edit .repo file in /etc/yum.repos.d/* and set an url that is not accessible.
Case 1:
No skip_if_unavailable in the repo file, in /etc/dnf/dnf.conf or overwritten from commandline using --setopt
.
Any command that requires available repositories like dnf repoquery
will fail due to an error Error: Failed to synchronize cache for repo '<repo_ID>'
Case 2:
Set skip_if_unavailable=true in the repo file.
Any command that requires available repositories like dnf repoquery
will not fail due to missing metadata of the <repo_id>
User Experience
Broken repositories are recognized early, enabling the users to act upon them by double-checking their repository configuration or filing bugs, instead of assuming no upgrades are available.
Dependencies
Depend packages - dnf, microdnf, PackageKit
There are no changes on which completion of this change depends.
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
The change requires a merge and a release of the pull-request https://github.com/rpm-software-management/libdnf/pull/701
- Contingency deadline: N/A (not a System Wide Change)
Should be delivered before 2019-07-24.
- Blocks release? N/A (not a System Wide Change), Yes/No
No
- Blocks product? product
No
Documentation
https://dnf.readthedocs.io/en/latest/conf_ref.html
Update for documentation: https://github.com/rpm-software-management/dnf/pull/1358