From 536f699013b5fdbf57c2207bcefad9534b59892e Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Wed, 16 Jan 2019 11:24:06 -0800 Subject: [PATCH] Post fail: handle landing in dracut shell, upload rdsosreport If a test fails to the dracut shell, we currently don't do anything useful. This should recognize when that happens, and upload rdsosreport.txt. Signed-off-by: Adam Williamson --- lib/anacondatest.pm | 17 +++++++++++++++++ lib/installedtest.pm | 18 ++++++++++++++++++ .../root_logged_in-dracut-20190116.json | 18 ++++++++++++++++++ .../root_logged_in-dracut-20190116.png | Bin 0 -> 8016 bytes 4 files changed, 53 insertions(+) create mode 100644 needles/console/root_logged_in-dracut-20190116.json create mode 100644 needles/console/root_logged_in-dracut-20190116.png diff --git a/lib/anacondatest.pm b/lib/anacondatest.pm index c76cb494..6768538a 100644 --- a/lib/anacondatest.pm +++ b/lib/anacondatest.pm @@ -25,10 +25,21 @@ sub post_fail_hook { save_screenshot; $self->root_console(); + # if we're in dracut, do things different + my $dracut = 0; + if (check_screen "root_console_dracut", 0) { + $dracut = 1; + script_run "dhclient"; + } # if we don't have tar or a network connection, we'll try and at # least send out *some* kinda info via the serial line my $hostip = testapi::host_ip(); if (script_run "ping -c 2 ${hostip}") { + if ($dracut) { + script_run 'printf "\n** RDSOSREPORT **\n" > /dev/' . $serialdev; + script_run "cat /run/initramfs/rdsosreport.txt > /dev/${serialdev}"; + return; + } script_run 'printf "\n** X.LOG **\n" > /dev/' . $serialdev; script_run "cat /tmp/X.log > /dev/${serialdev}"; script_run 'printf "\n** ANACONDA.LOG **\n" > /dev/' . $serialdev; @@ -52,6 +63,12 @@ sub post_fail_hook { return; } + if ($dracut) { + upload_logs "/run/initramfs/rdsosreport.txt", failok=>1; + # that's all that's really useful, so... + return; + } + upload_logs "/tmp/X.log", failok=>1; upload_logs "/tmp/anaconda.log", failok=>1; upload_logs "/tmp/packaging.log", failok=>1; diff --git a/lib/installedtest.pm b/lib/installedtest.pm index 6710ec60..90b86a3c 100644 --- a/lib/installedtest.pm +++ b/lib/installedtest.pm @@ -37,6 +37,13 @@ sub post_fail_hook { console_loadkeys_us; } + # if we're in dracut, do things different + my $dracut = 0; + if (check_screen "root_console_dracut", 0) { + $dracut = 1; + script_run "dhclient"; + } + # We can't rely on tar being in minimal installs, but we also can't # rely on dnf always working (it fails in emergency mode, not sure # why), so try it, then check if we have tar @@ -46,6 +53,11 @@ sub post_fail_hook { # least send out *some* kinda info via the serial line my $hostip = testapi::host_ip(); if ((script_run "rpm -q tar") || (script_run "ping -c 2 ${hostip}")) { + if ($dracut) { + script_run 'printf "\n** RDSOSREPORT **\n" > /dev/' . $serialdev; + script_run "cat /run/initramfs/rdsosreport.txt > /dev/${serialdev}"; + return; + } script_run 'printf "\n** IP ADDR **\n" > /dev/' . $serialdev; script_run "ip addr > /dev/${serialdev} 2>&1"; script_run 'printf "\n** IP ROUTE **\n" > /dev/' . $serialdev; @@ -57,6 +69,12 @@ sub post_fail_hook { return; } + if ($dracut) { + upload_logs "/run/initramfs/rdsosreport.txt", failok=>1; + # that's all that's really useful, so... + return; + } + # Note: script_run returns the exit code, so the logic looks weird. # We're testing that the directory exists and contains something. unless (script_run 'test -n "$(ls -A /var/tmp/abrt)" && cd /var/tmp/abrt && tar czvf tmpabrt.tar.gz *') { diff --git a/needles/console/root_logged_in-dracut-20190116.json b/needles/console/root_logged_in-dracut-20190116.json new file mode 100644 index 00000000..47e482db --- /dev/null +++ b/needles/console/root_logged_in-dracut-20190116.json @@ -0,0 +1,18 @@ +{ + "area": [ + { + "type": "match", + "xpos": 1, + "height": 14, + "width": 72, + "ypos": 753 + } + ], + "properties": [], + "tags": [ + "root_logged_in", + "root_console", + "root_console_dracut", + "ENV-DISTRI-fedora" + ] +} diff --git a/needles/console/root_logged_in-dracut-20190116.png b/needles/console/root_logged_in-dracut-20190116.png new file mode 100644 index 0000000000000000000000000000000000000000..0ebc1254f3717df1e17edc1546eea9e274f3e892 GIT binary patch literal 8016 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 literal 0 HcmV?d00001