Commit graph

265 commits

Author SHA1 Message Date
Achilleas Koutsou
cdfd305e0f test: update format request map and test manifests 2022-09-20 18:29:28 +02:00
Tomas Hozza
f4aed3e6e2 distro/rhel8: use azure-rhui pkg set and image config for vhd
Extract the non-RHUI specific package set and image configuration into a
common definitions, which will be used by both image types.

Redefine the package sets and default image configuration used by both
image types to inherit from a common definition.

Regenerate image manifests for RHEL-8 / c8s `vhd` and `azure-rhui`
images.

There is no change in the resulting manifest for the `azure-rhui` image
type. However there are substantial changes to the `vhd` image
definition, which is now almost identical to the `azure-rhui` image
type, to provide consistent experience regardless if using RHUI or not.

The default partition table used by the `vhd` image type has been kept
as it was before, since there is yet no consensus on what size to
standardize for both image types.
2022-09-15 08:50:33 +02:00
Tomas Hozza
b4abacbaa2 distro/rhel9: use azure-rhui pkg set and image config for vhd
Extract the non-RHUI specific package set and image configuration into a
common definitions, which will be used by both image types.

Redefine the package sets and default image configuration used by both
image types to inherit from a common definition.

Regenerate image manifests for RHEL-9 / c9s `vhd` and `azure-rhui`
images.

There is no change in the resulting manifest for the `azure-rhui` image
type. However there are substantial changes to the `vhd` image
definition, which is now almost identical to the `azure-rhui` image
type, to provide consistent experience regardless if using RHUI or not.

The default partition table used by the `vhd` image type has been kept
as it was before, since there is yet no consensus on what size to
standardize for both image types.
2022-09-15 08:50:33 +02:00
Achilleas Koutsou
1d3b0a653e test: update manifests 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
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
fkolwa
1d9ee1adda test/data/manifests: regenerate test cases RHEL+CentOS 8,9 2022-08-30 22:21:29 +02: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
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
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
Jakub Rusz
e0d092538d distro/rhel8+9: exclude qemu-guest-agent package in ec2 and gce images
Related RHBZ#2075815
2022-08-01 13:16:05 +02:00
Jakub Rusz
3b4ace9987 distro/rhel90: exclude dracut-config-rescue package in ec2 images
Related RHBZ#2064087
2022-08-01 13:16:05 +02:00
Christian Kellner
e3de1d03c0 distro/rhel7: blacklist skx_edac,intel_cstate kernel modules on azure
This was done in RHEL 8, 9 but RHEL 7 was not yet merged so this was
missed there. See e.g. 5c1530ee53
2022-07-28 17:00:11 +01:00
Achilleas Koutsou
dc95382ba3 rhel90: add kernel modules for iso
These modules are on the official RHEL 9.0 ISO.  Adding them for feature
parity.
2022-07-28 10:12:17 +02:00
Achilleas Koutsou
02bb7a0b4f rhel90: add dracut modules for iso
The nvdimm module is required for booting the image via UEFI HTTP.

The rest are added for feature parity with the official RHEL 9.0 ISO.

Fixes rhbz#2030730
2022-07-28 10:12:17 +02:00
Achilleas Koutsou
93592dabc1 test: regenerate manifests 2022-07-27 18:29:59 +02:00
Achilleas Koutsou
2b6faea320 Remove image info from all test manifests
We never generated it for the newest distro versions and we don't test
it on any of the old ones.

It's better this way.
2022-07-27 10:01:16 +02:00
Alexander Todorov
63a4ae7626 Update fedora-36 manifests 2022-07-21 12:19:38 +03:00
Ondřej Budai
3e25f5ef76 remove all traces of fedora 34
Fedora 34 is EOL, let's remove all traces of it, including:

- distro definition
- repositories (and test one)
- test manifests
- special package set rules
- hacks from the spec file

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2022-07-18 20:38:33 +02:00
Jakub Rusz
e500bfbd6f test/manifests: renegerate fedora-35 manifests 2022-07-14 12:00:50 +03:00
Tom Gundersen
6ae65f1951 test/data/manifests: regenerate to drop build packages
With the more fine-grained build package set, different images will use
different build pipelines and each of them will be smaller.

We don't currently cache build pipelines so there is no downside to this. Even
when we start caching the difference between having one build pipeline per
image and one shared one is minimal at scale. This will still benefit users
doing one-off builds on-prem.

Most importantly, this tracks things correctly, making pipelines more
composable without having to maintain a global list of dependencies.
2022-07-12 08:19:57 +01:00
Achilleas Koutsou
f176326b71 test: update RHEL 8.4 manifests and image info
Regenerated all RHEL 8.4 manifests and image info with new definitions.
Edge image types renamed from `rhel-edge-*` to `edge-*`.
2022-07-08 09:30:34 +01:00
Achilleas Koutsou
a8b0a5f0bd test: convert all RHEL 8.4 v1 manifests to v2
Converted by loading them through the manifest parser in osbuild and
formatting them through v2 before dumping.
These are not the "real" manifests that osbuild-composer would generate,
but they will make it a tiny bit easier to compare and detect changes in
the distro definition when it's moved to the common rhel8 package.
2022-07-08 09:30:34 +01:00
fkolwa
14fd1fe279 Update RHEL90-91 repo config and and 9.1 test cases 2022-07-07 14:28:59 +02:00
Tom Gundersen
39c3d6ec35 manifest/os: move fs tool selection into the pipeline
Always include the tools for all the filesystem types in the partition table. There may be
usecases for having additional ones, for instance if the partition table is not known, but
this gives us a minimal baseline.

This includes dosfstools in images that have a vfat partition but did not include the tools.
2022-07-07 12:00:56 +01:00
Tom Gundersen
03fc2d5bfd distro/fedora: install kernel and bootloader in ostree commits
This is a partial revert of 006c5b26, where kernel settings and bootloaders were only
installed on bootable systems.

However, ostree-based systems need the ability to pick up kernels and bootloaders from
the commit to install on the instance, so make this conditional on being bootable or an
ostree commit. This is probably an indication that we need a different abstraction.
2022-07-05 22:39:40 +01:00
Tom Gundersen
a45caf5756 distro/fedora: image type should be more specific than arch
Currently an image type could override the boot loader in the architecture, but we should
not allow an image type to select a bootloader type the architecture does not support. So
only in case the architecture supports hybrid boot do we allow the image type to select
one of the two types.

This enables UEFI on AMIs for aarch64.
2022-07-05 22:39:40 +01:00
Tom Gundersen
ba31887ff2 fedora/pipelines/os: minor refactoring
Collect partition tables / boot loaders / kernels together and
make them conditional on the system being bootable.

As a side-effect, we no longer install the grub2 modules in ostree commits.
2022-07-05 12:15:50 +02:00
Tom Gundersen
b0b5a48c5f manifest/os: don't change the name based on ostree or not
Let the name reflect the pipeline type, and keep it the same whether or not
the contents is meant to be an OSTree commit or not.
2022-07-05 12:15:50 +02:00
Tom Gundersen
83e2060976 distro/fedora: drop package set name translations
No longer name the packageSetChains after the package set, but
keep them named after the pipelines. This should be a
non-functional change as dnf-json does not care about what the
chains are called, only that the names are unique.
2022-07-04 23:04:29 +01:00
Tom Gundersen
e6bc7dea18 manifests/fedora36/qcow2: regenerate with correct config
The current ones did not have the 'core' compsgroup set. Unsure how
this could happen.
2022-07-04 23:04:29 +01:00
Tom Gundersen
d8f540c5cf distro/fedora/iotInstaller: drop unused package set
The IoT installer does not use the iotCommit package set. Drop it.
2022-07-04 23:04:29 +01:00
Achilleas Koutsou
8676d3342d manifests: generate rhel-8
Manifests for rhel-8 (without minor version).  These are identical to
rhel-86.
2022-07-01 23:52:13 +01:00
Achilleas Koutsou
909d9de89e manifests: regenerate RHEL 8.6 customised qcow2 for ppc64le and s390x
They were missing the core group in the compose request.
2022-07-01 23:52:13 +01:00