(Create a template) |
(Removing from F31 because the Change is being reverted) |
||
(15 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Set skip_if_unavailable default to false = | |||
== Summary == | |||
Dnf team wants to change a default setting for the repo option `skip_if_unavailable` to `FALSE`. | |||
== Owner == | == Owner == | ||
* Name: [[User:jmracek| Jaroslav Mracek]] | |||
* Email: jmracek@redhat.com | |||
* Release notes owner: | |||
* Name: [[User: | |||
* Email: | |||
* Release notes owner: | |||
== Current status == | == Current status == | ||
* Targeted release: | * Targeted release: Fedora 31 | ||
* Last updated: <!-- this is an automatic macro — you don't need to change this line --> {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} | * Last updated: <!-- this is an automatic macro — you don't need to change this line --> {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} | ||
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page | <!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page | ||
Line 57: | 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. | |||
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 == | == 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 | |||
* 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 134: | 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 == | ||
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. | |||
<!-- If this change proposal is noticeable by users, how will their experiences change as a result? | <!-- If this change proposal is noticeable by users, how will their experiences change as a result? | ||
Line 152: | 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 158: | 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 168: | 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 181: | Line 139: | ||
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | <!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | ||
<!-- The Wrangler announces the Change to the devel-announce list and changes the category to Category:ChangeAnnounced (no action required) --> | <!-- The Wrangler announces the Change to the devel-announce list and changes the category to Category:ChangeAnnounced (no action required) --> | ||
<!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category: | <!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangeReadyForWrangler--> | ||
<!-- 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