Bug 450229

Summary: online update is not run during installation
Product: [openSUSE] openSUSE 11.1 Reporter: Dirk Mueller <dmueller>
Component: InstallationAssignee: Lukas Ocilka <locilka>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Blocker    
Priority: P1 - Urgent CC: behlert, jdsn, kukuk, locilka, ma, mc, meissner
Version: RC 1Flags: coolo: SHIP_STOPPER+
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: yast2 logs
Proposed Patch
A bit more reliable patch proposal
Patch proposal version 2
Patch proposal version 3
yast logs

Description Dirk Mueller 2008-11-29 12:38:24 UTC
when deselecting "automatic configuration", the installation workflow mentions "Online Update" after "Network Test", however, online update never actually runs.

the only thing that happens is that suseconfig is run. is this a fallout of the issue that the current release notes cannot be fetched?
Comment 1 Dirk Mueller 2008-11-29 12:39:53 UTC
Created attachment 256728 [details]
yast2 logs
Comment 2 Lukas Ocilka 2008-12-01 11:41:47 UTC
Daniel, please, check.
It's about setting the Internet::do_you variable.
Comment 3 Stephan Kulow 2008-12-01 13:35:58 UTC
I guess online update during installation is bound to registration, which we don't do anymore. This should still work - and as we need to test the update during installation this is a blocker per excellance (sorry, my frensh :)
Comment 6 J. Daniel Schmidt 2008-12-01 15:12:52 UTC
(In reply to comment #3 from Stephan Kulow)
> I guess online update during installation is bound to registration,

No it is bound to the the Internet::do_you variable.
It defaults to "false". The network test no longer sets it to true on success and the registration is not run during openSUSE installation which also set it to true on success.

> which we
> don't do anymore. This should still work - and as we need to test the update
> during installation this is a blocker per excellance (sorry, my frensh :)

As the question whether or not to install updates was enhanced and only appears if there are really updates available, I'd recommend to just remove the check of the current "do_you"-state at the beginning of this module.

Any objections, Lukas?
Comment 7 Lukas Ocilka 2008-12-01 15:20:48 UTC
Hmm, this means Internet::do_you is currently (newly) useless.

In this case, I can replace this

    if (!Internet::do_you) return `auto;

in inst_ask_online_update.ycp with

    if (NetworkService.ycp::isNetworkRunning() != true) return `auto;

opinions?
Comment 8 Lukas Ocilka 2008-12-01 15:27:25 UTC
BTW: it changes the SLEx behavior a bit, but still doesn't run online update if not wanted by user. On the other hand, it would offer an online update even if user didn't run registration (on SLEx). In that case I'd tend to have it "fixed" on two places.

The default Internet::do_you would be set to 'true' and registration would disable it of not registered (or no update channel added).
Comment 9 J. Daniel Schmidt 2008-12-01 15:32:23 UTC
Created attachment 256991 [details]
Proposed Patch

No it is not useless, it is the flag that online_update uses to check if it should start.
The client inst_ask_onlineupdate just set it to true if an update is wanted.
So did registration and in former times the network test.

I just tested the attached patch in an installation and it worked. Only the package manager did not start up in the update view but in the pattern view :(
This might be another issue.

Do you agree?
Comment 10 Stanislav Visnovsky 2008-12-01 15:38:28 UTC
Sounds like a reasonable approach (if you figure out if you need the do_you flag or not)
Comment 11 Lukas Ocilka 2008-12-01 15:41:17 UTC
Created attachment 256995 [details]
A bit more reliable patch proposal
Comment 12 Lukas Ocilka 2008-12-01 15:46:32 UTC
Created attachment 256998 [details]
Patch proposal version 2
Comment 13 J. Daniel Schmidt 2008-12-01 15:51:06 UTC
(In reply to comment #12 from Lukas Ocilka)
> A bit more reliable patch proposal

Yes, I agree, depending on the network being up is the better approach.
But with you patch #2 the following check for `skip is obsolete as well.

Lukas, do you want to add this patch?

Comment 14 Lukas Ocilka 2008-12-01 15:58:58 UTC
Created attachment 257001 [details]
Patch proposal version 3

Yes, we've checked that with jsrain and found the same (I thought I've removed it already) but it seem to be an issue between keyboard and monitor.
Comment 15 Lukas Ocilka 2008-12-01 16:03:22 UTC
- Fixed proposing the online update depending on the fact whether
  network is running (bnc #450229).
- yast2-installation-2.17.43
Comment 16 Stephan Kulow 2008-12-03 15:45:42 UTC
just tested openSUSE-11.1-RC2-DVD9-i586-x86_64-Build0001-Media.iso and it has the 2.17.43 and still skips. I'll attach logs as soon as the desktop started
Comment 17 Stephan Kulow 2008-12-03 15:48:40 UTC
Created attachment 257759 [details]
yast logs

Release notes are up btw and the test was successful
Comment 18 Lukas Ocilka 2008-12-03 17:25:34 UTC
clients/inst_ask_online_update.ycp:116 Calling YaST client inst_ask_online_update (arguments: [$["enable_back":true, "enable_next":true]])
NetworkService.ycp:138 Network is running ...
clients/inst_ask_online_update.ycp:73 Pkg Builtin called: TargetInitialize
clients/inst_ask_online_update.ycp:74 Pkg Builtin called: TargetLoad
clients/inst_ask_online_update.ycp:75 Pkg Builtin called: SourceStartManager
clients/inst_ask_online_update.ycp:78 Pkg Builtin called: PkgSolve
clients/inst_ask_online_update.ycp:80 Pkg Builtin called: ResolvableCountPatches
clients/inst_ask_online_update.ycp:81 Available patches for pkg management: 0
clients/inst_ask_online_update.ycp:84 Pkg Builtin called: ResolvableCountPatches
clients/inst_ask_online_update.ycp:85 All available patches: 0
clients/inst_ask_online_update.ycp:88 No patch available, skiping offer to run YOU
Calling `inst_ask_online_update ($["enable_back":true, "enable_next":true]) returned `next

clients/inst_extrasources.ycp:191 Calling YaST client inst_extrasources (arguments: [$["enable_back":true, "enable_next":true]])
clients/inst_extrasources.ycp:52 Repositories to register: [$["alias":"repo-update", "autorefresh":true, "baseurl":"http://download.opensuse.org/update/11.1/", "enabled":true, "name":"openSUSE-11.1-Update", "priority":20, "prod_dir":"/"], $["alias":"repo-oss", "autorefresh":true, "baseurl":"http://download.opensuse.org/distribution/11.1/repo/oss/", "enabled":true, "name":"openSUSE-11.1-Oss", "priority":100, "prod_dir":"/"], $["alias":"repo-non-oss", "autorefresh":true, "baseurl":"http://download.opensuse.org/distribution/11.1/repo/non-oss/", "enabled":true, "name":"openSUSE-11.1-Non-Oss", "priority":100, "prod_dir":"/"], $["alias":"repo-debug", "autorefresh":true, "baseurl":"http://download.opensuse.org/debug/distribution/11.1/repo/oss/", "enabled":false, "name":"openSUSE-11.1-Debug", "priority":100, "prod_dir":"/"], $["alias":"repo-source", "autorefresh":true, "baseurl":"http://download.opensuse.org/source/distribution/11.1/repo/oss/", "enabled":false, "name":"openSUSE-11.1-Source", "priority":100, "prod_dir":"/"]]

No wonder ... repositories (also the update one) were added after running the inst_ask_online_update client (after checking for patches...)
Comment 19 Lukas Ocilka 2008-12-03 17:41:31 UTC
- inst_extrasources moved before inst_ask_online_update to register
  the online update repository before checking for patches
  (bnc #450229).

New skelcd-control-openSUSE is in autobuild...

I have to admit that I don't have any possibility to test it here. Anyway, it should be possible to install the install the first stage, and before the system is rebooted to the second stage, copy the control.xml to /etc/YaST2/ on the system.