From 0cb0cbf71e78ef43faf52d7a7b86490012dc1a3d Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Mon, 7 Oct 2013 11:31:58 -0700 Subject: [PATCH] feat(image_to_vm): Add minimal GCE support. Simply rolls our disk image into a tarball that can be passed to gcutil. To actually be useful we need an OEM package to handle SSH keys. --- build_library/vm_image_util.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/build_library/vm_image_util.sh b/build_library/vm_image_util.sh index db157004ec..2a0828a44f 100644 --- a/build_library/vm_image_util.sh +++ b/build_library/vm_image_util.sh @@ -17,6 +17,7 @@ VALID_IMG_TYPES=( vmware vmware_insecure xen + gce ) # Set at runtime to one of the above types @@ -110,6 +111,9 @@ IMG_pxe_PARTITIONED_IMG=0 IMG_pxe_CONF_FORMAT=pxe IMG_pxe_OEM_PACKAGE=oem-pxe +## gce, image tarball +IMG_gce_CONF_FORMAT=gce + ## rackspace # TODO: package doesn't exist yet IMG_rackspace_OEM_PACKAGE=oem-rackspace @@ -695,6 +699,16 @@ EOF VM_GENERATED_FILES=( "${box}" "${VM_README}" ) } +_write_gce_conf() { + local src_name=$(basename "$VM_SRC_IMG") + local dst_dir=$(dirname "$VM_DST_IMG") + local tar_path="${dst_dir}/$(_src_to_dst_name "${src_name}" ".tar.gz")" + + mv "${VM_DST_IMG}" "${VM_TMP_DIR}/disk.raw" + tar -czf "${tar_path}" -C "${VM_TMP_DIR}" "disk.raw" + VM_GENERATED_FILES=( "${tar_path}" ) +} + vm_cleanup() { info "Cleaning up temporary files" sudo rm -rf "${VM_TMP_DIR}"