Commit Graph

12 Commits

Author SHA1 Message Date
Debarshi Ray
e44856603d teams/cloud/container: Install languages & weak dependencies for Toolbx
The Container/Dockerfile and Kickstart equivalents of the fedora-toolbox
OCI images installed all locale definitions, translations, and weak
dependencies (barring exceptions) [1,2].  In fact, the Containerfile
tried very hard to restore any content that was stripped out by the
fedora base image.  Hence, the KIWI descriptions should do the same.

Sometimes, like in the case of the gawk and gawk-all-langpacks RPMs,
skipping weak dependencies also strips out translations.

The Kickstart files did this by decoupling fedora-container-common.ks
from fedora-container-common.ks [3], and this is the KIWI equivalent of
the same change.

The separate 'packages' elements of types 'bootstrap' and 'image' [4]
are no longer needed and have been fused into one.  This avoids the need
to specify the 'ignore' child elements separately.

This change has two workarounds that deserve mention.

First, enabling weak dependencies for the packages that used to come
from the ContainerCore profile pulls in systemd, and config.xml
specifies a keytable for all the KIWI descriptions.  These two combined
makes KIWI try to set the keymap/keytable using systemd-firstboot(1),
and it fails the build with:
  [ INFO    ]: Setting up keytable:
  [ DEBUG   ]: EXEC: [chroot /path/to/image-root systemd-firstboot --help]
  [ DEBUG   ]: EXEC: [chroot /path/to/image-root systemd-firstboot --keymap=us]
  [ DEBUG   ]: EXEC: Failed with stderr: Keymap us is not installed.
  , stdout: (no output on stdout)
  [ ERROR   ]: KiwiCommandError: chroot: stderr: Keymap us is not installed.
  , stdout: (no output on stdout)

This has been worked around by making the keymaps available during the
image build through the kbd-misc RPM, which is later uninstalled.

Second, KIWI isn't passing the 'ignore' child elements to DNF [5], and
hence they currently have no effect.  This has been worked around by
uninstalling the RPMs later.

Some noteworthy changes in the list of RPMs in the fedora-toolbox image
after this change:
   ...
  +gawk-all-langpacks-5.3.0-3.fc40.x86_64
   ...
  -glibc-2.39.9000-5.fc41.i686
  -glibc-gconv-extra-2.39.9000-5.fc41.i686
  -glibc-minimal-langpack-2.39.9000-5.fc41.x86_64
   ...
  -libgcc-14.0.1-0.8.fc41.i686
   ...
  +python-unversioned-command-3.12.2-2.fc41.noarch

They are all in line with the latest Kickstart equivalent of the image.

[1] https://src.fedoraproject.org/container/fedora-toolbox
    https://github.com/containers/toolbox/tree/main/images/fedora

[2] https://pagure.io/fedora-kickstarts/blob/main/f/fedora-container-toolbox.ks

[3] fedora-kickstarts commit 30f76d387d9e7f5c
    https://pagure.io/fedora-kickstarts/c/30f76d387d9e7f5c
    https://pagure.io/fedora-kickstarts/pull-request/1002

[4] https://osinside.github.io/kiwi/concept_and_workflow/packages.html

[5] https://github.com/OSInside/kiwi/issues/2499

https://pagure.io/fedora-kiwi-descriptions/pull-request/21
2024-03-11 15:27:09 +01:00
Neal Gompa
0becdd4d43 teams/cloud/container, tmt: Build the container images as OCI images
This incorporates the labels that are expected for Fedora images.
2024-03-06 17:41:28 -05:00
Neal Gompa
31d0b2a70f teams/cloud/cloud: Bump the Google Cloud image to 10G
Anything lower than that causes performance problems.
2024-03-06 13:51:35 -05:00
Neal Gompa
b558e172c1 Install fedora-release-* at bootstrap phase for various images
This ensures that the correct variant packages are installed.
2024-03-04 20:18:11 -05:00
Neal Gompa
12275dff55 Add ppc64le variant for Cloud-Base-Generic
This allows building cloud images for POWER systems.
2024-02-24 14:57:26 -05:00
Neal Gompa
3ac0ae9240 teams/cloud: Define compatible architectures for existing profiles
Most of the Fedora Cloud-owned profiles are limited to a subset of
architectures, generally x86_64 and aarch64 (with the exception of
the VirtualBox Vagrant image, which is x86_64 only).
2024-02-24 14:57:26 -05:00
Neal Gompa
7cc5101bcc Rename MATE desktop snippets from MATE-Compiz to MATE
This prepares for the future change to another compositor with Wayland.
2024-02-24 14:29:39 -05:00
Neal Gompa
7235c1e6f4 teams/cloud: Reformat profile image types for readability
This makes it easier to read what all the settings are.
2024-02-23 05:15:15 -05:00
Jeremy Cline
9322f54b49 azure: install the hyperv-daemons package
This pulls in a number of services to integrate a guest running under
Hyper-V. These services are all automatically activated via udev rules.
2024-02-23 00:31:35 +00:00
Jeremy Cline
83a43059d3 azure: support accelerated networking feature
Azure provides an optional "Accelerated Networking" feature. Enabling
this feature when creating a VM enables SR-IOV and provides the guest
with a virtual function.

Supporting this requires two changes. Firstly, the kernel-modules
package is required as it contains the Mellanox drivers required for the
VF provided to the guest. Secondly, the interface needs to be ignored by
NetworkManager or it'll try and fail to bring up the device and the VM
will be unreachable except by serial console. If this is observed, it's
likely new hardware has been deployed and additional drivers need to be
added to the NetworkManager config.

See https://learn.microsoft.com/en-us/azure/virtual-network/accelerated-networking-overview
for details.
2024-02-23 00:31:35 +00:00
Jeremy Cline
d9584ccd70 azure: ensure early boot messages are directed to the serial console
In the event that there's an issue with early boot, setting
earlyprintk=ttyS0 ensures that the messages are routed to the serial
console so it can be debugged.

This particular option is documented as required in the Azure VM
certification FAQ[0].

[0] https://learn.microsoft.com/en-us/partner-center/marketplace/azure-vm-certification-faq#linux-test-cases
2024-02-23 00:31:35 +00:00
Neal Gompa
7497716476 Reorganize configuration around Fedora teams
This realigns the configuration into separate files/folders that
would be modified by specific teams (e.g. WGs and SIGs).
2024-02-22 19:15:21 -05:00