Commit Graph

45 Commits

Author SHA1 Message Date
Adam Williamson
dc500293d1 Build desktop images for aarch64 upgrade tests
We want to run the desktop upgrade tests on aarch64; to do that,
we need the required base images to be built. We also need to
do the `console=tty0 quiet` boot args for the desktopencrypt
image so the decrypt prompt is visible on boot; to handle this,
we extend the existing hack for using a release-specific ks
to be more generic and allow for a more specific kickstart by
arch, release or both.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-06-28 13:51:13 -07:00
Adam Williamson
e993ec1326 Drop F32 desktop image for aarch64/ppc64le
This was only needed while we were using it to work around
https://pagure.io/fedora-qa/os-autoinst-distri-fedora/issue/201 ,
it should no longer be necessary.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-04-30 11:41:02 -07:00
Adam Williamson
accaa3f42c Stealth bump server disk size to 7G
6 seems a bit too small for the upgrade_2_server_domain_controller
test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-17 09:22:32 -07:00
Adam Williamson
5d6842d146 Add current minimal-uefi for aarch64, stop allowing "current"
"current" is just a synonym for "-1" but made the code more
complex. Let's ditch it and just note in a comment that -1 is
CURRREL and -2 is PREVREL. We need minimal-uefi for aarch64 as
install_blivet_btrfs_preserve_home_uefi uses it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-19 11:29:25 -08:00
Adam Williamson
6eb79f76f9 Bump 'ks' image version
Since the kickstarts on it changed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-01-19 10:04:15 -08:00
Adam Williamson
f9dd6ed212 Use test.openqa.fedoraproject.org instead of domain.local
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-15 14:40:02 -08:00
Adam Williamson
79c0317970 Same as previous commit for ppc64le
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-11-04 10:12:54 -08:00
Adam Williamson
f34ac0c042 We need an F32 desktop image for aarch64
This is for
https://pagure.io/fedora-qa/os-autoinst-distri-fedora/issue/201 -
we're working around that by using the F32 image for now, but it
doesn't exist on aarch64 ATM. We'll have to remember to take
this out when that's fixed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-11-04 10:11:13 -08:00
Adam Williamson
6a6e04ac18 Add minimal-uefi Branched image
Needed for Rawhide N-1 upgrade tests, when Branched exists.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-25 16:01:37 -07:00
Adam Williamson
ea505d4473 Bump ks disk ver to 4
Since we changed the kickstarts...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-24 12:37:34 -07:00
Adam Williamson
0bbe629647 Drop minimal image size back down to 10GB
We bumped it for the live image build update test, but I tweaked
that to use a separate scratch disk now, so the base image no
longer needs to be so big.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-07 15:59:33 -07:00
Adam Williamson
ecc183e890 Build desktopencrypt for Branched too
We need this for upgrade tests now I fixed the upgrade test
scheduling so Rawhide upgrade tests run from Rawhide-1 and
Rawhide-2, not currrel and prevrel...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-07 15:58:44 -07:00
Adam Williamson
4d590a1947 We don't need desktopencrypt on Branched
It's only used for upgrade tests, and we don't test upgrading
from Branched, only from current stables.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-16 09:28:52 -07:00
Adam Williamson
46ee22f70f Add more stuff to KDE image, build it for more releases
This is related to enabling update tests for KDE. While testing
that it transpired that the KDE disk image is missing various
stuff that is on the live image and systems installed from the
live image; this is because the kde-desktop-environment env
group doesn't by default include several groups and individual
packages that the live kickstart *does* include. So our current
disk image closely matches what you get if you do a network
install and pick the KDE env group and don't pick any option
groups, but that's not a very common thing to do, and it causes
problems for the tests (e.g. okular and firefox not being
there). I think it's reasonable to make the image resemble a
live install more closely; this is more convenient but I think
it's *also* more useful, as there are probably far more KDE
installs out there *with* these things than without them. More
KDE installs are probably done with the live than via network
install, and even KDE installs done via netinst may well have
these bits added subsequently.

Obviously, we bump the image version with this change, so we'll
need to update the scheduler and templates also.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-12-10 14:16:59 -08:00
Adam Williamson
84237fc43d Drop remaining i686 images
We don't need these any more, we don't use them for anything.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-12-03 09:55:29 -08:00
Adam Williamson
fa714d59a0 Sigh. JSON and commas.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-24 16:07:02 -08:00
Adam Williamson
86e873b717 We don't need 'stable' or 'branched' for minimal-uefi
For an image only used for upgrade tests, we only need -1 and -2.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-21 09:13:16 -08:00
Adam Williamson
7fac94df95 Add current stable desktop image for aarch64 and ppc64le
We need this for the VNC tests to work.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-20 12:52:24 -08:00
Lukáš Růžička
a01d22f6ef Enable booting the VM as UEFI and provide record for a UEFI machine.
This commit adds support for boot options, that can be passed
from `hdds.json` to control the creation of the virtual
machines, such as enabling of EFI based machines, boot order
control, etc. It also adds EFI based machine to `hdds.json`
and adds a kickstart file for such machine.
2019-11-13 20:19:44 +01:00
Adam Williamson
0383991006 Bump minimal disk size *again* to fix Workstation live build
Seems the Workstation live image build test is running out of
space again. sigh.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-05-22 14:15:22 -07:00
Michel Normand
58025846b3 Bump minimal support size=11GB version=5 for added nfsiso variation
required for added install_repository_nfsiso_variation test

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>
2019-04-01 12:39:44 +02:00
Adam Williamson
e5bd541fe1 Drop all ppc64 BE images
We're not supporting or testing ppc64 BE any more.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-02-01 09:49:29 +00:00
Adam Williamson
de21570de9 Bump minimal image size again (but stealth this time)
We need minimal to be 18GB now, because we're booting from it for
the Workstation live image build test. Not doing a version bump
as they turn out to be a bit of a pain to deal with, I should
enhance that somehow.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-02-01 09:18:06 +00:00
Adam Williamson
1d42c33f65 Bump minimal disk image's size to 9GB and version to 3
We need it bigger for the new 'update installer image' test,
and when changing it we must bump its version.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-01-17 18:15:15 -08:00
Adam Williamson
21b66d28ed hdds.json: we don't use GPT-labelled 'shrink' image
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-12-01 09:02:59 -08:00
Adam Williamson
9441dac7e1 Bump the support server image's size and version
Rawhide tests are failing as there isn't enough disk space in
this image to copy the whole Server DVD...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-11-09 17:07:57 -08:00
Adam Williamson
01aa7d52b7 Goddamn JSON
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-08-31 13:39:11 -07:00
Adam Williamson
0714df1da0 Have minimal image for all stable and Branched as well
As we're gonna be running update tests off it now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-08-31 13:36:15 -07:00
Adam Williamson
fca1c542c9 hdds.json: keep desktopencrypt around for all stable releases
This is needed now we want to run update tests on it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-05-02 15:44:14 -07:00
Adam Williamson
450efb8bb5 Add aarch64 support and images
We're bootstrapping aarch64 into openQA, so we need this.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-06 09:06:58 -08:00
Adam Williamson
fe61724e8e Explicitly enable firstboot in the desktop kickstarts
This ensures that gnome-initial-setup will run in user mode on
first login as 'test' user for F26+, as it did for <=F25 and as
the tests expected (we can now remove the workaround I added
because this stopped happening with F26). Bump the image version
so the images get rebuilt.
2017-10-20 17:41:42 -07:00
Michel Normand
eec1f1ae6e Add PowerPC support in createhdds script and json
Assumption createhdds executed on a PowerPC ppc64le host
to create the PowerPC specific images.

Detect current CPU arch of host machine to create virt-install images
only for supported architectures. (hardcoded lists)

hdds.json specific changes for PowerPC
* no desktop or kde images

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2017-08-10 07:48:14 -04:00
Adam Williamson
658e082418 Allow 'stable' and 'current' as release for virt-install images
'stable' means 'all current stable releases', and is used for
desktop and server as we need to ensure we have those images
available for all stable releases (including the '-3' release
while it's not EOL) for update testing. (Currently, F24 update
tests are all failing as the images are missing).

'current' means 'the current stable release' - it's the same as
'-1', but just easier to understand. It's used for support.
2017-07-27 12:56:26 -07:00
Adam Williamson
dfc1c216c0 We need *Server* for Branched update testing, not minimal
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2017-03-08 23:11:15 -08:00
Adam Williamson
2940891d8f Allow logged text installs, Branched and Rawhide
This is an attempt to add features desirable for creating
Taskotron base images. It extends the 'release' handling for
virt-install images in several ways to allow requesting of
'branched' and 'rawhide' image creation. It also adds an arg
to request virt-install image creation run in text mode, not
graphical mode. Graphical mode is what we always want for
openQA (so the installed OS doesn't have kernel params intended
for serial console interaction), but for Taskotron purposes,
we want the install run in text mode.

This also adds 'branched' to the default JSON file for minimal
and desktop, as we will want branched versions of these images
for the critpath update testing workflow to work on Branched
after Bodhi activation.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2017-02-28 15:47:53 -08:00
Adam Williamson
8c0493ac35 keep upload files locally, activate network in kickstarts
Summary:
I've come to dislike the approach where we source files that
get included in the disk images remotely; it's unnecessarily
complicated and needlessly exposes us to unexpected changes in
the remote files. So simply keep the files in this git repo
instead, none of them is very big. This also simplifies the
code.

Also, change all the kickstarts to specify --device=link and
--activate on their network lines. These arguments *should*
be included, according to the documentation (the first to
specify which device the config is for, the second to specify
that it should be activated in the installer environment), and
I think the lack of the second is actually now a problem for
the FreeIPA kickstart enrolment test (not sure exactly what
changed to make this a problem where it wasn't before, but
*something* has, and this fixes it).

Test Plan:
check that all tests still run properly. The
FreeIPA enrolment kickstart test should now get somewhat
further. Before this change, for F25 and Rawhide, it fails to
enrol at all during install. Now it should enrol properly -
that's what the kickstart changes fix, it was failing because
it wasn't using the right network config - but it still fails
when trying to log in as test1, due to RHBZ #1366403 .

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D968
2016-08-15 17:02:05 -07:00
Adam Williamson
fe8a8e6665 disk images and reports for encrypted desktop upgrade tests
Summary:
Encrypted desktop upgrade tests are being added to openqa_fedora,
this generates the necessary disk image for it and handles
result reporting.

Test Plan:
Check the tests run with the generated disk images,
check result reporting generates appropriate ResTups.

Reviewers: garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D923
2016-07-08 08:58:23 -07:00
Adam Williamson
602d074708 switch from virt-builder to virt-install (T813)
Summary:
We've kinda been having too much trouble with virt-builder
lately, mainly SELinux related issues due to how it does image
customization. It also produces images that differ in notable
ways from what a 'typical' install would give. virt-install
solves both these problems, and also gives us more flexibility
for storage configuration and post-install customization should
we need them in future.

The change isn't really too drastic, and the design is similar:
instead of virt-builder commands files, each image type now has
a kickstart file where all its customizations can be done.
There's also a single extra image dict key, 'variant', which
specifies which install tree variant to use for running the
install. It defaults to 'Everything' (for F24+) and 'Server'
(for <F24, as Everything wasn't installable until F24) but we
set it to 'Server' for the server images and 'Workstation' for
the desktop images, so those installs will use the correct
variant install class.

We run the installs in VNC. You can do it with a serial console
and log the output, but then anaconda gets clever and changes
several things in the installed system based on the fact that
you did the install over a serial console: it twiddles with
the kernel args and doesn't set graphical.target as the default.
We don't want any of that mess, so we do a VNC install.

The 'size' value is just a number of gigabytes for virt-install
images (as that's how the virt-install 'size' argument works).

This also drops some unused 32-bit images (we don't do 32-bit
KDE or Server upgrade tests, so there's no need to build those
images).

Test Plan:
Re-generate all affected images and re-run all tests
that use them, make sure they work. I am doing this on staging
at present. Note: this would render D911 unnecessary.

Reviewers: garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D917
2016-07-04 09:29:25 -07:00
Adam Williamson
f925eaa63d install nfs-utils and dnsmasq in support server, report results
Summary:
For NFS tests and to set up the support server to do DHCP and
DNS. Also add result reporting for the new NFS tests.

Test Plan:
Check the packages show up in the support server,
run the new tests (see openqa_fedora diff), generate ResTups
with the CLI tool, check they look OK.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D887
2016-06-13 08:42:52 -07:00
Adam Williamson
5bd815bf41 createhdds: add a disk image for use by a 'support server'
Summary:
this will be used for tests like iSCSI and NFS which need a
server end, but where (unlike e.g. FreeIPA) we don't want set
up of the server end to be considered a test and run on the
compose being tested, but instead we just consider the server
end a 'test asset' and expect it to be as reliable as possible.

For now we just set it up to provide an iSCSI target, as that's
what I want to write a test for first.

Note: I was initially writing the actual iSCSI target config
file as part of image creation, but that turns out to be a bit
tricky because we can't safely write a relative or absolute path
for the source file into the commands file. We'd have to instead
allow specifying file injections in the JSON, similar to how we
do for guestfs images, then construct an absolute path in the
Python code using SCRIPTDIR, but it was easier to just write the
file in the openQA test instead, so I did that.

Test Plan:
check that creating the support image works (and if
you're being really thorough, boot it and check the package is
there).

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D883
2016-06-08 15:45:54 -07:00
Adam Williamson
a1bef836d7 add desktop terminal test reporting, change 'ejohn' to 'test'
Summary:
This goes with D839. It makes the necessary changes to report
the results for the desktop-terminal tests, and changes the
username in the upgrade test disk images from 'ejohn' to 'test'
to be in line with the name used in all the other tests, and
save us having to change the 'user_logged_in' needles.

Test Plan:
Run with D839, check that all tests work and results
are correctly sent to the wiki.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D840
2016-05-05 16:43:10 -07:00
Adam Williamson
731cd6e69c add FreeIPA test disks (with kickstarts) and update InstallGuide
Summary:
This goes along with the openqa_fedora commit to add the tests.
I didn't update the Docker instructions yet because I don't
quite remember how that goes. It might need a whole different
setup using some other networking...thing...

Test Plan: See https://phab.qadevel.cloud.fedoraproject.org/D831

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D832
2016-05-04 11:55:22 -07:00
Jan Sedlák
b09754cf9e add kde and server upgrade tests, build images for them
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D823
2016-04-25 09:59:21 +02:00
Adam Williamson
1ac2a95ed6 createhdds: flip updates_img image over to new updates image
Summary:
this goes with D799, which changes the updates image tests to
use a different updates image that works with current anaconda.
One of the updates image tests is for loading the updates image
from a hard disk, so we have a hard disk image that contains
the updates image, so that needs rebuilding with the new update
image. Simples! This is the first time we use 'imgver', I knew
it'd come in handy some time...

Test Plan:
Apply with D799, do `createhdds.py all --clean`, make
sure the new image is built and the old one removed, run the
tests and make sure they work (especially install_updates_img_
local).

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D800
2016-04-01 08:01:12 -07:00
Adam Williamson
326dd08e25 rewrite createhdds in python, make it shinier
Summary:
createhdds.sh was just too damn simple and understandable, so
I thought I'd make it three times longer, object oriented,
and hard to understand!

OK, OK, that's not great sales. Alright. The main thing was to
make it smarter. This rewrite lets it do these things:

* Only create the images that are missing (not rebuild all)
* Work out the releases to build images for
* Rename images when appropriate
* Rebuild images when they need rebuilding
* Remove old / abandoned images

It can figure out what images ought to be present - including
working out the 'next' release and figuring out from that what
releases it needs images for - and build only the missing ones.
There's a 'version' concept for images; if the existing image
is older than the version given in the data file, it'll be
rebuilt. The data file can list 'rename' pairs, allowing images
to be renamed (like when we move from a single image to multiple
label/filesystem variants). This code uses fedfind's ability
to find the current release version to figure out what releases
we need virtbuilder images for (so you don't have to pass it
in). And it can find image files that aren't in the 'currently
expected' set and wipe them. Images can also have a 'maxage',
triggering a rebuild when they exceed it - this is intended
for the virtbuilder images, so we get a rebuild with the
latest updates every so often (default is two weeks).

The point of all this is to help with unattended deployment/
maintenance, i.e. the ansible deployment we have in infra;
the idea is that we can just set that up to run the 'all'
subcommand every so often, and it'll remove old images, create
new ones, and rebuild ones that are outdated.

I kept the ability to build a single image (or a whole image
'group'), and included the ability to just run a check without
actually doing a rebuild. There's a few little weird things
and holes here as it's not really the focus of the tool.

Test Plan:
Build all images, do a full test run, and see if
it works OK. Test out all the variations of building single
images / image groups, and using the 'check' command.

Reviewers: jskladan, garretraziel

Reviewed By: jskladan, garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D687
2015-12-17 13:25:30 -08:00