Bug 1081508

Summary: [Build20180214] Confusing online repositories selection WAS: Online repos are not disabled in the installed system regardless of disabling in the settings
Product: [openSUSE] openSUSE Tumbleweed Reporter: Rodion Iafarov <riafarov>
Component: InstallationAssignee: Ladislav Slezák <lslezak>
Status: VERIFIED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Enhancement    
Priority: P3 - Medium CC: lslezak, schubi
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://trello.com/c/gCKsVCaz/2121-bug-1081508-build20180214-online-repos-are-not-disabled-in-the-installed-system-regardless-of-disabling-in-the-settings
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: yast logs

Description Rodion Iafarov 2018-02-19 08:42:29 UTC
Created attachment 760529 [details]
yast logs

## Observation
Repos disabled during installation are still enabled in installed system.
Here we can see that all repos are enabled:
https://openqa.opensuse.org/tests/latest?machine=64bit&distri=opensuse&version=Tumbleweed&arch=x86_64&test=yast2_ncurses&flavor=DVD#step/zypper_lr/3

even though in that image we have disabled all online repos: 
https://openqa.opensuse.org/tests/610557#step/disable_online_repos/9

So we end up with following repos irregardless if we disable them or not:
 # | Alias               | Name                        | Enabled | GPG Check | Refresh | URI                                                      
 --+---------------------+-----------------------------+---------+-----------+---------+----------------------------------------------------------
 1 | openSUSE-20180218-0 | openSUSE-20180218-0         | Yes     | (r ) Yes  | No      | cd:///?devices=/dev/disk/by-id/scsi-0QEMU_QEMU_CD-ROM_cd0
 2 | repo-debug          | openSUSE-Tumbleweed-Debug   | No      | ----      | ----    | http://download.opensuse.org/debug/tumbleweed/repo/oss/  
 3 | repo-non-oss        | openSUSE-Tumbleweed-Non-Oss | Yes     | (r ) Yes  | Yes     | http://download.opensuse.org/tumbleweed/repo/non-oss/    
 4 | repo-oss            | openSUSE-Tumbleweed-Oss     | Yes     | (r ) Yes  | Yes     | http://download.opensuse.org/tumbleweed/repo/oss/        
 5 | repo-source         | openSUSE-Tumbleweed-Source  | No      | ----      | ----    | http://download.opensuse.org/source/tumbleweed/repo/oss/ 
 6 | repo-update         | openSUSE-Tumbleweed-Update  | Yes     | (r ) Yes  | Yes     | http://download.opensuse.org/update/tumbleweed/     

Please, find installation logs in the attachment.
Comment 1 Rodion Iafarov 2018-02-19 09:07:00 UTC
Same is true for leap 15.
Comment 2 Rodion Iafarov 2018-02-21 08:43:59 UTC
Small update, as it can be considered as a feature, as for installation we don't use disabled repos. But I somehow expected that they are disable in installed system.
Comment 3 Stefan Schubert 2018-02-23 12:01:24 UTC
Thanks. Yes, could be a feature request :-)
Comment 4 Lukas Ocilka 2018-02-26 11:31:41 UTC
I think that these repositories are (were in the past) added later
automatically during the installation. At least I think that there was
such piece of code...

Ladislav, could you PLS check that in logs? You know what you search
for there.
Comment 5 Ladislav Slezák 2018-03-02 13:00:47 UTC
(In reply to Rodion Iafarov from comment #0)
> Created attachment 760529 [details]
> yast logs
> 
> ## Observation
> Repos disabled during installation are still enabled in installed system.
> Here we can see that all repos are enabled:
> https://openqa.opensuse.org/tests/
> latest?machine=64bit&distri=opensuse&version=Tumbleweed&arch=x86_64&test=yast
> 2_ncurses&flavor=DVD#step/zypper_lr/3
> 
> even though in that image we have disabled all online repos: 
> https://openqa.opensuse.org/tests/610557#step/disable_online_repos/9

Ah, it seems that the dialog is a bit confusing. This is a list of repositories which will *added* to the system. I.e. the checkbox does not mean enabled/disabled, but added/not added.

That means if you do not click the "Configure Online Repositories" (https://openqa.opensuse.org/tests/610557#step/disable_online_repos/1) these repos will not be added.

Maybe we should change the "Configure" word in the button label to "Add", that would better describe the action in the next dialog.


And why are the repositories present in the installed system although no repository was selected? That's because there is yet another repository configuration stored in control.xml which is added to the system at the end of installation. See https://github.com/yast/skelcd-control-openSUSE/blob/master/control/control.openSUSE.xml#L113-L121
This contains the <enabled> flag, that's why the repos are enabled.

The repositories in installation dialog are loaded from the openSUSE server (see the "Linked from" in the description at https://openqa.opensuse.org/tests/610557#step/disable_online_repos/9).

The reason is that the control.xml list is fixed while the list from the server can be dynamically changed. We can add new repositories even after the release.
Comment 6 Ladislav Slezák 2018-03-02 13:40:50 UTC
As discussed with Rodion on IRC, I'll change the label in the repository selection dialog to be more understandable.
Comment 7 Ladislav Slezák 2018-03-02 13:46:56 UTC
Updated in yast2-packager-4.0.45 (https://github.com/yast/yast-packager/pull/329)
Comment 8 Rodion Iafarov 2018-03-12 15:48:22 UTC
https://openqa.opensuse.org/tests/631683#step/disable_online_repos/3 Thanks for the fix!