diff --git a/build_library/release_util.sh b/build_library/release_util.sh index c1e518c7cd..faa84425f3 100644 --- a/build_library/release_util.sh +++ b/build_library/release_util.sh @@ -101,7 +101,7 @@ compress_disk_images() { # We want to compress images, but we also want to remove the uncompressed files # from the list of uploadable files. for filename in "${local_files_to_evaluate[@]}"; do - if [[ "${filename}" =~ \.(img|bin|vdi|vhd|vhdx|vmdk)$ ]]; then + if [[ "${filename}" =~ \.(img|bin|vdi|vhd|vhdx|vmdk|qcow[2]?)$ ]]; then # Parse the formats as an array. This will yield an extra empty # array element at the end. readarray -td, FORMATS<<<"${FLAGS_image_compression_formats}," diff --git a/build_library/vm_image_util.sh b/build_library/vm_image_util.sh index 214bc2d179..9a6e89df1f 100644 --- a/build_library/vm_image_util.sh +++ b/build_library/vm_image_util.sh @@ -110,6 +110,9 @@ IMG_DEFAULT_FS_HOOK= # May be raw, qcow2 (qemu), or vmdk (vmware, virtualbox) IMG_DEFAULT_DISK_FORMAT=raw +# Extension to set before the compression extension. +IMG_DEFAULT_DISK_EXTENSION= + # Name of the partition layout from disk_layout.json IMG_DEFAULT_DISK_LAYOUT=base @@ -310,6 +313,7 @@ IMG_scaleway_DISK_LAYOUT=vm IMG_scaleway_OEM_PACKAGE=common-oem-files IMG_scaleway_OEM_USE=scaleway IMG_scaleway_OEM_SYSEXT=oem-scaleway +IMG_scaleway_DISK_EXTENSION=qcow2 ########################################################### @@ -421,6 +425,11 @@ _dst_path() { # Get the proper disk format extension. _disk_ext() { local disk_format=$(_get_vm_opt DISK_FORMAT) + local disk_extension=$(_get_vm_opt DISK_EXTENSION) + if [[ -n ${disk_extension} ]]; then + echo "${disk_extension}" + return 0 + fi case ${disk_format} in raw) echo bin;; qcow2) echo img;; diff --git a/changelog/changes/2024-04-24-scaleway.md b/changelog/changes/2024-04-24-scaleway.md new file mode 100644 index 0000000000..aa69be0413 --- /dev/null +++ b/changelog/changes/2024-04-24-scaleway.md @@ -0,0 +1 @@ +- Scaleway: images are now provided directly as `.qcow2` to ease the import on Scaleway ([scripts#1953](https://github.com/flatcar/scripts/pull/1953)) diff --git a/ci-automation/vms.sh b/ci-automation/vms.sh index 33e655fefe..02754fa3eb 100644 --- a/ci-automation/vms.sh +++ b/ci-automation/vms.sh @@ -138,6 +138,8 @@ function _vm_build_impl() { COMPRESSION_FORMAT="bz2,none" elif [[ "${format}" =~ ^(hyperv|hyperv_vhdx)$ ]];then COMPRESSION_FORMAT="zip" + elif [[ "${format}" =~ ^(scaleway)$ ]];then + COMPRESSION_FORMAT="none" fi ./run_sdk_container -n "${vms_container}" -C "${packages_image}" \ -v "${vernum}" \