mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-21 21:51:57 +02:00
vm_image_util: add support for VMDK images for EC2 AMIs
Lets us avoid larger data transfers when importing images.
This commit is contained in:
parent
5181e6b71c
commit
12c53080a4
@ -7,6 +7,7 @@
|
||||
|
||||
VALID_IMG_TYPES=(
|
||||
ami
|
||||
ami_vmdk
|
||||
pxe
|
||||
iso
|
||||
openstack
|
||||
@ -171,6 +172,9 @@ IMG_vmware_insecure_OEM_PACKAGE=oem-vagrant-key
|
||||
## ami
|
||||
IMG_ami_OEM_PACKAGE=oem-ec2-compat
|
||||
IMG_ami_OEM_USE=ec2
|
||||
IMG_ami_vmdk_DISK_FORMAT=vmdk_stream
|
||||
IMG_ami_vmdk_OEM_PACKAGE=oem-ec2-compat
|
||||
IMG_ami_vmdk_OEM_USE=ec2
|
||||
|
||||
## openstack, supports ec2's metadata format so use oem-ec2-compat
|
||||
IMG_openstack_DISK_FORMAT=qcow2
|
||||
@ -236,7 +240,7 @@ IMG_secure_demo_DISK_FORMAT=secure_demo
|
||||
IMG_secure_demo_CONF_FORMAT=qemu_uefi
|
||||
|
||||
## niftycloud
|
||||
IMG_niftycloud_DISK_FORMAT=vmdk_scsi
|
||||
IMG_niftycloud_DISK_FORMAT=vmdk_stream
|
||||
IMG_niftycloud_DISK_LAYOUT=vm
|
||||
IMG_niftycloud_CONF_FORMAT=niftycloud
|
||||
IMG_niftycloud_OEM_PACKAGE=oem-niftycloud
|
||||
@ -340,6 +344,7 @@ _disk_ext() {
|
||||
cpio) echo cpio.gz;;
|
||||
vmdk_ide) echo vmdk;;
|
||||
vmdk_scsi) echo vmdk;;
|
||||
vmdk_stream) echo vmdk;;
|
||||
secure_demo) echo bin;;
|
||||
*) echo "${disk_format}";;
|
||||
esac
|
||||
@ -456,6 +461,16 @@ _write_vmdk_scsi_disk() {
|
||||
assert_image_size "$2" vmdk
|
||||
}
|
||||
|
||||
_write_vmdk_stream_disk() {
|
||||
# requires two pass conversion, qemu-img doesn't properly support the
|
||||
# stream-optimized VMDK format. The special vmdk-convert tool only takes
|
||||
# VMDK images as an import format.
|
||||
local tmpvmdk="${VM_TMP_DIR}/tmp.vmdk"
|
||||
qemu-img convert -f raw "$1" -O vmdk -o adapter_type=lsilogic "${tmpvmdk}"
|
||||
vmdk-convert "${tmpvmdk}" "$2"
|
||||
assert_image_size "$2" vmdk
|
||||
}
|
||||
|
||||
_write_cpio_common() {
|
||||
local cpio_target="${VM_TMP_DIR}/rootcpio"
|
||||
local dst_dir=$(_dst_dir)
|
||||
@ -876,9 +891,6 @@ _write_niftycloud_conf() {
|
||||
local dst_dir=$(dirname "$VM_DST_IMG")
|
||||
local ovf="${dst_dir}/$(_src_to_dst_name "${src_name}" ".ovf")"
|
||||
|
||||
vmdk-convert ${VM_DST_IMG} ${VM_TMP_DIR}/vm.vmdk
|
||||
mv ${VM_TMP_DIR}/vm.vmdk ${VM_DST_IMG}
|
||||
|
||||
"${BUILD_LIBRARY_DIR}/niftycloud_ovf.sh" \
|
||||
--vm_name "$VM_NAME" \
|
||||
--disk_vmdk "$VM_DST_IMG" \
|
||||
|
Loading…
x
Reference in New Issue
Block a user