The 'universal' flavor has been kinda pointless for some time
now. It dates back to the earliest days of openQA, before Pungi
4 was a thing, when composes were very different; we only built
a boot.iso and some live images nightly for Rawhide, these
weren't even formally grouped as a 'compose' at all (fedfind had
to invent the concept). The TCs/RCs had DVD installer images
(not *Server* DVD, at the time, just a universal DVD installer).
We wanted to run some tests on the DVD image if it was available,
but we still wanted to run them for the nightlies, so we invented
a whole mechanism for that - this 'universal' flavor, with some
complicated logic in fedora_openqa which schedules universal on
the 'best available' image it can find in the compose.
All this is functionally obsolete now. All composes we test are
now run through Pungi (except the live respins, but they aren't
relevant here). In current config, the Server DVD is non-failable
on x86_64 and aarch64, which means it will *always be there* -
if it fails to build, the compose itself fails, so we won't test
it. It's failable for ppc64le, but we don't care that much about
ppc64le; I'm fine with these tests just not running if the Server
DVD happens to fail in a ppc64le compose.
As a cherry on top, some of the 'universal' tests aren't really
universal anyway, they fail if you run them on a netinst (off
the top of my head, all the NFS install tests are like this, as
we use the ISO to populate the NFS share on the server end).
So let's just move all the tests that actually need an installer
image to the Server-dvd-iso flavor. Left over in the 'universal'
flavor are upgrade tests, which don't need an ISO at all - they
boot from hard disk images and run an upgrade using repos. We
can change the scheduler logic to be more simple for these, and
just always schedule them, with no ISO attached. We could even
rename this flavor 'upgrade', but it might not be worth it.
One slight complication is that the split happened to be helping
us avoid too many tests in a single support_server cluster; we
have a cluster of five support_server tests on Server-dvd-iso
and five support_server tests on universal. I try to avoid the
clusters getting too big as you need as many worker instances on
at least one worker host as your largest cluster; if you don't
have that many, the cluster's tests simply never get scheduled.
Requiring folks to have at least ten worker instances on one
host to run these tests is a bit of a big ask. So, to handle
that, we create a support_server_2 and have the former universal
tests use that one instead, so we'll have two separate clusters
on Server-dvd-iso now.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We no longer build 32-bit ARM images and we hadn't had a working
setup for testing them for years anyway.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This PR adds a small test suite to test the Characters applications.
It displays several different groups of characters and then tries
to copy one of the characters and place it into a text editor.
This makes the two rpm-ostree tests written for IoT - overlaying
and rebasing - work across all rpm-ostree-based flavors we
currently test (IoT, CoreOS and Silverblue) and runs them on
all those flavors.
This requires some other changes. For the Workstation ostree
installer update tests, we have install_default_update_ostree
upload a disk image and run these tests on that image. That means
install_default_update_ostree cannot use a scratch disk (as if
we boot it with two disks but only upload one, the subsequent
tests fail to boot, looking for the missing second disk), but its
specified disk size should be large enough for all updates.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
These actually *do* need it because they have START_AFTER_TEST
set, but they're still install tests.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
When I enabled _advisory_post for live and ostree install tests,
the point was to check that updated packages were included in
the install media and used during installation. We shouldn't run
a system update in _repo_setup_updates on this path because it
will hide the problem if the updated packages weren't included.
The INSTALL variable is for this purpose - it was previously
used to skip _advisory_post on the same path. At the same time
let's remove some stray settings of this var on non-update tests
as it serves no purpose there.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We currently snapshot after every run of _console_wait_login or
_graphical_wait_login, which means we snapshot *twice* on most
update tests as those modules get run twice. However, we almost
never use those snapshots. Snapshotting takes quite some time,
and hits the disk pretty hard, so we should avoid it unless it
is really needed.
We only have a few modules that are not fatal (and so might use
the snapshots), and most of those don't run after one of these
tests, or run after a later module that's also a milestone. Best
I can tell, only two test suites really need to use a snapshot
from a login test: server_cockpit_updates and modularity_tests.
To handle these and potential future cases, we'll add a new
module that does nothing, but is marked 'milestone', so it will
take a snapshot, and load that test after the login test if the
var LOGIN_SNAPSHOT is set, and set that var for those two suites.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is intended to allow us to split the workload across
multiple tap workers, as right now, sometimes we wind up in a
situation where all non-tap jobs are done and the non-tap
workers are sitting idle, but the poor tap worker has a backlog.
This way the tap jobs for updates can be split across two
worker hosts, which should help out.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Hopefully https://bugzilla.redhat.com/show_bug.cgi?id=2133829
is fully resolved/worked around by now, and we shouldn't need
these any more. We could drop back to 2G but let's just do
3G for now.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This was from F35 era when Cloud_Base worked on UEFI on Rawhide
but not F33 or F34. Now F34 is EOL, we can just follow the same
policy for every release (run two tests on both BIOS and UEFI,
the rest only on UEFI).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is getting messy, but even the install_default_upload test
is failing out with 3G now. Let's try putting 4G here so it
reaches that test and see how that goes.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We keep running into 2119970 and it's really a pain restarting
tests manually all the time. So let's just retry the affected
tests three times. Big hammer time!
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Looking through more openQA failures I saw other desktop update
tests which were clearly caused by OOM kills, so let's give all
the desktop tests we run on updates 4G for now.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We're seeing a lot of failures recently in desktop_browser caused
by the browser or desktop getting OOM killed. I've filed a bug
on this: https://bugzilla.redhat.com/show_bug.cgi?id=2133829
but we need to try and work around it, having the test failing
constantly is no good. Let's see if 4G of RAM is enough.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We see tests periodically come up incomplete with this:
"Migrate to file failed, it has been running for more than 240 seconds"
Turns out there's a setting for this, so...let's set it. I don't
think there's really a bug here, just when our workers are busy,
these migrations can take longer than expected.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Workstation tests on Rawhide are getting OOM killed. Let's see
if this helps. All the other arches have this much already, and
the worker hosts can handle it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We have it at 20G for Workstation live, but not for KDE live or
for the update Workstation or KDE products. We just hit an issue
today where anaconda thinks 10G isn't enough space for a KDE
live install after a grub2 update (which I think only bumped
the required space veeery slightly, but enough to throw anaconda
over the limit). Let's just go up to 15G for all GNOME and KDE
cases where we're not at 20G.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
OK, so we can't have parallel tests on different machines, so
we can't have iot_zezere_server on 64bit and iot_zezere_ignition
on uefi. We need both to be on uefi. So, let's try using the
minimal-uefi image that we build for upgrade tests instead. It's
built for -1 (which is the same as CURRREL) on x86_64 and aarch64
so it should be there when we need it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
It boots the 'support' disk image, not the image created by
install_default_upload, and that disk image is only set up for
BIOS boot.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
It's best to keep the test name consistent unless we *really*
have to change it; that way the "past runs" history in openQA
still works and the name doesn't change in resultsdb and CI
messages.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The PR introduces an improved logic to the desktop_printing.pm
that allows to use the USE_CUPS variable in templates to trigger
the installation of cups-pdf prior to the actual test.
The cups-pdf is then used as an alternative PDF printer
instead the built-in Save As PDF method.
Workstation has replaced gedit with gnome-text-editor in Rawhide,
so this is no longer useful. We will replace it with a test suite
for gnome-text-editor.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
With qxl it hits a weird bug where running startx a second time
after snapshot restore tends to crash. This is affecting updates
so let's force it to virtio. Hopefully the kernel build with
virtio fix will succeed so I can just revert all this messing
around soon.
Signed-off-by: Adam Williamson <awilliam@redhat.com>