These releases are already GA. For 9.6 and 10.0, we test them in a
scheduled GA pipeline, which runs the CI tests on GA runners, which
don't have RH VPN access. Previously, some tests in the GA pipeline
would fail, because they would use rpmrepo snapshots of nightly composes
for these releases, which are behind RH VPN. Change the test repo
definitions to use CDN repositories instead, which should fix the GA
pipeline.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Adjust the test case, so that it does not fail when run against older
osbuild-composer version, i.e. the one from RHEL-10 nightly CI pipelines.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Add new GA runners and remove the old 9.5 GA runner. Remove repo overrides for new runners as well. Add a comment explaining why a regression-old-worker-new-composer test will fail when a new major version GA runner is added.
RHUI-3 has been EOL on RHEL-8 and it is no longer being updated and we
do not take new snapshots of it. Use RHUI-4 instead. More info in [1].
It turns out, that the previously used RHUI-3 snapshot was missing
amazon-libdnf-plugin package, wich is required by the RHUI client.
As a result, the "weldr dot-notation" test has been failing in the GA
pipeline on RHEL-8. We do not run the test case on RHEL-8 in PRs of
`main` pipeline, because we test only on nightly composes and there are
no new releases being developed for RHEL-8. Therefore this was
manifesting only in the GA pipeline runs.
This change should fix the failures in the GA pipeline.
[1] https://github.com/osbuild/rpmrepo/pull/119
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
The cross distro test started failing on RHEL 10.1, because the osbuild/images version was a Go pseudo-version that the sed command parsing the version did not recognize.
In repository files for RHEL 9.7 and 10.1, there were missing slashes at the end of the baseurl which caused the satellite regression tests to fail. The refresh job only subs the snapshot dates and leaves the rest of the url unchanged.
The issue has been fixed in 9.6 0day ZStream in v132.1, so running the
test against anything older will make the test fail. This is currently
the case for RHEL-9-nightly pipeline.
Let's solve this annoyance.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
After the move of the repo configs to `osbuild/images`, we changed the
way to determine the all available distro repo configs by taking the
last release of 'images'. This turns out to be fragile, especially when
the test case is being run on a "rhel-x.y.0" branch or basically with
any old osbuild-composer binary. It could happen also in Nightly test
pipelines after the devel freeze.
We always compile osbuild-composer binary with debug information, so we
can determine the vendored 'images' version from the binary. We also
always ship repo configs from the same 'images' version in the RPMs.
Therefore modify the test case to check out the 'images' version that
osbuild-composer was compiled with and use repo configs from that
version.
In addition, don't reduce the depth when cloning the images repository,
because even 200 commits may be too little on some older RHEL ZStream
branches.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Previously, the code would remove everything after the first dot in the
repo config filename. So 'rhel-10.0.json' -> 'rhel-10'. This means that
there was just a bunch of 'rhel-X' repo config names to compare. This is
probably a leftover from the days before we introduced dot-notation for
distro names.
Modify the test to effectivelly strip only the filename extension (the
part after the last dot, including the dot).
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Expose the ${SUBJ} customization in Cloud API. Weldr API inherited it
automatically with the update of `osbuild/blueprint` to v1.6.0.
Adjust relevant test cases and unit tests to use this new customization.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
The vsphere verification is failing consistently with the following
error message from govc:
A component of the virtual machine is not accessible on the host.
Disabling it until we have time to look into it further.
Test actual image builds of older distros on RHEL and CentOS, to catch
issues such as https://issues.redhat.com/browse/RHEL-71397.
The test can be later extended to cover also Fedora, but this is out of
scope at this point, since the goal is to ensure that RHEL cross-distro
builds work, because these differ a lot.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
This will allow using them inside Bash function that return values,
without tainting the returned value.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
This test case is no longer being run with an osbuild-composer version
lower than v97, so there's no need to special case it.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Completely remove the /etc/osbuild-composer/repositories directory used
for repo overrides, to ensure that only repos from the RPM are used.
Moreover, instead of trying to restart osbuild-composer, which is always
a tricky thing to do, let's just stop all services and call the Weldr
API. Since the service is socket-activated, this will start all the
necessary services.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
We used to provide the cloud-init user-data and meta-data to the VM as
key/value in the VM's extraConfig as guestinfo keys. This replaces bunch
of code that used to create an ISO, upload it to VSphere and attach it
to the VM.
We recently started to observe issues when uploading the ISO to our
testing VSphere instance in CI. This commit aims to circumvent this
issue by using a different and simpler way to provide the cloud-init
data to the VM.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
The networking to the cluster seems slightly flakey, so I noticed
a few failures when playing with it. A little retry is able to fix it.
The function was taken from deploy.sh. I considered de-duping it,
but deploy.sh runs in a context where
/usr/libexec/tests/osbuild-composer/shared_lib.sh is not yet
established, so it's unfortunately no so simple. :(
The old one is going to be decommissioned. I only changed:
- extracted the storage class to a variable
- adjusted the openshift yaml file to what I was given in the UI
- most importantly, we now use an instancetype to specify the
resource requirements instead of doing it manually
- the network is called default, instead of nic0 on this cluster
- we are downloading the oc and virtctl clients from the new cluster
so the versions match
Re-enable the vmware tests on RHEL 10 and use vcenter 8 instead of 6. This fixes the issues caused by outdated CPUs in old cluster by migrating to a new one with new hosts as well.
This commit tweaks the `cross-build.sh` to checkout the last release
tag of the images library instead of using main. The issue with using
main is that there are many false positive errors when e.g. a new
fedora release is added to main.
Ideally it would use the tag of the vendored images library but
this particular test looks at the rpm content so the information
what version of images was used is not readily available (we could
fix this but the workaround of this commit is hopefully sufficient).
Add more information when the cross-distro.sh test fails. Currently
it prints:
```
DEBUG: ===== ALL_DISTROS ====
rhel-8
...
rhel-8
DEBUG: ===== ALL_EXPECTED_DISTROS ====
fedora-40
...
fedora-42
DEBUG: ===== ALL_REMAINDERS ====
rhel-8
....
rhel-8
DEBUG: ===== END ====
Some distros are missing!
Missing distros:
```
But the most crucial information (i.e. what is installed) is
missing from this debug print (it can be found in a different
output but lets make it easy).
Remove incorrect comment (not an ostree image).
Add a greenprint for depsolving since it can take some time for that to
run and it makes more sense than pausing output on "Preparing
blueprint".
Add separate blueprint creation functions, one for each partitioning
layout:
- disk-plain
- disk-lvm
- disk-btrfs (Fedora only)
The existing 'filesystem' blueprint is also kept.
Each function also sets the $EXPECTED_MOUNTPOINTS variable for the
mountpoint check that happens after the build.