mirror of
https://github.com/flatcar/scripts.git
synced 2025-11-29 06:21:46 +01:00
Make image compression format configurable
This change adds a new flag called --image_compression_format which allows us to output the final VM image as one of the supported formats: bz2 (default), gz, zip or none if the compression format is "none" or "", the image will not be compressed. Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
This commit is contained in:
parent
05ae47afd7
commit
571de4064b
@ -7,6 +7,7 @@ UPLOAD_ROOT=
|
|||||||
UPLOAD_PATH=
|
UPLOAD_PATH=
|
||||||
TORCX_UPLOAD_ROOT=
|
TORCX_UPLOAD_ROOT=
|
||||||
UPLOAD_DEFAULT=${FLAGS_FALSE}
|
UPLOAD_DEFAULT=${FLAGS_FALSE}
|
||||||
|
DEFAULT_IMAGE_COMPRESSION_FORMAT="bz2"
|
||||||
|
|
||||||
# Default upload root can be overridden from the environment.
|
# Default upload root can be overridden from the environment.
|
||||||
_user="${USER}"
|
_user="${USER}"
|
||||||
@ -15,9 +16,6 @@ _user="${USER}"
|
|||||||
: ${FLATCAR_TORCX_UPLOAD_ROOT:=${FLATCAR_UPLOAD_ROOT}/torcx}
|
: ${FLATCAR_TORCX_UPLOAD_ROOT:=${FLATCAR_UPLOAD_ROOT}/torcx}
|
||||||
unset _user
|
unset _user
|
||||||
|
|
||||||
IMAGE_ZIPPER="lbzip2 --compress --keep"
|
|
||||||
IMAGE_ZIPEXT=".bz2"
|
|
||||||
|
|
||||||
DEFINE_boolean parallel ${FLAGS_TRUE} \
|
DEFINE_boolean parallel ${FLAGS_TRUE} \
|
||||||
"Enable parallelism in gsutil."
|
"Enable parallelism in gsutil."
|
||||||
DEFINE_boolean upload ${UPLOAD_DEFAULT} \
|
DEFINE_boolean upload ${UPLOAD_DEFAULT} \
|
||||||
@ -42,6 +40,38 @@ DEFINE_string sign "" \
|
|||||||
"Sign all files to be uploaded with the given GPG key."
|
"Sign all files to be uploaded with the given GPG key."
|
||||||
DEFINE_string sign_digests "" \
|
DEFINE_string sign_digests "" \
|
||||||
"Sign image DIGESTS files with the given GPG key."
|
"Sign image DIGESTS files with the given GPG key."
|
||||||
|
DEFINE_string image_compression_format "${DEFAULT_IMAGE_COMPRESSION_FORMAT}" \
|
||||||
|
"Compress the resulting images using this format. Options are: none, bz2, gz, zip"
|
||||||
|
|
||||||
|
|
||||||
|
compress_file() {
|
||||||
|
local filepath="$1"
|
||||||
|
|
||||||
|
[ ! -f "${filepath}" ] && die "Image file ${filepath} does not exist"
|
||||||
|
|
||||||
|
case "${FLAGS_image_compression_format}" in
|
||||||
|
"none"|"")
|
||||||
|
echo -n "${filepath}"
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
"bz2")
|
||||||
|
IMAGE_ZIPPER="lbzip2 --compress --keep"
|
||||||
|
;;
|
||||||
|
"gz")
|
||||||
|
IMAGE_ZIPPER="pigz --keep"
|
||||||
|
;;
|
||||||
|
"zip")
|
||||||
|
IMAGE_ZIPPER="pigz --keep --zip"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
die "Unsupported compression format ${FLAGS_image_compression_format}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
${IMAGE_ZIPPER} -f "${filepath}" 2>&1 >/dev/null || die "failed to compress ${filepath}"
|
||||||
|
|
||||||
|
echo -n "${filepath}.${FLAGS_image_compression_format}"
|
||||||
|
}
|
||||||
|
|
||||||
check_gsutil_opts() {
|
check_gsutil_opts() {
|
||||||
[[ ${FLAGS_upload} -eq ${FLAGS_TRUE} ]] || return 0
|
[[ ${FLAGS_upload} -eq ${FLAGS_TRUE} ]] || return 0
|
||||||
@ -217,8 +247,8 @@ upload_image() {
|
|||||||
# Compress disk images
|
# Compress disk images
|
||||||
if [[ "${filename}" =~ \.(img|bin|vdi|vhd|vmdk)$ ]]; then
|
if [[ "${filename}" =~ \.(img|bin|vdi|vhd|vmdk)$ ]]; then
|
||||||
info "Compressing ${filename##*/}"
|
info "Compressing ${filename##*/}"
|
||||||
$IMAGE_ZIPPER -f "${filename}"
|
COMPRESSED_FILENAME=$(compress_file "${filename}")
|
||||||
uploads+=( "${filename}${IMAGE_ZIPEXT}" )
|
uploads+=( "$COMPRESSED_FILENAME" )
|
||||||
else
|
else
|
||||||
uploads+=( "${filename}" )
|
uploads+=( "${filename}" )
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -1227,7 +1227,9 @@ vm_upload() {
|
|||||||
|
|
||||||
# If upload_images compressed $legacy_uploaded be sure to add .bz2
|
# If upload_images compressed $legacy_uploaded be sure to add .bz2
|
||||||
if [[ "${legacy_uploaded}" =~ \.(img|bin|vdi|vhd|vmdk)$ ]]; then
|
if [[ "${legacy_uploaded}" =~ \.(img|bin|vdi|vhd|vmdk)$ ]]; then
|
||||||
legacy_uploaded+="${IMAGE_ZIPEXT}"
|
if ! [[ "${FLAGS_image_compression_format}" =~ ^(""|none)$ ]]; then
|
||||||
|
legacy_uploaded+=".${FLAGS_image_compression_format}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local legacy_digests="${legacy_uploaded}.DIGESTS"
|
local legacy_digests="${legacy_uploaded}.DIGESTS"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user