Commit graph

5200 commits

Author SHA1 Message Date
Achilleas Koutsou
b00aaa06ea distro/rhel8: image type separation: gce 2023-01-18 11:50:35 +01:00
Achilleas Koutsou
801affc26a distro/rhel8: image type separation: vmdk 2023-01-18 11:50:35 +01:00
Achilleas Koutsou
fd93f47d3f distro/rhel8: image type separation: qcow2 and openstack
Continuing image type splitting.

Constructor for qcow2 type requires the distribution object to determine
whether to add RHSM to the image config (RHEL only).
2023-01-18 11:50:35 +01:00
Achilleas Koutsou
8fd33b1590 distro/rhel8: image type separation: ami and edge
Start splitting image type definitions into separate files by logical
groups (mostly by footprint and cloud platform) for easier navigation,
like we did for rhel9.

Split AMI and Edge image types; the rest will follow in separate
commits.

Image specific package sets are defined in the file for the image type
grouping instead of the package_sets file.

A notable difference with the way it was done in rhel9 is that every
image type is defined in a function rather than a global where possible
and a function when distro version specific configuration is needed.
This is done for consistency and the change will likely be done in the
other distributions as well.
Also, instead of passing only required values to the image type
constructor (for example, osVersion and a RHEL boolean), we pass the
whole distribution object and each constructor can read whatever
information it needs.
2023-01-18 11:50:35 +01:00
Achilleas Koutsou
0f78b65e4e distro/rhel8: configure and add platforms to image types
Add platform attribute to imageType.
Create platform configurations for each image type, copied from RHEL 9.
Currently this has no effect on the image definition / manifest.
2023-01-18 11:50:35 +01:00
Achilleas Koutsou
abdc24a245 distro/rhel8: move imageType implementation to separate file 2023-01-18 11:50:35 +01:00
Achilleas Koutsou
08b1876951 distro/rhel8: move architecture implementation to separate file 2023-01-18 11:50:35 +01:00
Achilleas Koutsou
47f935f8b7 distro: remove HostDistro contructors
The host distro object was identical to the regular distro objects for a
while now.  The constructors in the registry have been aliases to the
base constructors for a long time.

- Deleted all HostDistro constructors from the distributions.
- Changed the supported distro list to only contain base constructor
  functions.
- The host distro in the distro registry is a copy of the base distro
  that matches the host and does not call a separate constructor.
2023-01-18 11:50:35 +01:00
Achilleas Koutsou
fcc8437b22 distro/rhel9: inline distribution structs
Inline the distribution structs in the common constructor.
Make the same changes that were made to RHEL 8:
- Remove major version argument: it's always 9
- Make the default constructor New() create the default minor version
  and rename it to plain RHEL 9.

The distroregistry now contains both rhel-9 and rhel-90, which point to
the same configuration but with different names.
The default rhel-9 should be updated to be an alias to rhel-91, the
current GA.
2023-01-18 11:50:35 +01:00
Achilleas Koutsou
7811505f3d test: regenerate manifests
Regenerate manifests for changes from recent repository snapshot update.
Not all were generated after the most recent change.
2023-01-18 11:50:35 +01:00
Achilleas Koutsou
1a73e08905 distro/rhel8: update distribution implementation
Update the implementation of the distro.Distro interface to match the
one in RHEL 9 and Fedora.  The main change is that the runner is a
runner.Runner and not a string.

The distroMap is replaced by a switch that initialises the distribution
struct strings based on the minor version number.

The default minor version, created with rhel8.New(), creates a copy of
RHEL 8.6 and renames it to "rhel8".
2023-01-18 11:50:35 +01:00
Antonio Murdaca
560756a164 regenerate manifests
Signed-off-by: Antonio Murdaca <antoniomurdaca@gmail.com>
2023-01-17 14:02:02 +01:00
Antonio Murdaca
1672fb1cf6 wire ignition bp customization to simplified-installer and raw image
Signed-off-by: Antonio Murdaca <antoniomurdaca@gmail.com>
2023-01-17 14:02:02 +01:00
Antonio Murdaca
5c7d43c9a0 gate ignition behind el92/c9s
Signed-off-by: Antonio Murdaca <antoniomurdaca@gmail.com>
2023-01-17 14:02:02 +01:00
Antonio Murdaca
feec6ce63e inject blueprint's kargs into edge raw image
Signed-off-by: Antonio Murdaca <antoniomurdaca@gmail.com>
2023-01-17 14:02:02 +01:00
Antonio Murdaca
8b820abb4b adjust ignition kargs tests
Signed-off-by: Antonio Murdaca <antoniomurdaca@gmail.com>
2023-01-17 14:02:02 +01:00
Antonio Murdaca
cca0e773f6 support ignition in edge simplified-installer and raw-image
Signed-off-by: Antonio Murdaca <runcom@linux.com>
Signed-off-by: Antonio Murdaca <antoniomurdaca@gmail.com>
Signed-off-by: Irene Diez <idiez@redhat.com>
Co-authored-by: Irene Diez <idiez@redhat.com>
Signed-off-by: Antonio Murdaca <antoniomurdaca@gmail.com>
2023-01-17 14:02:02 +01:00
Antonio Murdaca
c2b4caaa66 support kargs in edge blueprint
Signed-off-by: Antonio Murdaca <antoniomurdaca@gmail.com>
2023-01-17 14:02:02 +01:00
yih
64db6485c9 fix ostree cannot boot on fedora37 2023-01-17 10:54:29 +01:00
Gianluca Zuccarelli
25faf5ab60 internal/prometheus: remove compose fail metrics
We have switched how 5xx errors are being recorded
internally and we are now recording all failures
for all endpoints. As a result, a dedicated metric
only for compose failures is no longer required.
2023-01-12 12:55:01 +01:00
schutzbot
382db4245a Post release version bump
[skip ci]
2023-01-11 08:23:59 +00:00
Ondřej Budai
d12d9674d6 terraform: update to the latest definitions
Currently, we still have the issue with rogue instances. The latest commit in
the gitlab-ci-terraform repository prevents that by limiting the validity
of the spot fleet request to 4 hours which matches our maximum job duration
set in GitLab.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2023-01-10 14:26:18 +01:00
Gianluca Zuccarelli
08aa1e99a1 worker/server: log unresponsive job removal
Re-add the logging for when unresponsive heartbeats
are being removed so we can verify that they
are correctly being logged as 5xx errors.
2023-01-10 09:29:33 +01:00
Jakub Rusz
fe554ad184 tests/ostree: use local install and lower memory
Download the boot.iso to the hypervisor to use local install instead of
networked which allows to use lower RAM.
2023-01-10 00:28:23 +01:00
Alexander Todorov
e18cda1fa2 Remove OSTree raw image test from nightly pipelines
leave this entirely to Virt-QE
2023-01-10 00:28:23 +01:00
Jakub Rusz
340f79c537 tests/ostree: use local install
Download the boot.iso to the hypervisor to use local install instead of
networked which allows to use lower RAM.
2023-01-10 00:28:23 +01:00
Alexander Todorov
6d0c8ced8d Update more test conditions based on code review 2023-01-10 00:28:23 +01:00
Alexander Todorov
ccd54a2c99 Build latest 8.8 and 9.2 development versions in Koji
see
eb78fcd85e
aff680542d
2023-01-10 00:28:23 +01:00
Alexander Todorov
155f8aac76 Update osbuild commit reference for 8.8 and 9.2
https://coreos.slack.com/archives/C0235DZB0DT/p1670837975974169
2023-01-10 00:28:23 +01:00
Alexander Todorov
cbc46ed75a Use 9.2 URLs in upgrade test 2023-01-10 00:28:23 +01:00
Alexander Todorov
57cb9c0803 Remove repo overrides for 8.7 and 9.1 GA 2023-01-10 00:28:23 +01:00
Alexander Todorov
ed02075387 Fix typo in composer-cli command used in test 2023-01-10 00:28:23 +01:00
Alexander Todorov
7756a801f5 Update 8.7 & 9.1 GA urls in .json files 2023-01-10 00:28:23 +01:00
Alexander Todorov
d3c6eba7bf Switch 8.6 and 9.0 GA to 8.7 and 9.1 GA 2023-01-10 00:28:23 +01:00
Alexander Todorov
00dd497173 libvirt.sh: Adjust virt-install parameters for 9.2 2023-01-10 00:28:23 +01:00
Alexander Todorov
28a6346d87 ci: Use sudo before localectl
should help resolve:

+ localectl set-locale LANG=en_US.UTF-8
Failed to issue method call: Interactive authentication required.
2023-01-10 00:28:23 +01:00
Alexander Todorov
3b75d032d0 tests: Specify commit for newer osbuild 2023-01-10 00:28:23 +01:00
Alexander Todorov
a8df4879ac Adjust tests for 8.8 and 9.2 2023-01-10 00:28:23 +01:00
Alexander Todorov
29fd2873a1 Enable rhel-8.8 & rhel-9.2 CI runners 2023-01-10 00:28:23 +01:00
Alexander Todorov
b41353f01c Revert "test: Update nightly compose URL to updates URL"
This reverts commit 422e70c8ce because it
breaks nightly CI testing with 8.8 and 9.2.
2023-01-10 00:28:23 +01:00
Gianluca Zuccarelli
5aae10c951 templates/dashboards: update worker queries
The workers now use a new metric to record all
http requests. This commit updates the worker dashboard
to use the new `image_builder_worker_request_count`
query.
2023-01-09 16:52:16 +01:00
Gianluca Zuccarelli
50237e3797 templates/dashboards: update composer queries
osbuild-composer now uses a new metric to record all
http requests. This commit updates the composer dashboard
to use the new `image_builder_composer_request_count`
query.
2023-01-09 16:52:16 +01:00
dependabot[bot]
967b68745d build(deps): bump github.com/theupdateframework/go-tuf
Bumps [github.com/theupdateframework/go-tuf](https://github.com/theupdateframework/go-tuf) from 0.3.1 to 0.3.2.
- [Release notes](https://github.com/theupdateframework/go-tuf/releases)
- [Commits](https://github.com/theupdateframework/go-tuf/compare/v0.3.1...v0.3.2)

---
updated-dependencies:
- dependency-name: github.com/theupdateframework/go-tuf
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 14:46:28 +01:00
Ondřej Budai
b997142db0 common: merge all *ToPtr methods to one generic ToPtr
After introducing Go 1.18 to a project, it's required by law to convert at
least one method to a generic one.

Everyone hates IntToPtr, StringToPtr, BoolToPtr and Uint64ToPtr, so let's
convert them to the ultimate generic ToPtr one.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2023-01-09 14:03:18 +01:00
Ondřej Budai
0359647a82 go.mod: update to Go 1.18
Fedora 35 support was dropped, so we can update to a newer Go.

Stable RHEL 8 and 9 and Fedora 36 ships Go 1.18, so let's switch to it.

"//go:build" directives are now apparently enforced by go fmt, so that's why
there were added.

Also, all the github actions were adjusted to use Go 1.18.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2023-01-09 14:03:18 +01:00
Sanne Raymaekers
6ca12a493d osbuild-worker: add dnf-json error reason to depsolve job error 2023-01-06 13:55:04 +01:00
Ondřej Budai
4bafe1ead9 remove Fedora 35 support
Fedora 35 is going EOL on Tue 2022-12-13. At the time of writing this commit
message, that's the next day. As we do releases on Wednesdays, the next
release will never find its way to F35 and thus, there's no point in keeping
support for it.

Let's delete everything that relates to Fedora 35. If there's something that
cannot be deleted (e.g. CI containers based on F35), let's upgrade it to F37.

TestCrossArchDepsolve now uses CentOS Stream 8 because RHEL 8.4 cannot read
F37 repository metadata. This is a similar issue to
https://bugzilla.redhat.com/show_bug.cgi?id=2004853 . Basically, newer
repositories can be only read by libmodulemd >= 2.11.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2023-01-06 11:34:50 +01:00
Ondřej Budai
8c4689f082 workflows: mark the working directory safe for git
Github actions have a peculiar behaviour: The "job root" directory is owned
by user with ID 1001 whereas many containers (like the Fedora one) run as root
by default. This causes git to freak out because repositories owned by
different users aren't considered safe anymore and must be explicitly allow-
listed.

This becomes a problem when we switch to Go 1.18 because it stamps build with
Git information which fails because the repository technically isn't safe.

Let's fix this by marking the repository as a safe one.

Note that the actions/checkout action has a set-safe-directory feature, but
this one is not permanent. After the action is done, the setting is removed.
See https://github.com/actions/checkout/pull/762

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2023-01-06 11:34:50 +01:00
Ondřej Budai
1f782900f0 tools/koji-composer: add encoding to open()
Newer versions of pylint complain about a missing encoding in the open()
function.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2023-01-06 11:34:50 +01:00
Achilleas Koutsou
d968765c64 Schutzfile: update osbuild version to latest build (v75) 2023-01-05 19:32:25 +01:00