[Bug 224251] New: ssh-installation: after installing the update kernel, machine reboots and does not let me finish the installation
https://bugzilla.novell.com/show_bug.cgi?id=224251 Summary: ssh-installation: after installing the update kernel, machine reboots and does not let me finish the installation Product: openSUSE 10.2 Version: RC 2 Platform: Other OS/Version: Other Status: NEW Severity: Major Priority: P5 - None Component: Installation AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: seife@novell.com QAContact: jsrain@novell.com OtherBugsDependingO 215208 nThis: I installed the RC2 CD set via SLP/FTP, with the ssh -X method. During the installation, a kernel update was detected and installed (in stage 2). Then the machine told me it needs to reboot and i should again run yast2.ssh, but this now just does nothing. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=224251 ------- Comment #1 from seife@novell.com 2006-11-28 11:45 MST ------- console log from my client machine: seife@strolchi:~> ssh -X root@e111 root@e111's password: openSUSE Installation /usr/bin/xauth: creating new authority file /root/.Xauthority Welcome to the inst-sys on 10.10.101.111 2.6.18.2-31-default x86_64 run yast to start the installation inst-sys:~ # yast unicode_start skipped on /dev/pts/0 Probing connected terminal... Initializing virtual console... Found an xterm terminal on /dev/pts/0 (128 columns x 26 lines). *** Starting YaST2 *** Useless use of string eq in void context at /usr/lib/perl5/vendor_perl/5.8.8/Bootloader/Core/GRUB.pm line 1382 (#1) (W void) You did something without a side effect in a context that does nothing with the return value, such as a statement that doesn't return a value from a block, or the left side of a scalar comma operator. Very often this points not to stupidity on your part, but a failure of Perl to parse your program the way you thought it would. For example, you'd get this if you mixed up your C precedence with Python precedence and said $one, $two = 1, 2; when you meant to say ($one, $two) = (1, 2); Another common error is to use ordinary parentheses to construct a list reference when you should be using square or curly brackets, for example, if you say $array = (1,2); when you should have said $array = [1,2]; The square brackets explicitly turn a list value into a scalar value, while parentheses do not. So when a parenthesized list is evaluated in a scalar context, the comma is treated like C's comma operator, which throws away the left argument, which is not what you want. See perlref for more on this. This warning will not be issued for numerical constants equal to 0 or 1 since they are often used in statements like 1 while sub_with_side_effects(); String constants that would normally evaluate to 0 or 1 are warned about. X11 connection rejected because of wrong authentication. *** Preparing SSH installation for reboot *** *** NOTE: after reboot, you have to reconnect and call *** *** /usr/lib/YaST2/startup/YaST2.ssh *** Connection to e111 closed by remote host. Connection to e111 closed. seife@strolchi:~> ssh -X root@e111 Warning: Permanently added 'e111,10.10.101.111' (RSA) to the list of known hosts. Password: Have a lot of fun... /usr/bin/xauth: creating new authority file /root/.Xauthority e111:~ # /usr/lib/YaST2/startup/YaST2.ssh *** Starting YaST2 *** *** Preparing SSH installation for reboot *** *** NOTE: after reboot, you have to reconnect and call *** *** /usr/lib/YaST2/startup/YaST2.ssh *** Broadcast message from root (pts/0) (Tue Nov 28 19:27:55 2006): The system is going down for reboot NOW! removed `/var/lib/YaST2/runme_at_boot' continue with booting ... You can login with the (new?) root password or the new created user account in a few seconds ... e111:~ # Connection to e111 closed. seife@strolchi:~> ssh -X root@e111 ssh: connect to host e111 port 22: No route to host seife@strolchi:~> ssh -X root@e134 Warning: Permanently added 'e134,10.10.101.134' (RSA) to the list of known hosts. Password: Last login: Tue Nov 28 19:30:43 2006 Have a lot of fun... e134:~ # /usr/lib/YaST2/startup/YaST2.ssh e134:~ # -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=224251 ------- Comment #2 from seife@novell.com 2006-11-28 11:47 MST ------- Created an attachment (id=107276) --> (https://bugzilla.novell.com/attachment.cgi?id=107276&action=view) yast2 logs, by "save_y2logs" -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=224251 ------- Comment #3 from seife@novell.com 2006-11-28 11:49 MST ------- i did e134:~ # touch /var/lib/YaST2/runme_at_boot e134:~ # /usr/lib/YaST2/startup/YaST2.ssh *** Starting YaST2 *** and the machine now continues. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=224251 ms@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|ms@novell.com |yast2-maintainers@suse.de ------- Comment #5 from ms@novell.com 2006-11-29 07:09 MST ------- The complete startup code provides only one file which removes the runme_at_boot file and this happens after it has checked whether the file exists or not. As mentioned YaST.ssh is this script: #======================================== # call YaST2 if flag file exists #---------------------------------------- if [ -f /var/lib/YaST2/runme_at_boot ];then /usr/lib/YaST2/startup/YaST2.call installation continue rm -fv /var/lib/YaST2/runme_at_boot else exit 1 fi If this script doesn't start YaST some magic before must have data removed. The message "removed `/var/lib/YaST2/runme_at_boot'" isn't part of the startup code so I assume it is some YaST code which has removed the file before the user was asked to call YaST2.ssh. The logic behind YaST2.ssh is simple. Call YaST if runme_at_boot exists. I think this logic is still valid and so the ssh workflow is as well -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=224251 sh@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|yast2-maintainers@suse.de |locilka@novell.com ------- Comment #6 from sh@novell.com 2006-11-29 08:01 MST ------- (In reply to comment #5)
The message "removed `/var/lib/YaST2/runme_at_boot'" isn't part of the startup code
Actually, it is: it's that "rm -fv" call, the "-v" (verbose) option in particular. Just check this: % touch /tmp/foo % LANG=C rm -fv /tmp/foo removed `/tmp/foo'
so I assume it is some YaST code which has removed the file before the user was asked to call YaST2.ssh.
I just found some code that also removes that file. The scripts have that only in YaST2.ssh, so only during an ssh installation it is obvious where it is removed. During a normal (non-ssh) installation some other code removes that file, so I guess one of the places (probably YaST2.ssh) is one too many.
From yast2/source/installation/installation_worker.ycp :
... string run_yast_at_boot = "/var/lib/YaST2/runme_at_boot"; ... if ( ... ) { y2warning ("User didn't want to restart the second stage installation..."); ... if (FileUtils::Exists (run_yast_at_boot)) SCR::Execute (.target.remove, run_yast_at_boot); } ... if (FileUtils::Exists (run_yast_at_boot)) { y2milestone("Removing %1", run_yast_at_boot); SCR::Execute(.target.remove, run_yast_at_boot); } I don't know under exactly which circumstances that file should be removed by whom. I fear the ssh installation got broken due to a recent change in that area. Lukas? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=224251 ------- Comment #7 from locilka@novell.com 2006-11-29 08:19 MST ------- In comment #4, I have written that that file is removed but I don't think YaST is responsible for that. Just because YaST already had finished before. See: *** Starting YaST2 *** (here, YaST does the online_update) *** Preparing SSH installation for reboot *** *** NOTE: after reboot, you have to reconnect and call *** *** /usr/lib/YaST2/startup/YaST2.ssh *** Broadcast message from root (pts/0) (Tue Nov 28 19:27:55 2006): (rebooting, linuxrc or startup scripts are rebooting, not YaST) The system is going down for reboot NOW! (somebody removes the file here) removed `/var/lib/YaST2/runme_at_boot' continue with booting ... -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=224251 ------- Comment #9 from locilka@novell.com 2006-11-29 08:57 MST ------- It seems, that rebooting (on purpose -- Kernel update during installation) is not handled by YaST2.ssh script. It always expects that the installation has been finished completely :( That's why the second stage cannot continue without touching /var/lib/YaST2/runme_at_boot file. I'd suggest using special exit code from /usr/lib/YaST2/startup/YaST2.call in case of such reboot. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=224251 ------- Comment #10 from ms@novell.com 2006-11-29 09:20 MST ------- yes you are right YaST2.ssh was never meant to deal with multiple rebooting scenarios. Assuming it happened like you tried to explain in comment #8 I still don't understand why there is a problem ? 1) yast installs 2) start_yast_and_reboot() touches /var/lib/YaST2/runme_at_boot and reboots because /var/lib/YaST2/reboot has been created by YaST 3) the user has to login to the machine again and call YaST2.ssh (this should work because runme_at_boot exists) 4) the file /var/lib/YaST2/reboot doesn't exist and the installation finished at which point does this kernel update during installation happen ? how many reboots are there ? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=224251 ms@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Info Provider|ms@novell.com |locilka@novell.com -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=224251 locilka@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |ASSIGNED Component|Installation |Installation Info Provider|ms@novell.com | Product|openSUSE 10.2 |openSUSE 10.3 Version|RC 2 |unspecified ------- Comment #12 from locilka@novell.com 2006-11-29 09:35 MST ------- Reboot happens in the middle of the second stage installation ( 1.) ) It can happen "n"-times. Maybe another flag /var/lib/YaST2/rebooting-online_update in this case would help. Anyway, this will not be fixed for 10.2 (because lack of testing). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=224251 ms@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |NEEDINFO Info Provider| |locilka@novell.com ------- Comment #14 from ms@novell.com 2006-11-30 02:24 MST -------
2.1.) then handling is returned to YaST2.ssh script which removes the file /var/lib/YaST2/runme_at_boot which means "After reboot, YaST will not be started" ^^ -- here is the problem -- ^^
I'm sorry but I don't understand that. You said in 2.) that the file runme_at_boot was created and now in 2.1 handling is returned to YaST2.ssh. YaST2.ssh will start YaST in that case before it removes the runme_at_boot file. I think it is wrong to assume YaST2.ssh doesn't start YaST if the runme_at_boot file exists -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=224251 locilka@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |ASSIGNED Info Provider|locilka@novell.com | ------- Comment #15 from locilka@novell.com 2006-11-30 02:55 MST ------- I'm assigned to this bug, why do you set NEEDINFO to me :)? So, again: The script YaST2.ssh is executed by user when the first stage is finished and system reboots for the very first time. The file '/var/lib/YaST2/runme_at_boot' exists (for the first-boot time). This script YaST2.ssh runs the second stage installation (in case file '/var/lib/YaST2/runme_at_boot' exists). Then, the second stage installation is closed, because of kernel-update, and a computer needs to be rebooted at the half of the second stage installation. Expected behavior is to reboot the computer and _continue_ the second stage installation, but this doesn't happen because the YaST2.ssh script has already removed the '/var/lib/YaST2/runme_at_boot' file. You cannot run the second stage installation (or to continue it) via YaST2.ssh if the file '/var/lib/YaST2/runme_at_boot' is missing. 'YaST2.ssh' evaluates the situation wrong, when the installation is closed to reboot the computer. In this case, it should not: a.) remove the file /var/lib/YaST2/runme_at_boot b.) inform user with this message: "continue with booting ... ..." c.) call this "rm -f /var/lib/YaST2/runme_at_boot" at the end (the file has been already removed. The workaround is to reboot the computer after the kernel update (it reboot automatically) and touch the '/var/lib/YaST2/runme_at_boot' file before starting the YaST2.ssh script again. --- YaST2.ssh --- if [ -f /var/lib/YaST2/runme_at_boot ];then /usr/lib/YaST2/startup/YaST2.call installation continue rm -fv /var/lib/YaST2/runme_at_boot else exit 1 fi cat <<-EOF continue with booting ... You can login with the (new?) root password or the new created user account in a few seconds ... EOF rm -f /var/lib/YaST2/runme_at_boot --- YaST2.ssh --- I'll fix and test this for 10.3 and SLE10 SP1 Maybe this script should not remove the file ever. The file is created and removed by running YaST Installation. YaST2 is just a handler for SSH installation and the installation itself should behave the same for every type of the installation. NEEDINFO -> ASSIGNED (to myself) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=224251 ------- Comment #16 from ms@novell.com 2006-11-30 04:19 MST ------- sorry for the needinfo scenario. You have changed yourself to be the assignee of this bug and somehow I didn't noticed. I now understand the whole storry thanks for clarifying I agree YaST2.ssh shouldn't handle the runme_at_boot at all because couldn't know about the progress of the installation process. So if you want me to remove the runme_at_boot part from YaST2.ssh tell me Thanks -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=224251 locilka@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED ------- Comment #17 from locilka@novell.com 2006-12-07 03:02 MST ------- Fixed in 2.15.1 (openSUSE 10.3) 2.13.171 (SLE10 SP1) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
participants (1)
-
bugzilla_noreply@novell.com