Commit graph

85 commits

Author SHA1 Message Date
Thomas Lavocat
53cb1b952e Tests: generation works with dnf-json.socket down
Test that the test cases generation will properly start the
dnf-json.socket when needed.
2021-12-15 09:41:32 +01:00
Achilleas Koutsou
842c9767b7 CI: change api.sh argument and runner matrix
Call script with image type argument instead of target.
Test only on RHEL.

Signed-off-by: Achilleas Koutsou <achilleas@koutsou.net>
2021-12-03 16:49:09 +00:00
Achilleas Koutsou
5d4103af74 distro/rhel90: enable edge-simplified-installer image type
This reverts commit 226ada67f93cdfda73b3cae69d45eaf4fb281d6f.
2021-12-02 12:12:05 +01:00
sanne
704c5daf71 8.5
openstack probably won't work
2021-12-02 10:41:04 +01:00
Ondřej Budai
05c22554d8 schutzbot: introduce packer builds
Every schutzbot run will now build an AMI image that contains the worker.
The composer RPM is taken from the mockbuild phase. The osbuild version
is taken from Schutzfile for RHEL 8 GA.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2021-12-01 16:08:11 +00:00
Jakub Rusz
8136e0f069 ci: make some jobs interruptible
Jobs that don't interact with clouds can be canceled at any time without
the risk of leaving unused resources in the cloud. This enables the use
of "automatic cancellation of redundant pipelines" which means that if
and update is pushed to an open PR the current running pipeline is
canceled. This is done by adding an "interruptible" flag to the jobs.
Default value is false so only jobs that have it explicitly set to true
will be canceled.
2021-11-30 10:00:22 +01:00
Juan Abia
42daf0c84d schuzbot: update scheduled cloud cleaner runner
fedora 33 will be EOL, change the runner to centos stream 8
2021-11-26 10:00:42 +01:00
Tomas Hozza
c5a4946135 Test all manifests with depsolved package sets
Generated image test case manifests for all supported distros, arches and
image-types are being tested as part of distro unit tests. However due
to time constrains, the unit test does not depsolve the image's default
package sets and thus does not check if they changed in the internal
osbuild-composer's representation, compared to the generated image test
case.

Extend the `TestDistro_Manifest()` function used by the unit test to
allow depsolving image's package sets.

Introduce a new test case binary `osbuild-composer-manifest-tests`
allowing to check the manifests generated by composer for all supported
combinations of images against generated manifests, including depsolving
image's default package sets.

Introduce a new CI test case `manifest_tests.sh` executing the
`osbuild-composer-manifest-tests` binary and testing all existing image
test cases. Run it in CI on RHEL-9 runner.

Modify SPEC file to ship the newly added test case.

Signed-off-by: Tomas Hozza <thozza@redhat.com>
2021-11-19 19:50:25 +01:00
sanne
08c94da2b6 Revert ".gitlabci.yml: Reduce api test runners"
We need rhel8.5+ testing.

This reverts commit ac39dacfae.
2021-11-19 19:37:08 +01:00
sanne
ac39dacfae .gitlabci.yml: Reduce api test runners
Only rhel ga and centos-8 are being built by the service.
2021-11-18 10:26:17 +01:00
Jakub Rusz
14b7e92eaa tests/ci: split nightly testing based on RHEL major version
Using just the major version from the $VERSION_ID and defining new CI
variable $RHEL_MAJOR.
2021-11-16 10:46:50 +01:00
Achilleas Koutsou
a8eb58bc62 distro/rhel90: disable edge-simplified-installer image type
Critical dependency is not available yet
2021-11-10 14:54:31 +01:00
Achilleas Koutsou
4e4f55b058 CI: test new edge types on RHEL 9.0
Edge Raw Image and Edge Simplified Installer are supported on
RHEL 9.0 GA.
2021-11-10 14:54:31 +01:00
Achilleas Koutsou
1dd139e758 CI: enable tests for RHEL 9.0 2021-11-10 14:54:31 +01:00
Thomas Lavocat
82ee9661a9 CI: Journal-log is accessible and encrypted 2021-11-10 10:31:33 +01:00
Martin Sehnoutka
03074303cc gitlab-ci: Remove RHEL9.0-beta runners
The RHEL9.0 Beta repos are gone. It will soon be replaced by RHEL9 GA,
so there is no point in running the CI for this distro any more.
2021-11-09 15:32:29 +01:00
Ondřej Budai
83a35fb9b8 ci: remove 8.5 nightly testing
It no longer makes sense because:

- we don't make any changes to 8.5
- we don't regenerate test manifests for 8.5
- osbuild-composer for 8.5 is in the rhel-8.5.0 branch

Also, the latest-8.5.0 symlink was removed, which broke the CI.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2021-10-26 09:30:21 +01:00
Achilleas Koutsou
70b70b0da6 CI: enable OSTree tests on CentOS 8
Signed-off-by: Achilleas Koutsou <achilleas@koutsou.net>
2021-10-21 15:16:04 +01:00
sanne
fa1a4be4d3 .gitlab-ci: Don't save the journal as an artifact 2021-10-19 18:15:07 +02:00
Achilleas Koutsou
71c7c3ed87 ci: run all tests on RHEL 8.6
For every test that runs on 8.5, run it on 8.6 as well.
2021-10-11 09:49:15 +02:00
Jakub Rusz
1a7858c196 tests: enable koji.sh test on RHEL-9 2021-10-06 15:42:36 +03:00
Jakub Rusz
9e7e16c9cf tests/ci: enable vmware.sh and cross-distro.sh on rhel-9 2021-10-06 15:42:36 +03:00
Jakub Rusz
c112e9d12d ci: don't run nightly pipeline on ga releases
It makes no sesnse to run nightly testing on ga composes. This updates
the regex to exclude ga runners from the scheduled nightly run.
2021-09-30 16:03:14 +02:00
Ondřej Budai
e4d912f348 terraform: update
- run only koji.sh for rhel-90 target, Fixes #1461

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2021-09-24 17:03:53 +02:00
Achilleas Koutsou
0ea491e9bd ci: enable ostree tests on RHEL 9.0-beta
The ostree-ng test was updated to accommodate a change in the
edge-container image type
(see https://github.com/osbuild/osbuild-composer/pull/1595).
RHEL 9.0-beta uses the old edge-container configuration, however RHEL
9.0 GA should eventually adopt the new container.

Copying the old ostree-ng test and running it separately is better than
having several conditions in the single test script to accommodate the
old behaviour and then reverting them when the changes land in RHEL 9.

Modified from the old version to assume we're using 'weldr-client'
(which has a different json output schema) and to use RHEL 9
naming/versioning where necessary.

The ansible checks were also copied to remove the kernel-rt check.

Signed-off-by: Achilleas Koutsou <achilleas@koutsou.net>
2021-09-24 13:27:21 +02:00
Brian C. Lane
ca47083b46 test: Add cross-distro test for distro support 2021-09-14 10:43:09 +01:00
Diaa Sami
e788f64b03 rhel9: enable installer test 2021-09-10 15:17:54 +02:00
Jakub Rusz
db619f1aa6 ci: disable azure testing on centos-8
To be fixed and reverted later, see COMPOSER-1118.
2021-09-09 13:40:52 +02:00
Jakub Rusz
b8ad702ee7 ci: run new ostree and ostree installer tests on stronger machines
These tests take the longest from the whole test suite, run them on
large machines insted of medium.
2021-09-08 14:20:57 +02:00
Jakub Rusz
e8d0d8b9de tests: enable regression tests on RHEL-9
This commit adds the possibility to use both weldr-client and original
composer-cli in the tests.
2021-09-08 12:01:32 +02:00
Jakub Rusz
4fd256e2a3 tests: enable filesystem test on RHEL-9
Modifications to the test to work with weldr-client along with and
adding set -euo pipefail which was missing
2021-09-07 12:33:52 +02:00
Alexander Todorov
44c25b7a87 ci: Make nightly repo/source files multi-arch
the prepare-rhel-internal.sh script should be executed on a single
runner and it will loop through all architectures to prepare the
necessary definitions inside .json and .repo files. The resulting
osbuild-composer-tests repository is not multi-arch, containing all
versions of osbuild-composer-tests.rpm downloaded from Brew.

This is needed because jobs from subsequent stages will download
artifacts (.json & .repo files) from the prepare job but there's no
mechanism to control this easily. As a result artifacts are downloaded
from all of the prepare jobs and they overwrite themselves resulting in
test systems being configured with repo files for different CPU
architecture which leads to dnf errors.
2021-09-07 13:29:56 +03:00
Ondřej Budai
974c258382 schutzbot: run openstack/* jobs on a dedicated runner
We have limited resources in openstack. We can only run about 40 concurrent VMs.
Previously, the rate limiting was kinda stupid:

All (aws and openstack) jobs were run using the same runner. This runner was
globally limited to 60 concurrent jobs. For openstack, the individual
images were also limited to a certain number of concurrent jobs in
the gitlab-ci-terraform repository so we don't hit the quota. This limit
was applied at runtime - the first thing that an openstack job did was to
wait for a slot. This job counted towards the global limit of jobs (60)
and thus was blocking one slot without doing any useful work.

Applying local limits to please global quota is stupid though. We have much
more demand for rhel-8.5 runner than for e.g. Fedora. It would be much
better to just use global limit that would map much nicely to global
quota.

Today, I've introduced a new runner with tag terraform/openstack. It's
currently limited to 20 concurrent jobs. All jobs running on openstack should
run on the new runner. This runner has the local rate limiting for openstack
disabled. This means that we can run 20 concurrent openstack jobs and it
doesn't matter which distribution they run.

To sum it up, this has two benefits:
- no local limits, we can just use the full quota
- no idling jobs waiting for an openstack slot

Note that the openstack global limit is currently set to 20, I will raise
it once all PRs are rebased on top of this change.

Side effect: I moved all libvirt test to openstack. I think this is overall
better because testing guest images on KVM makes more sense than testing them
on TCG.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2021-09-04 23:14:58 +02:00
Diaa Sami
66a6e4de8c rhel90: fix libvirt_test
Test was adapted to both weldr-client and composer-cli
2021-09-03 11:15:32 +02:00
Jakub Rusz
d3cc8844c5 ci: run aws.sh and azure.sh tests on RHEL-9 2021-09-02 11:55:25 +02:00
Tomas Hozza
b1d6466975 CI: enable API testing on RHEL-9
Signed-off-by: Tomas Hozza <thozza@redhat.com>
2021-08-31 09:49:47 +02:00
yih
68cfe2ee58 distro/rhel85: add tests for edge raw image
Test the newly added RHEL for Edge 8.5 raw images, based on
the existing OSTree tests.
2021-08-28 09:20:19 +02:00
Christian Kellner
608d3b3517 distro/rhel85: add test for simplified installer
Add a comprehensive test suite for the simplified installer,
based on the existing OSTree tests.
2021-08-28 09:20:19 +02:00
Jakub Rusz
0865720589 ci: run base tests on RHEL-9 2021-08-25 19:16:04 +02:00
Gianluca Zuccarelli
4527477079 test/cases: filesystem integration test 2021-08-21 02:54:38 +02:00
Jakub Rusz
810248fc52 ci: minor fixes for nightly testing
Updating rules for Installer and Regression testing and fixing failures
if certain variables are not set.
2021-08-20 13:21:45 +02:00
Jakub Rusz
a3ac31a483 ci/tests: scheduled cloud-cleaner for Azure
This introduces a script to run cloud-cleaner with a schedule. It's
currently working with Azure only and therefore needed a change to
cloud-cleaner code as well. Using azure-cli it gets a list of resources
from $AZURE_RESOURCE_GROUP and then sorts out only resources that
are older than $HOURS_BACK and are not storage accounts.
Then it processes the list further leaving only list with unique
TEST_ID to supply to the cloud-cleaner.
2021-08-19 09:04:28 +02:00
Martin Sehnoutka
4a8e5e8b19 gitlab-ci: move rhel-8 runners to the internal network
These runners use RPMrepo snapshots which are available only from the
internal network.
2021-08-09 12:40:23 +02:00
Martin Sehnoutka
0c5a4b3e8b gitlab-ci: enable regression testing on Fedora 33
The "satellite" test works on Fedora so now it makes sense to include
the Fedora runner in the matrix for regression testing.
2021-08-09 12:40:23 +02:00
Achilleas Koutsou
88e750ed8f CI: enable installer test 2021-08-05 16:13:46 +02:00
Alexander Todorov
c70e437272 Enable additional aarch64 test runners
Signed-off-by: Alexander Todorov <atodorov@redhat.com>
2021-07-30 22:03:00 +02:00
Ondřej Budai
05ffdc70aa ci: run only koji.sh for rhel_90 distro
Previously, all sorts of tests that provided no value were run for RHEL 9.0.
This commit limits its testing to the only test that makes sense: koji.sh.
See #1461 for more details.

Fixes #1461

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2021-07-27 10:18:05 +03:00
Ondřej Budai
1abd9a1192 ci: drop all remaining 8.4 nightly jobs
RHEL 8.4 is GA for a long time so we no longer need 8.4 nightly jobs.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2021-07-25 20:26:29 +02:00
Ondřej Budai
9e4052e0e6 ci: enable all RHEL 8.5 tests
run 8.5 libvirt tests on openstack so we have KVM.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2021-07-24 15:54:00 +02:00
Achilleas Koutsou
2444e633fb test: separate regression from base tests
- Rewrote regression.sh to be like base tests with list of regression
  test scripts to be run and fail counts
- Separate regression tests in CI to have better control of distro
  runners
2021-07-24 15:54:00 +02:00