diff --git a/build_library/vm_image_util.sh b/build_library/vm_image_util.sh index 9c4a7b242be..21e4591d8b4 100644 --- a/build_library/vm_image_util.sh +++ b/build_library/vm_image_util.sh @@ -187,7 +187,8 @@ IMG_cloudstack_vhd_OEM_SYSEXT=cloudstack IMG_digitalocean_OEM_SYSEXT=digitalocean ## exoscale -IMG_exoscale_DISK_FORMAT=qcow2 +IMG_exoscale_DISK_FORMAT=exoscale +IMG_exoscale_DISK_EXTENSION=qcow2 IMG_exoscale_OEM_SYSEXT=exoscale ## azure @@ -477,6 +478,15 @@ _write_qcow2_disk() { assert_image_size "$2" qcow2 } +_write_exoscale_disk() { + qemu-img convert -f raw "$1" -O qcow2 -c -o compat=0.10 "$2" + # Exoscale images should be exactly 10G. This is the minimum for + # Custom Templates, and it also can't be any larger because it + # would prevent creation of an instance with the 10G disk size option. + qemu-img resize "$2" 10G + assert_image_size "$2" qcow2 +} + _write_vhd_disk() { qemu-img convert -f raw "$1" -O vpc -o force_size "$2" assert_image_size "$2" vpc diff --git a/changelog/changes/2026-06-06-fix-exoscale-image.md b/changelog/changes/2026-06-06-fix-exoscale-image.md new file mode 100644 index 00000000000..a68d31a28b4 --- /dev/null +++ b/changelog/changes/2026-06-06-fix-exoscale-image.md @@ -0,0 +1 @@ + - Exoscale: images are now built as 10G .qcow2 so they can be directly used with Exoscale Custom Templates ([scripts#4075](https://github.com/flatcar/scripts/pull/4075)) diff --git a/ci-automation/vms.sh b/ci-automation/vms.sh index 55a872d6eba..3af954ff0c8 100644 --- a/ci-automation/vms.sh +++ b/ci-automation/vms.sh @@ -137,7 +137,7 @@ function _vm_build_impl() { COMPRESSION_FORMAT="bz2,none" elif [[ "${format}" =~ ^(hyperv|hyperv_vhdx)$ ]];then COMPRESSION_FORMAT="zip" - elif [[ "${format}" =~ ^(scaleway|kubevirt|proxmoxve|stackit)$ ]];then + elif [[ "${format}" =~ ^(scaleway|kubevirt|proxmoxve|stackit|exoscale)$ ]];then COMPRESSION_FORMAT="none" elif [[ "${format}" =~ ^(akamai)$ ]];then COMPRESSION_FORMAT="gz"