Support image type for guest image building
Change-Id: I8d640c47f00446d7f912ece9892b17585cde3add
(cherry picked from commit 428e3644f8
)
This commit is contained in:
parent
8d9b938a55
commit
775abab528
|
@ -141,7 +141,7 @@ The trove guest agent image could be created by running the following command:
|
||||||
guest_os_release=xenial
|
guest_os_release=xenial
|
||||||
dev_mode=true
|
dev_mode=true
|
||||||
guest_username=ubuntu
|
guest_username=ubuntu
|
||||||
imagepath=$HOME/images/trove-${guest_os}-${guest_os_release}-${datastore_type}
|
imagepath=$HOME/images/trove-${guest_os}-${guest_os_release}-${datastore_type}.qcow2
|
||||||
|
|
||||||
* ``dev_mode=true`` is mainly for testing purpose for trove developers and it's
|
* ``dev_mode=true`` is mainly for testing purpose for trove developers and it's
|
||||||
necessary to build the image on the trove controller host, because the host
|
necessary to build the image on the trove controller host, because the host
|
||||||
|
@ -165,6 +165,10 @@ The trove guest agent image could be created by running the following command:
|
||||||
repository, by default it's master, use other branches as needed such as
|
repository, by default it's master, use other branches as needed such as
|
||||||
stable/train.
|
stable/train.
|
||||||
|
|
||||||
|
* The image type can be easily changed by specifying a different image file
|
||||||
|
extension, e.g. to build a raw image, you can specify
|
||||||
|
``$your-image-name.raw`` as the ``imagepath`` parameter.
|
||||||
|
|
||||||
For example, in order to build a MySQL image for Ubuntu Xenial operating
|
For example, in order to build a MySQL image for Ubuntu Xenial operating
|
||||||
system in development mode:
|
system in development mode:
|
||||||
|
|
||||||
|
|
|
@ -13,13 +13,14 @@ function build_vm() {
|
||||||
local dev_mode=$4
|
local dev_mode=$4
|
||||||
local guest_username=$5
|
local guest_username=$5
|
||||||
local image_output=$6
|
local image_output=$6
|
||||||
|
local image_type=${image_output##*.}
|
||||||
|
local working_dir=$(dirname ${image_output})
|
||||||
|
|
||||||
local elementes="base vm"
|
local elementes="base vm"
|
||||||
local trove_elements_path=${PATH_TROVE}/integration/scripts/files/elements
|
local trove_elements_path=${PATH_TROVE}/integration/scripts/files/elements
|
||||||
local GUEST_IMAGETYPE=${GUEST_IMAGETYPE:-"qcow2"}
|
local GUEST_IMAGETYPE=${GUEST_IMAGETYPE:-"qcow2"}
|
||||||
local GUEST_IMAGESIZE=${GUEST_IMAGESIZE:-4}
|
local GUEST_IMAGESIZE=${GUEST_IMAGESIZE:-4}
|
||||||
local GUEST_CACHEDIR=${GUEST_CACHEDIR:-"$HOME/.cache/image-create"}
|
local GUEST_CACHEDIR=${GUEST_CACHEDIR:-"$HOME/.cache/image-create"}
|
||||||
local working_dir=$(dirname ${image_output})
|
|
||||||
|
|
||||||
export GUEST_USERNAME=${guest_username}
|
export GUEST_USERNAME=${guest_username}
|
||||||
|
|
||||||
|
@ -79,6 +80,7 @@ function build_vm() {
|
||||||
disk-image-create -x \
|
disk-image-create -x \
|
||||||
-a amd64 \
|
-a amd64 \
|
||||||
-o ${image_output} \
|
-o ${image_output} \
|
||||||
|
-t ${image_type} \
|
||||||
-t ${GUEST_IMAGETYPE} \
|
-t ${GUEST_IMAGETYPE} \
|
||||||
--image-size ${GUEST_IMAGESIZE} \
|
--image-size ${GUEST_IMAGESIZE} \
|
||||||
--image-cache ${GUEST_CACHEDIR} \
|
--image-cache ${GUEST_CACHEDIR} \
|
||||||
|
|
|
@ -781,7 +781,7 @@ function cmd_build_image() {
|
||||||
if [[ -z "$output" ]]; then
|
if [[ -z "$output" ]]; then
|
||||||
image_name="trove-datastore-${IMAGE_GUEST_OS}-${IMAGE_GUEST_RELEASE}-${IMAGE_DATASTORE_TYPE}"
|
image_name="trove-datastore-${IMAGE_GUEST_OS}-${IMAGE_GUEST_RELEASE}-${IMAGE_DATASTORE_TYPE}"
|
||||||
image_folder=$HOME/images
|
image_folder=$HOME/images
|
||||||
output="${image_folder}/${image_name}"
|
output="${image_folder}/${image_name}.qcow2"
|
||||||
fi
|
fi
|
||||||
# Always rebuild the image.
|
# Always rebuild the image.
|
||||||
sudo rm -f $output
|
sudo rm -f $output
|
||||||
|
|
Loading…
Reference in New Issue