Bug 1750414

Summary: inaccessible workstation repos make gnome-software and dnf unusable
Product: [Fedora] Fedora Reporter: Kamil Páral <kparal>
Component: fedora-workstation-repositoriesAssignee: Matthias Clasen <mclasen>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 31CC: gmarr, gnome-sig, klember, mclasen, robatino
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: AcceptedFreezeException
Fixed In Version: fedora-workstation-repositories-31-1.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-09-11 01:30:27 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1644938, 1644939    
Attachments:
Description Flags
gnome software main page screenshot
none
gnome software updates page screenshot none

Description Kamil Páral 2019-09-09 14:43:53 UTC
Description of problem:
The workstation repos are not yet available for F31. That has been reported here, not yet acted upon:
https://pagure.io/fedora-workstation/issue/102

Also, DNF changed the default of skip_if_unavailable from True to False (a very bad move in my eyes):
https://fedoraproject.org/wiki/Changes/Set_skip_if_unavailable_default_to_false
That means that all repos that don't specify `skip_if_unavailable=False` in their metadata are considered mandatory, and all DNF operations immediately fail.

From the extra workstation repositories, pycharm and google-chrome already contain `skip_if_unavailable=True`. Steam and Nvidia don't contain anything (which means False now).

The consequence is that if a user enabled Steam or Nvidia repositories (which is quite visibly offered by GNOME Software on its front page), suddenly their system is non-operational. No new package can't be installed, no updates can't be installed or even are visible (even worse, GNOME Software claims the system is up to date). This affects both GNOME Software and DNF.

There are three ways to resolve this:
1. Make the repos accessible
2. Include `skip_if_unavailable=True` in their metadata
3. Push to revert the DNF defaults change

Please note that even if we make the repos accessible, I think it's very unwise to have them marked as mandatory. They are hosted by external parties (rpmfusion in this case), and any time the third party goes down, our package managers go down. And the users would be constantly required to toggle the repos on and off, based on their availability, just to get to proper Fedora content (this is one of the reasons why I believe the DNF change is a step in the wrong direction). Of course many users wouldn't even know what to do, it would be "just broken".

Therefore I strongly suggest to mark all the extra repos with `skip_if_unavailable=True` (or ask DNF team to reconsider).


Version-Release number of selected component (if applicable):
skip_if_unavailable=True

How reproducible:
always

Steps to Reproduce:
1. run gnome-software
2. enable third party repos in the top banner
3. go to repositories menu and enable steam or nvidia repo
4. try to use gnome-software or DNF - gnome-software will stop displaying all content, DNF will immediately exit with error

Actual results:
The system is not easily usable when some of the extra workstation repos are enabled, but not accessible

Expected results:
The system stays easily usable when some of the extra workstation repos are enabled, but not accessible

Comment 1 Kamil Páral 2019-09-09 14:44:51 UTC
Created attachment 1613191 [details]
gnome software main page screenshot

Gnome Software main page when an extra workstation repo is enabled (but not accessible)

Comment 2 Kamil Páral 2019-09-09 14:45:48 UTC
Created attachment 1613192 [details]
gnome software updates page screenshot

Gnome Software updates page when an extra workstation repo is enabled (but not accessible). There are many software updates available, "Software is up to date" statement is false.

Comment 3 Kamil Páral 2019-09-09 14:51:22 UTC
I'm proposing this issue for F31 blocker discussion. I believe this is a conditional violation of
"All applications that can be launched using the standard graphical mechanism of a release-blocking desktop after a default installation of that desktop must start successfully and withstand a basic functionality test. "
https://fedoraproject.org/wiki/Fedora_31_Final_Release_Criteria#Default_application_functionality
and
"The installed system must be able appropriately to install, remove, and update software with the default tool for the relevant software type in all release-blocking desktops (e.g. default graphical package manager). This includes downloading of packages to be installed/updated. "
https://fedoraproject.org/wiki/Fedora_31_Beta_Release_Criteria#Installing.2C_removing_and_updating_software
when extra workstation repositories for Steam or Nvidia are enabled. Considering the popularity of both, probably a very large portion of our user base will enable those.

Comment 4 Kalev Lember 2019-09-09 14:58:18 UTC
Thanks, I've added skip_if_unavailable=True to the two repos that were missing it. (For what it's worth, I also don't like the defaults change and have voiced my objection in https://pagure.io/fesco/issue/2125#comment-568714)

Proposing as a Beta FE as well.

Comment 5 Fedora Update System 2019-09-09 14:59:34 UTC
FEDORA-2019-2a44260611 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-2a44260611

Comment 6 Geoffrey Marr 2019-09-09 19:31:07 UTC
Discussed during the 2019-09-09 blocker review meeting: [0]

The decision to classify this bug as an "AcceptedFreezeException" was made as this is clearly bad enough (and the fix simple enough) that we should take it as a Beta FE. Whether to accept it as a Final blocker is a slightly tricky call so we're just going to duck it, because fixing it as a Beta FE will mean we don't have to make up our minds!

[0] https://meetbot.fedoraproject.org/fedora-blocker-review/2019-09-09/f31-blocker-review.2019-09-09-16.00.txt

Comment 7 Fedora Update System 2019-09-09 23:16:05 UTC
fedora-workstation-repositories-31-1.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-2a44260611

Comment 8 Kamil Páral 2019-09-10 11:11:14 UTC
I tested the changes with dnf and gnome-software. The repos are now ignored when not available. Works well.

Comment 9 Fedora Update System 2019-09-11 01:30:27 UTC
fedora-workstation-repositories-31-1.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.