From 6efe345d89ec566abfdb0e384f2fbedc099083ff Mon Sep 17 00:00:00 2001 From: Adrian Vladu Date: Mon, 29 Apr 2024 09:50:45 +0300 Subject: [PATCH] image: add kubevirt image build 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 --- build_library/vm_image_util.sh | 10 ++++++++++ changelog/changes/2024-04-29-kubevirt-images.md | 1 + .../afterburn/files/coreos-metadata.service | 2 ++ ...s-0-r7.ebuild => common-oem-files-0-r8.ebuild} | 1 + .../coreos-base/oem-kubevirt/metadata.xml | 4 ++++ .../oem-kubevirt/oem-kubevirt-0.ebuild | 15 +++++++++++++++ .../sys-kernel/bootengine/bootengine-9999.ebuild | 2 +- 7 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 changelog/changes/2024-04-29-kubevirt-images.md rename sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/{common-oem-files-0-r7.ebuild => common-oem-files-0-r8.ebuild} (99%) create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-kubevirt/metadata.xml create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-kubevirt/oem-kubevirt-0.ebuild diff --git a/build_library/vm_image_util.sh b/build_library/vm_image_util.sh index 9a6e89df1f..1b61232e6b 100644 --- a/build_library/vm_image_util.sh +++ b/build_library/vm_image_util.sh @@ -19,6 +19,7 @@ VALID_IMG_TYPES=( hyperv hyperv_vhdx iso + kubevirt openstack openstack_mini packet @@ -51,6 +52,7 @@ VALID_OEM_PACKAGES=( gce hetzner hyperv + kubevirt openstack packet qemu @@ -315,6 +317,14 @@ IMG_scaleway_OEM_USE=scaleway IMG_scaleway_OEM_SYSEXT=oem-scaleway IMG_scaleway_DISK_EXTENSION=qcow2 +## kubevirt +IMG_kubevirt_DISK_FORMAT=qcow2 +IMG_kubevirt_DISK_LAYOUT=vm +IMG_kubevirt_OEM_PACKAGE=common-oem-files +IMG_kubevirt_OEM_USE=kubevirt +IMG_kubevirt_OEM_SYSEXT=oem-kubevirt +IMG_kubevirt_DISK_EXTENSION=qcow2 + ########################################################### # Print the default vm type for the specified board diff --git a/changelog/changes/2024-04-29-kubevirt-images.md b/changelog/changes/2024-04-29-kubevirt-images.md new file mode 100644 index 0000000000..48e9b88914 --- /dev/null +++ b/changelog/changes/2024-04-29-kubevirt-images.md @@ -0,0 +1 @@ +- Added KubeVirt qcow2 image for amd64/arm64 ([flatcar/scripts#1962](https://github.com/flatcar/scripts/pull/1962)) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata.service index 1081c1fc33..439a48bf1a 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata.service +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata.service @@ -21,6 +21,8 @@ ConditionKernelCommandLine=|flatcar.oem.id=scaleway ConditionKernelCommandLine=|flatcar.oem.id=hetzner +ConditionKernelCommandLine=|flatcar.oem.id=kubevirt + Description=Flatcar Metadata Agent [Service] diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r7.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r8.ebuild similarity index 99% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r7.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r8.ebuild index d2fae08320..705942df0d 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r7.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r8.ebuild @@ -36,6 +36,7 @@ COMMON_OEMIDS=( packet qemu scaleway + kubevirt ) ARM64_ONLY_OEMIDS=( diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-kubevirt/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-kubevirt/metadata.xml new file mode 100644 index 0000000000..097975e3ad --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-kubevirt/metadata.xml @@ -0,0 +1,4 @@ + + + + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-kubevirt/oem-kubevirt-0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-kubevirt/oem-kubevirt-0.ebuild new file mode 100644 index 0000000000..d1db3eb58d --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-kubevirt/oem-kubevirt-0.ebuild @@ -0,0 +1,15 @@ +# Copyright (c) 2013 CoreOS, Inc.. All rights reserved. +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="OEM suite for KubeVirt" +HOMEPAGE="https://kubevirt.io/" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 arm64" +IUSE="" + +OEM_NAME="KubeVirt" diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-9999.ebuild index 8035a33f1b..cf8cb1db54 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-9999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-9999.ebuild @@ -10,7 +10,7 @@ CROS_WORKON_REPO="https://github.com" if [[ "${PV}" == 9999 ]]; then KEYWORDS="~amd64 ~arm ~arm64 ~x86" else - CROS_WORKON_COMMIT="78d94b311ddb047b280c5ee180410b48ec04ea39" # flatcar-master + CROS_WORKON_COMMIT="8da532c809c89a9c434ada0fa9532a1c1bf49f4c" # flatcar-master KEYWORDS="amd64 arm arm64 x86" fi