Project

General

Profile

Actions

action #40364

closed

[functional][y] boot_from_pxe.pm broken host installation by autoyast method for virtualization test on ipmi backend.

Added by XGWang0 over 5 years ago. Updated over 5 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
-
Target version:
-
Start date:
2018-08-29
Due date:
2018-09-11
% Done:

0%

Estimated time:
1.00 h
Difficulty:

Description

The PR ([[https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/5537]]) caused hang to host installation by autoyast method on ipmi backend, the root cause is subroutine bootmenu_default_params and autoyast_boot_params both added autoyast= kernel parameters for host installation and second subroutine inputted incorrect url address for autoyast file.

Related code content for both subroutine:
=========bootmenu_default_params==============
377 if (!get_var("NICEVIDEO")) {
378 if (is_caasp) {
379 bootmenu_type_console_params $args{baud_rate};
380 }
381 elsif (!is_jeos) {
382 # make plymouth go graphical
383 type_string_very_slow "plymouth.ignore-serial-consoles " unless $args{pxe};
384 type_string_very_slow "linuxrc.log=/dev/$serialdev ";
385 bootmenu_type_console_params $args{baud_rate};
386 # Do not assert on pxe boot as it's unreliable due to multiline input
387 assert_screen "inst-consolesettingstyped", 30 unless $args{pxe};
388
389 # Enable linuxrc core dumps https://en.opensuse.org/SDB:Linuxrc#p_linuxrccore
390 type_string_very_slow "linuxrc.core=/dev/$serialdev ";
391 type_string_very_slow "linuxrc.debug=4,trace ";
392 }
393 bootmenu_type_extra_boot_params; # This api type autoyast= to boot prompt
394 }
395 }

=========autoyast_boot_params==============
491 sub autoyast_boot_params {
492 my $ay_var = get_var("AUTOYAST");
493 return '' unless $ay_var;
494
495 my $autoyast_args = 'autoyast=';
496 # In case of SUPPORT_SERVER, profiles are available on another VM
497 if (get_var('USE_SUPPORT_SERVER')) {
498 my $proto = get_var("PROTO") || 'http';
499 $autoyast_args .= "$proto://10.0.2.1/";
500 $autoyast_args .= 'data/' if $ay_var !~ /aytests\//;
501 $autoyast_args .= $ay_var;
502 } elsif ($ay_var !~ /slp$|:\/\//) {
503 $autoyast_args .= data_url($ay_var); # Getting profile from the worker as openQA asset
504 } else {
505 $autoyast_args .= $ay_var; # Getting profile by direct url or slp
506 }
507 return $autoyast_args . " ";
508 }

Failed cases url : https://openqa.suse.de/tests/2007109 ,https://openqa.suse.de/tests/2007108, https://openqa.suse.de/tests/2007152
PR of github : https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/5537

Actions

Also available in: Atom PDF