diff options
author | Clark Laughlin <clark.laughlin@linaro.org> | 2015-04-15 10:57:34 +0000 |
---|---|---|
committer | Clark Laughlin <clark.laughlin@linaro.org> | 2015-04-15 10:57:34 +0000 |
commit | 65de60875c35ac427d3637abeecfae7d8e94165c (patch) | |
tree | 7838fbbebc4785708ed38d98e78cf5d5bbe0141e | |
parent | e260729b381233b93692115db7c538ba53c9b519 (diff) |
add support to upload arm64 image
-rwxr-xr-x | cloud-deploy/6-upload-image.sh | 8 | ||||
-rw-r--r-- | cloud-deploy/import-image-parts.sh | 38 |
2 files changed, 45 insertions, 1 deletions
diff --git a/cloud-deploy/6-upload-image.sh b/cloud-deploy/6-upload-image.sh index 566eca9..7324c7c 100755 --- a/cloud-deploy/6-upload-image.sh +++ b/cloud-deploy/6-upload-image.sh @@ -1,2 +1,8 @@ -juju ssh nova-cloud-controller/0 ". ./stackrc ; wget http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img ; glance image-create --name=trusty_amd64 --disk-format=qcow2 --container-format=ovf --progress --is-public=True < trusty-server-cloudimg-amd64-disk1.img ; rm trusty-server-cloudimg-amd64-disk1.img" +juju ssh nova-cloud-controller/0 "sudo apt-get install -y cloud-image-utils" +juju scp import-image-parts.sh nova-cloud-controller/0:~ +#upload amd64 image +#juju ssh nova-cloud-controller/0 ". ./stackrc ; wget http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img ; glance image-create --name=trusty_amd64 --disk-format=qcow2 --container-format=ovf --progress --is-public=True < trusty-server-cloudimg-amd64-disk1.img ; rm trusty-server-cloudimg-amd64-disk1.img" + +#upload arm64 image +juju ssh nova-cloud-controller/0 ". ./stackrc ; bash -x ./import-image-parts.sh arm64" diff --git a/cloud-deploy/import-image-parts.sh b/cloud-deploy/import-image-parts.sh new file mode 100644 index 0000000..6b33e8d --- /dev/null +++ b/cloud-deploy/import-image-parts.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +ARCH=${1} + +cd "$(mktemp -d)" + +IMAGE_NAME=trusty_${ARCH} +IMAGE_URL=http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-${ARCH}.tar.gz + +wget --progress=dot -e dotbytes=10M -O uec.tar.gz $IMAGE_URL + +mkdir uec && cd uec && tar xfz ../uec.tar.gz + +KERNEL=$(for f in "./"*-vmlinuz* "./"aki-*/image; do + [ -f "$f" ] && echo "$f" && break; done; true) +IMAGE=$(for f in "./"*.img "./"ami-*/image; do + [ -f "$f" ] && echo "$f" && break; done; true) + +IMG_PROPERTY=" --property hw_machine_type=virt --property hw_cdrom_bus=virtio" + +sudo mount-image-callback --verbose $IMAGE -- sh -xc 'cp -v $MOUNTPOINT/boot/initrd* . && chmod ugo+r initrd*' || true + +if [ -e initrd* ]; then + RAMDISK_ID=$(glance image-create --name "$IMAGE_NAME-ramdisk" --is-public True --container-format ari --disk-format ari < initrd* | grep ' id ' | awk -F'[ \t]*\\|[ \t]*' '{ print $3 }') + IMG_PROPERTY="$IMG_PROPERTY --property ramdisk_id=$RAMDISK_ID" + COMMANDLINE="root=LABEL=cloudimg-rootfs rw rootwait console=ttyAMA0" +else + COMMANDLINE="" +fi + +KERNEL_ID=$(glance image-create --name "$IMAGE_NAME-kernel" --is-public True --container-format aki --disk-format aki < "$KERNEL" | grep ' id ' | awk -F'[ \t]*\\|[ \t]*' '{ print $3 }') +IMG_PROPERTY="$IMG_PROPERTY --property kernel_id=$KERNEL_ID" +IMAGE_UUID=$(glance image-create --name "${IMAGE_NAME}" $IMG_PROPERTY --is-public True --container-format ami --disk-format ami < "${IMAGE}" | grep ' id ' | awk -F'[ \t]*\\|[ \t]*' '{ print $3 }') + +if [ -n "$COMMANDLINE" ]; then + glance image-update $IMAGE_UUID --property os_command_line="$COMMANDLINE" +fi + |