1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-09-16 21:07:22 +00:00
os-autoinst-distri-fedora/tests/base_services_start.pm
Adam Williamson ab5b1a4367 base_services_start: temporarily allow colord to fail (#2260663)
Somehow, colord is sometimes failing to start in stable Rawhide
ATM - I don't know how this problem got through testing. It's
now blocking other updates.

Doing this only on x86_64 is lazy and wrong, but the logic gets
way more complicated if we need to allow potentially *two* things
to fail on aarch64 and ppc64le, and it's the weekend and we
don't gate updates on those arches so I'm not doing it. Hopefully
this will be resolved quite quickly.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-27 13:50:58 -08:00

57 lines
2.1 KiB
Perl

use base "installedtest";
use strict;
use testapi;
sub run {
my $self = shift;
# switch to TTY3 for both, graphical and console tests
$self->root_console(tty => 3);
# "Job foo.service/start deleted to break ordering cycle"-type
# message in the log indicates a service got taken out of the boot
# process to resolve some kind of dependency loop, see e.g.
# https://bugzilla.redhat.com/show_bug.cgi?id=1600823
assert_script_run "! journalctl -b | grep 'deleted to break ordering'";
# dump the systemctl output
assert_script_run "systemctl --failed | tee /tmp/failed.txt";
# if we have 0 failed services, we're good
my $ret = script_run "grep '0 loaded units' /tmp/failed.txt";
return if $ret == 0;
# if only hcn-init failed, that's a soft fail, see:
# https://bugzilla.redhat.com/show_bug.cgi?id=1894654
$ret = script_run "grep '1 loaded units' /tmp/failed.txt";
if ($ret != 0) {
die "More than one services failed to start";
}
else {
my $arch = get_var("ARCH");
if ($arch eq "ppc64le") {
# fail if it's something other than hcn-init
assert_script_run "systemctl is-failed hcn-init.service";
record_soft_failure "hcn-init failed - https://bugzilla.redhat.com/show_bug.cgi?id=1894654";
}
elsif ($arch eq "aarch64") {
# fail if it's something other than lm_sensors
assert_script_run "systemctl is-failed lm_sensors.service";
record_soft_failure "lm_sensors failed - https://bugzilla.redhat.com/show_bug.cgi?id=1899896";
}
elsif ($arch eq "x86_64") {
# fail if it's something other than colord
# https://bugzilla.redhat.com/show_bug.cgi?id=2260663
assert_script_run "systemctl is-failed colord";
record_soft_failure "colord failed - https://bugzilla.redhat.com/show_bug.cgi?id=2260663";
}
else {
die "Unexpected service start failure";
}
}
}
sub test_flags {
return {fatal => 1};
}
1;
# vim: set sw=4 et: