The Flatcar extensions get built by the GitHub PR CI but only their
content files get archived. Add the .raw image itself so that one can
copy it into the image (downloading it at boot time won't work because
this uses bincache - so one could get an extension image in case the but
version happens to match but it won't be the one that was built in the
GitHub CI).
As Ignition supports KubeVirt, add a custom oem for it and also the
required parts to be able to build an image in .qcow2 format that
is already using internal .qcow2 gzip compression.
Fixes: https://github.com/flatcar/Flatcar/issues/1358
Signed-off-by: Adrian Vladu <avladu@cloudbasesolutions.com>
For importing Scaleway images, extension needs to be '.qcow2'
See: https://www.scaleway.com/en/docs/compute/instances/how-to/snapshot-import-export-feature/
> Make sure that the QCOW / QCOW2 image file you want to import,
> uses the file extension .qcow or .qcow2 to avoid issues while importing the image.
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
This variable allows to override the disk extension which is initially
based on the DISK_FORMAT.
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
The OEM partition is on a btrfs file system and grub has to be able to
read grub.cfg from there so it makes sense to include btrfs in core
modules. This avoids all other fs modules from being autoloaded during
boot.
Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
In the context of load.cfg in the memdisk, root is set to memdisk, so
passing it as a hint to search is not helpful. While we don't know for
sure whether hd0 is the boot disk, it's a safe hint for most situations.
Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
This is a new package that is being developed to handle providing
symlinks for nvme disks (os,data,temporary) on newer Azure instances.
It needs to be part of the OS, and not oem-azure, because it carries
udev rules.
Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
Flatcar prepares /etc/hostname from the initrd through afterburn. After
switching root, systemd-networkd fetches a dhcp lease with the correct
hostname already. This publishes the hostname to the vnet DNS server as
well. When WALinuxAgent starts, it tries to do the same steps: configure
the hostname, bounce the link to force dhcp lease renewal. This has
caused issues in the past with multi-nic configurations but also with
networked services that are trying to use the network (etcd/flanneld).
The link bouncing by WALinuxAgent is not necessary because of Flatcars
boot design, so return without bouncing the link. Tested that DNS from
other VMs in the same vnet works.
Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
When CoreosCommonUtil was factored out, we missed updating the class
name in a call to super(). This results in an error when executing
`/usr/sbin/waagent -force -deprovision+user`. Fix the class name.
Create a compatibility symlink at the old config file location
(/usr/share/oem/waagent.conf) to handle the case of enabling
auto-updates on the agent. The upstream version of the agent does not
have our downstream patch so doesn't know about the updated config file
location. We should upstream our changes.
Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
In case of sysext of zfs-kmod, pkg_setup() calls linux-info_get_any_version()
of eclass/linux-info.eclass with MERGE_TYPE=binary and
LINUX_INFO_BINARY_RESET=0. That results in KV_FULL and KV_OUT_DIR being
unset, which is not what we want. So set LINUX_INFO_BINARY_RESET=1 to
avoid such side effect.
Without setting them, build_sysext complains like below, i.e. it tries to find
System.map of a wrong Kernel version 6.6.21, when it should find a newer
version like 6.6.23. That results in subsequent zfs CI tests failing due to
missing files like System.map and module deps.
```
System.map for kernel 6.6.21-flatcar was not found, may be due to the
built kernel sources no longer being available and lacking the fallback:
```
Suggested-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>