@@ -102,6 +102,14 @@ function remove_disabled_extensions {
102102 remove_disabled_services " $extensions_list " " $disabled_exts "
103103}
104104
105+ # image_size_in_gib - converts an image size from bytes to GiB, rounded up
106+ # Takes an image ID parameter as input
107+ function image_size_in_gib {
108+ local size
109+ size=$( openstack image show $1 -c size -f value)
110+ echo $size | python -c " import math; print int(math.ceil(float(int(raw_input()) / 1024.0 ** 3)))"
111+ }
112+
105113# configure_tempest() - Set config files, create data dirs, etc
106114function configure_tempest {
107115 if [[ " $INSTALL_TEMPEST " == " True" ]]; then
@@ -125,6 +133,7 @@ function configure_tempest {
125133 local public_network_id
126134 local public_router_id
127135 local ssh_connect_method=" floating"
136+ local disk
128137
129138 # Save IFS
130139 ifs=$IFS
@@ -190,11 +199,15 @@ function configure_tempest {
190199 available_flavors=$( nova flavor-list)
191200 if [[ -z " $DEFAULT_INSTANCE_TYPE " ]]; then
192201 if [[ ! ( $available_flavors =~ ' m1.nano' ) ]]; then
193- openstack flavor create --id 42 --ram 64 --disk 0 --vcpus 1 m1.nano
202+ # Determine the flavor disk size based on the image size.
203+ disk=$( image_size_in_gib $image_uuid )
204+ openstack flavor create --id 42 --ram 64 --disk $disk --vcpus 1 m1.nano
194205 fi
195206 flavor_ref=42
196207 if [[ ! ( $available_flavors =~ ' m1.micro' ) ]]; then
197- openstack flavor create --id 84 --ram 128 --disk 0 --vcpus 1 m1.micro
208+ # Determine the alt flavor disk size based on the alt image size.
209+ disk=$( image_size_in_gib $image_uuid_alt )
210+ openstack flavor create --id 84 --ram 128 --disk $disk --vcpus 1 m1.micro
198211 fi
199212 flavor_ref_alt=84
200213 else
0 commit comments