This abstracts out the conversion of key=value,... property lists to a function
and makes both _upload_image() and the two ami/aki image create calls use it. The
move to bare key=value properties introduced a regression for ami/aki where
the --property flag stopped being passed to osc in that case.
Change-Id: Idf7fdfe3f5800f79f6c48f9d9606a7b53436a730
... | ... |
@@ -77,6 +77,19 @@ function get_extra_file { |
77 | 77 |
fi |
78 | 78 |
} |
79 | 79 |
|
80 |
+# Generate image property arguments for OSC |
|
81 |
+# |
|
82 |
+# Arguments: properties, one per, like propname=value |
|
83 |
+# |
|
84 |
+# Result is --property propname1=value1 --property propname2=value2 |
|
85 |
+function _image_properties_to_arg { |
|
86 |
+ local result="" |
|
87 |
+ for property in $*; do |
|
88 |
+ result+=" --property $property" |
|
89 |
+ done |
|
90 |
+ echo $result |
|
91 |
+} |
|
92 |
+ |
|
80 | 93 |
# Upload an image to glance using the configured mechanism |
81 | 94 |
# |
82 | 95 |
# Arguments: |
... | ... |
@@ -98,9 +111,7 @@ function _upload_image { |
98 | 98 |
local properties |
99 | 99 |
local useimport |
100 | 100 |
|
101 |
- for prop in $*; do |
|
102 |
- properties+=" --property $prop" |
|
103 |
- done |
|
101 |
+ properties=$(_image_properties_to_arg $*) |
|
104 | 102 |
|
105 | 103 |
if [[ "$GLANCE_USE_IMPORT_WORKFLOW" == "True" ]]; then |
106 | 104 |
if [[ "$GLANCE_STANDALONE" == "True" ]]; then |
... | ... |
@@ -422,10 +433,10 @@ function upload_image { |
422 | 422 |
# kernel for use when uploading the root filesystem. |
423 | 423 |
local kernel_id="" ramdisk_id=""; |
424 | 424 |
if [ -n "$kernel" ]; then |
425 |
- kernel_id=$(openstack --os-cloud=devstack-admin --os-region-name="$REGION_NAME" image create "$image_name-kernel" $img_property --public --container-format aki --disk-format aki < "$kernel" | grep ' id ' | get_field 2) |
|
425 |
+ kernel_id=$(openstack --os-cloud=devstack-admin --os-region-name="$REGION_NAME" image create "$image_name-kernel" $(_image_properties_to_arg $img_property) --public --container-format aki --disk-format aki < "$kernel" | grep ' id ' | get_field 2) |
|
426 | 426 |
fi |
427 | 427 |
if [ -n "$ramdisk" ]; then |
428 |
- ramdisk_id=$(openstack --os-cloud=devstack-admin --os-region-name="$REGION_NAME" image create "$image_name-ramdisk" $img_property --public --container-format ari --disk-format ari < "$ramdisk" | grep ' id ' | get_field 2) |
|
428 |
+ ramdisk_id=$(openstack --os-cloud=devstack-admin --os-region-name="$REGION_NAME" image create "$image_name-ramdisk" $(_image_properties_to_arg $img_property) --public --container-format ari --disk-format ari < "$ramdisk" | grep ' id ' | get_field 2) |
|
429 | 429 |
fi |
430 | 430 |
_upload_image "${image_name%.img}" ami ami "$image" ${kernel_id:+ kernel_id=$kernel_id} ${ramdisk_id:+ ramdisk_id=$ramdisk_id} $img_property |
431 | 431 |
fi |