Commit graph

1453 commits

Author SHA1 Message Date
Achilleas Koutsou
eba29c9007 test/ostree-raw: replace default ostree remote URL
The Fedora IoT Raw image sets the default remote URL to the official
Fedora IoT source at build time.  We need to replace it in our tests
with our local test repo.
2022-09-13 16:06:19 +01:00
Ondřej Budai
966049ec3c test: use firmware auto-detection with virt-install >= 4
3013889727

changed the behaviour of --boot uefi. Now, it doesn't pass the loader options
but uses firmware="efi" that uses libvirt's ability to auto-detect the correct
loader.

Therefore, for distributions that ship the new virt-install, we have to change
the --boot argument. --boot uefi should now be able to automatically set the
uefi loader correctly without passing any extra loader options. The only issue
is that CS9 has issues with secure boot and edge, so we need to disable
secure boot using a new (and arcane) syntax (the old loader arguments no
longer work):

firmware.feature0.name=secure-boot,firmware.feature0.enabled=no
(https://libvirt.org/formatdomain.html#bios-bootloader)

See the CS9 bug for secure boot issues on edge:

https://bugzilla.redhat.com/show_bug.cgi?id=2108646

Also, since --os-type is deprecated in libvirt >= 4, let's remove it.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
c373d9971d test: add --import to virt-install for UEFI
The option was already there for the BIOS case and now it (or any other
install method) is required in newer versions of virt-manager.
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
7072432b0f test/ostree-raw: separate osname variable in playbook
The image_type variable in the playbook is used for the name of the
deployment, which is 'redhat' by default for RHEL and 'fedora-iot' for
Fedora.
This affects the deployment path checks, for example:
    {{ device_name  }}[/ostree/deploy/{{ image_type  }}/var]
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
b38cfc2ad6 ansible: update boot-complete.target check
In Fedora 37, the message for reaching the boot-complete.target changed
from
    Reached target Boot Completion Check
to
    Reached target boot-complete.target - Boot Completion Check
which is making the string matching test fail.

Instead of looking for message strings, check that the target's status
is good.
2022-09-13 16:06:19 +01:00
yih
9ea694ef0a test: update ansible checks for ostree mount points 2022-09-13 16:06:19 +01:00
Achilleas Koutsou
44cd7cbc76 test: update ansible checks for ostree to match F36+ packages
Update greenboot package checks to match the new rules.

Co-Authored-By: Xiaofeng Wang <henrywangxf@me.com>
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
1d3b0a653e test: update manifests 2022-09-13 16:06:19 +01:00
Achilleas Koutsou
c513f08719 test/ostree-raw: move user from commit to deployment
Instead of defining users in the ostree commits, create them during the
deployment and creation of the raw image.
Defining users in commits locks them into the base system: they can't be
removed and their password can't be changed without creating an upgrade
commit and they will always be part of the initial system.

Also, in Fedora 37, password authentication for users in commits is not
working.
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
54dc7c7141 test/ostree-raw: remove mentions of installer
Leftover mentions of 'installer' from when this script was copied from
installer tests.  Replaced all mentions with raw-image.
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
81e11c7946 test: override hashicorp repo releasever for F37
Set $releasever to 36 when running on Fedora 37 because there is no
hashicorp repo for it yet.
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
bf83bbea38 test: move greenprint and redprint functions to shared_lib.sh
Since we're sharing functions between test scripts, move greenprint(),
the most rewritten function in the history of the project, to
shared_lib.sh and source it everywhere.
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
3b14828669 test: new weldr client compatibility for test scripts
- Handle the array responses from the new weldr-client (>= 35.6).
- Move the `get_build_info` function to shared_libs.sh to source and
  reuse in multiple places.
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
fb4309acf4 test: add repos and test manifests for Fedora 38 2022-09-13 16:06:19 +01:00
yih
f606e4c054 test iot-raw-image on fedora37 2022-09-13 16:06:19 +01:00
Achilleas Koutsou
0c77e4be60 manifest: rpm stage options for ostree commits
When building a fedora ostree commit, set the new ostree_booted flag in
the rpm stage and the dbpath to /usr/share/rpm
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
ccbf15878b manifest: add grub config for OSTreeDeployment
These are based on the official Fedora IoT Raw Image but are added to
the base OSTreeDeployment manifest.  For now, let's add them to all
ostree deployments that will use these new types and we can extract the
values to make them configurable when we need to.
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
a505defad3 manifest: lock the root password for OSTreeDeployment 2022-09-13 16:06:19 +01:00
Achilleas Koutsou
fbe8c1cb39 manifest: use new ostree mount in fstab stage for commit deployment
Use the new stage mount instead of the old stage-specific options.
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
1de55c73e6 ostree: define type for handling ostree remote config
A new struct in ostree can be used to define configuration options for
the ostree remote of an image.  So far remotes were always set up with
the remote URL used to pull the commit.  Now we support setting a
different remote with extra configuration options.

This is used by the fedora-iot-raw-image to set up the remote
configuration of the final image, separately from the source of the
commit.

Test manifests updated.
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
0386d68db4 manifest: add ostree mount to stages in OSTreeDeployment
Stages that modify files in the ostree deployment need the sysroot
bindmount for any changes to take effect.
Adding the mount to the keymap and locale stages since they need to
modify files in /etc.
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
76031d4104 manifest: add OSTreeDeployment config options
Adding support for config options to OSTreeDeployment that are required
by the IoT raw image:
- Kernel command line options
- Keyboard layout
- Locale

Test manifests updated.
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
901b3a5da9 fedora: add platform packages to RawOSTreeImage build root
Include the platform packages when getting the build packages for the
RawOSTreeImage.
rpm-ostree is explicitly added for this image type.
dracut-config-generic and efibootmgr are temporarily added here, but we
should define a platform that includes them instead (some cleanup
required in general).
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
eb731e031d test: generate new manifests
Add new image type to format request map and generate manifests.
2022-09-13 16:06:19 +01:00
Ondřej Budai
e2a298723e ci: enable fedora 37 tests
Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2022-09-13 16:06:19 +01:00
Ondřej Budai
a8fe0d2620 distro/fedora: add support for Fedora 37 and 38
The most interesting change is the removal of smc-meera-fonts in 37. As
suggested, rit-meera-new-fonts is used instead.

Existing F35 and F36 manifests updated with package changes.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
c88d0255da test/diff-manifest: fetch base branch from GitHub
Distro version branches aren't synced to GitLab, so we will need to
fetch them from GitHub directly.
This is required for any PR made against any branch other than main.
2022-09-13 10:57:16 +02:00
Xiaofeng Wang
05503c58c2 test: Remove OCP4 test
Since api.ocp.ci.centos.org is going away:
https://lists.centos.org/pipermail/ci-users/2022-June/004547.html.

After discussion, OCP4 test will be removed here, but RHEL for Edge
downstream test will keep OCP4 case
2022-09-12 19:14:13 +02:00
Jakub Rusz
47d0703cb6 test/upgrade: install vdo package
This package is required for the upgrade process.
2022-09-12 13:02:41 +02:00
Alexander Todorov
647acfa2f4 Adjust AWS EC2 type in tests depending on CPU arch 2022-09-09 10:49:41 +03:00
Juan Abia
810f3fe0e9 test: change CIV tag
We were using `latest` as tag, this can be dangerous as it's the default
tag, an anyone can accidentally update it. Using `prod` is safer.

Also use dev container image if the test script is running in CIV CI.
2022-09-07 17:59:50 +02:00
Diaa Sami
6b2af037a3 test/cases/api/aws.sh: add support for starting aarch64 instances 2022-08-31 15:41:13 +02:00
Diaa Sami
9635155c88 api/common/aws.sh: support arm64 when installing govc 2022-08-31 15:41:13 +02:00
fkolwa
1d9ee1adda test/data/manifests: regenerate test cases RHEL+CentOS 8,9 2022-08-30 22:21:29 +02:00
Sanne Raymaekers
d13347e1ca cloudapi: Add endpoints to clone aws images across regions
Support for creating multiple amis from a single compose. It uses the
AWSEC2* jobs to push images to new regions, and share them with new
accounts.

The compose it depends upon has to have succeeded.
2022-08-30 16:14:52 +02:00
Jakub Rusz
5e9ecd3ae4 test/gcp: Run cleanup function at the end
All EXIT traps are cleared on line 280 so the cleanup trap is never run
and VMs are waiting for 4 hours to get cleaned by
scheduled-cloud-cleaner. Run the cleanup at the end and rely on
scheduled-cloud-cleaner only in case of failures before that.
2022-08-30 16:14:07 +02:00
Juan Abia
b11a493455 test: get latest version of CIV in aws.sh
instead of manually updating CIV version every once in a while. Get
always the latest version.

In CIV CI, this test runs before any change can be introduced into the
container image, so no unexpedted errors should come from the CIV side.
2022-08-30 15:02:25 +02:00
Xiaofeng Wang
dba76a1204 test: Add edge-install BISO installation test back for BZ#2110864 2022-08-25 14:54:56 +01:00
Achilleas Koutsou
a26b8a4d7f test: update test manifests (Fedora 35 and 36) 2022-08-25 14:54:56 +01:00
Achilleas Koutsou
6d0a22dc17 test: update test manifests (RHEL 8.x and CS8) 2022-08-25 14:54:56 +01:00
Achilleas Koutsou
0923f00819 test: update test manifests (RHEL 9.x and CS9) 2022-08-25 14:54:56 +01:00
Juan Abia
1873c561cf test: disable non supported tests
some scripts skip the test if it's not supported for that
distro-version. Disable them in gitlab-ci.yml so we don't waste CI
resources.

To disable them, we are using the `rules` on each job with a regex
pattern. Using `=~` (pattern matches) as a  WHITELIST and `!~` (pattern
does not match) as a BLACKLIST.
2022-08-24 19:37:43 +02:00
Gianluca Zuccarelli
c264ce53cd distro: add oscap packages to image
Since the oscap remediation stage in osbuild runs
the oscap package in `chroot`, it is necessary to
install the `openscap-scanner` package to the image
itself rather than the build root.
2022-08-23 18:06:15 +02:00
Jakub Rusz
e9a1e66cbe distro/rhel-9: remove nvmf dracut module from image-installer
The module is not present in official RHEL-9.1 ISO image and it is
causing boot issues when used with newer content. HTTP boot is
not affected by this change and works as expected.
2022-08-22 10:11:48 +02:00
Alexander Todorov
65ef1b2e78 Don't special case nightly repository names for Satellite regression tests
this is no longer needed b/c the nightly CI jobs are now using the same
json definitions as the regular CI jobs, just changing baseurl. See
previous commit.
2022-08-18 14:00:16 +03:00
Tomas Hozza
0875c3491f distro/rhel9: disable GPG check for Google repos in gce* images
Having the GPG check enabled for Google repos in `gce*` images will make
DNF try to import the relevant keys when upgrading, downgrading or
installing any packages from the repo. However due to Google still using
SHA-1 for GPG keys used to sign their RPMs, importing it will make any
transaction that includes such RPM to fail.

Disabling the GPG check will ensure that DNF won't attempt to import
Google GPG keys.

Related to https://issuetracker.google.com/issues/223626963
2022-08-17 11:59:39 +02:00
Tomas Hozza
55e78e195f distro/rhel9: do not define Google Cloud SDK repo in gce* images
The repo is not needed any more, because the Google Cloud SDK is not
installed in the images by default. If anyone wants to install the SDK,
they can add the appropriate repo definition.
2022-08-17 11:59:39 +02:00
Tomas Hozza
debd6d4342 distro/rhel8: do not define Google Cloud SDK repo in gce* images
The repo is not needed any more, because the Google Cloud SDK is not
installed in the images by default. If anyone wants to install the SDK,
they can add the appropriate repo definition.
2022-08-17 11:59:39 +02:00
Tomas Hozza
5f48aaa212 distro/rhel9: don't install google-cloud-sdk in any gce* images
The Google SDK ships pre-compiled binaries. It is undesirable to install
it by default in `gce` and `gce-rhui` in its current shape. Also not
installing it does not anyhow affect the RHEL integration as the guest
OS in GCP.
2022-08-17 11:59:39 +02:00
Tomas Hozza
cf92c1f23a distro/rhel8: don't install google-cloud-sdk in any gce* images
The Google SDK ships pre-compiled binaries. It is undesirable to install
it by default in `gce` and `gce-rhui` in its current shape. Also not
installing it does not anyhow affect the RHEL integration as the guest
OS in GCP.
2022-08-17 11:59:39 +02:00