use base "installedtest"; use strict; use testapi; use utils; sub run { my $self = shift; # do the 'repo setup' steps, which set up a repo containing the # update packages and run 'dnf update' $self->root_console(tty => 3); # stop the graphical desktop; this should help with a problem # we're having in Rawhide as of 2022-10 where KDE update tests # are frequently getting OOM killed here: # https://bugzilla.redhat.com/show_bug.cgi?id=2133829 script_run "systemctl isolate multi-user.target"; # switch back to our tty if that kicked us to tty1 wait_still_screen 3; $self->root_console(tty => 3); repo_setup; if (get_var("ADVISORY_BOOT_TEST")) { # to test boot stuff - in case the update touched grub2, or dracut, # or anything adjacent - let's force-regenerate the initramfs and # the bootloader config, and reinstall the bootloader on BIOS. This # is kinda arch-dependent, but works for the three arches currently # in openQA: x86_64, ppc64le, and aarch64. assert_script_run "dracut -f", 180; assert_script_run 'grub2-mkconfig -o $(readlink -m /etc/grub2.cfg)'; my $instdev = get_var("OFW") ? '/dev/vda1' : '/dev/vda'; assert_script_run "grub2-install $instdev" unless (get_var("UEFI")); } # reboot, in case any of the updates need a reboot to apply script_run "reboot", 0; } sub test_flags { return {fatal => 1}; } 1; # vim: set sw=4 et: