Merge "Disable all import methods if glance is not standalone"
diff --git a/functions b/functions
index 9b0ea67..c34e487 100644
--- a/functions
+++ b/functions
@@ -77,6 +77,19 @@
fi
}
+# Generate image property arguments for OSC
+#
+# Arguments: properties, one per, like propname=value
+#
+# Result is --property propname1=value1 --property propname2=value2
+function _image_properties_to_arg {
+ local result=""
+ for property in $*; do
+ result+=" --property $property"
+ done
+ echo $result
+}
+
# Upload an image to glance using the configured mechanism
#
# Arguments:
@@ -98,9 +111,7 @@
local properties
local useimport
- for prop in $*; do
- properties+=" --property $prop"
- done
+ properties=$(_image_properties_to_arg $*)
if [[ "$GLANCE_USE_IMPORT_WORKFLOW" == "True" ]]; then
if [[ "$GLANCE_STANDALONE" == "True" ]]; then
@@ -313,7 +324,16 @@
local disk_format=""
local container_format=""
local unpack=""
- local img_property="hw_rng_model=virtio"
+ local img_property=""
+
+ # NOTE(danms): If we're on libvirt/qemu or libvirt/kvm, set the hw_rng_model
+ # to libvirt in the image properties.
+ if [[ "$VIRT_DRIVER" == "libvirt" ]]; then
+ if [[ "$LIBVIRT_TYPE" == "qemu" || "$LIBVIRT_TYPE" == "kvm" ]]; then
+ img_property="hw_rng_model=virtio"
+ fi
+ fi
+
case "$image_fname" in
*.tar.gz|*.tgz)
# Extract ami and aki files
@@ -422,10 +442,10 @@
# kernel for use when uploading the root filesystem.
local kernel_id="" ramdisk_id="";
if [ -n "$kernel" ]; then
- 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)
+ 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)
fi
if [ -n "$ramdisk" ]; then
- 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)
+ 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)
fi
_upload_image "${image_name%.img}" ami ami "$image" ${kernel_id:+ kernel_id=$kernel_id} ${ramdisk_id:+ ramdisk_id=$ramdisk_id} $img_property
fi
diff --git a/lib/apache b/lib/apache
index 2e0a249..870a65a 100644
--- a/lib/apache
+++ b/lib/apache
@@ -152,7 +152,7 @@
install_package libapache2-mod-wsgi-py3
elif is_fedora; then
sudo rm -f /etc/httpd/conf.d/000-*
- install_package httpd mod_wsgi
+ install_package httpd python3-mod_wsgi
# For consistency with Ubuntu, switch to the worker mpm, as
# the default is event
sudo sed -i '/mod_mpm_prefork.so/s/^/#/g' /etc/httpd/conf.modules.d/00-mpm.conf
diff --git a/lib/glance b/lib/glance
index 0f7cd61..5fc7a7f 100644
--- a/lib/glance
+++ b/lib/glance
@@ -143,6 +143,16 @@
local dburl
dburl=`database_connection_url glance`
+ # Configure multiple stores
+ if [[ "$GLANCE_ENABLE_MULTIPLE_STORES" == "True" ]]; then
+ local store enabled_backends
+ enabled_backends=""
+ for store in $(echo $GLANCE_MULTIPLE_FILE_STORES | tr "," "\n"); do
+ enabled_backends+="${store}:file,"
+ done
+ iniset $GLANCE_API_CONF DEFAULT enabled_backends ${enabled_backends::-1}
+ fi
+
iniset $GLANCE_API_CONF DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
iniset $GLANCE_API_CONF database connection $dburl
iniset $GLANCE_API_CONF DEFAULT use_syslog $SYSLOG
@@ -257,6 +267,7 @@
else
write_local_proxy_http_config glance "http://$GLANCE_SERVICE_HOST:$GLANCE_SERVICE_PORT_INT" "/image"
iniset $GLANCE_API_CONF DEFAULT bind_host $GLANCE_SERVICE_LISTEN_ADDRESS
+ iniset $GLANCE_API_CONF DEFAULT bind_port $GLANCE_SERVICE_PORT_INT
iniset $GLANCE_API_CONF DEFAULT workers "$API_WORKERS"
fi
}