Merge "Enable/disable ironic in tempest config"
diff --git a/README.md b/README.md
index 640fab6..93d1396 100644
--- a/README.md
+++ b/README.md
@@ -82,7 +82,7 @@
# Customizing
You can override environment variables used in `stack.sh` by creating file
-name `local.conf` with a ``locarc`` section as shown below. It is likely
+name `local.conf` with a ``localrc`` section as shown below. It is likely
that you will need to do this to tweak your networking configuration should
you need to access your cloud from a different host.
diff --git a/functions b/functions
index 9c65cd1..d19ff1c 100644
--- a/functions
+++ b/functions
@@ -1363,18 +1363,42 @@
# Before we can upload vmdk type images to glance, we need to know it's
# disk type, storage adapter, and networking adapter. These values are
- # passed to glance as custom properties. We take these values from the
+ # passed to glance as custom properties.
+ # We take these values from the vmdk file if populated. Otherwise, we use
# vmdk filename, which is expected in the following format:
#
# <name>-<disk type>:<storage adapter>:<network adapter>
#
# If the filename does not follow the above format then the vsphere
# driver will supply default values.
+
+ # vmdk adapter type
+ vmdk_adapter_type="$(head -25 $IMAGE | grep -a -F -m 1 'ddb.adapterType =' $IMAGE)"
+ vmdk_adapter_type="${vmdk_adapter_type#*\"}"
+ vmdk_adapter_type="${vmdk_adapter_type%?}"
+
+ # vmdk disk type
+ vmdk_create_type="$(head -25 $IMAGE | grep -a -F -m 1 'createType=' $IMAGE)"
+ vmdk_create_type="${vmdk_create_type#*\"}"
+ vmdk_create_type="${vmdk_create_type%?}"
+ if [[ "$vmdk_create_type" = "monolithicSparse" ]]; then
+ vmdk_disktype="sparse"
+ elif [[ "$vmdk_create_type" = "monolithicFlat" ]]; then
+ die $LINENO "Monolithic flat disks should use a descriptor-data pair." \
+ "Please provide the disk and not the descriptor."
+ else
+ #TODO(alegendre): handle streamOptimized once supported by VMware driver.
+ vmdk_disktype="preallocated"
+ fi
property_string=`echo "$IMAGE_NAME" | grep -oP '(?<=-)(?!.*-).+:.+:.+$'`
if [[ ! -z "$property_string" ]]; then
IFS=':' read -a props <<< "$property_string"
- vmdk_disktype="${props[0]}"
- vmdk_adapter_type="${props[1]}"
+ if [[ ! -z "${props[0]}" ]]; then
+ vmdk_disktype="${props[0]}"
+ fi
+ if [[ ! -z "${props[1]}" ]]; then
+ vmdk_adapter_type="${props[1]}"
+ fi
vmdk_net_adapter="${props[2]}"
fi
diff --git a/lib/ceilometer b/lib/ceilometer
index f95ed30..dcadb07 100644
--- a/lib/ceilometer
+++ b/lib/ceilometer
@@ -137,7 +137,9 @@
# start_ceilometer() - Start running processes, including screen
function start_ceilometer() {
- screen_it ceilometer-acompute "cd ; sg $LIBVIRT_GROUP \"ceilometer-agent-compute --config-file $CEILOMETER_CONF\""
+ if [[ "$VIRT_DRIVER" = 'libvirt' ]]; then
+ screen_it ceilometer-acompute "cd ; sg $LIBVIRT_GROUP \"ceilometer-agent-compute --config-file $CEILOMETER_CONF\""
+ fi
screen_it ceilometer-acentral "cd ; ceilometer-agent-central --config-file $CEILOMETER_CONF"
screen_it ceilometer-collector "cd ; ceilometer-collector --config-file $CEILOMETER_CONF"
screen_it ceilometer-api "cd ; ceilometer-api -d -v --log-dir=$CEILOMETER_API_LOG_DIR --config-file $CEILOMETER_CONF"
diff --git a/lib/heat b/lib/heat
index 8f123ea..7a9ef0d 100644
--- a/lib/heat
+++ b/lib/heat
@@ -80,7 +80,7 @@
iniset $HEAT_CONF DEFAULT heat_metadata_server_url http://$HEAT_API_CFN_HOST:$HEAT_API_CFN_PORT
iniset $HEAT_CONF DEFAULT heat_waitcondition_server_url http://$HEAT_API_CFN_HOST:$HEAT_API_CFN_PORT/v1/waitcondition
iniset $HEAT_CONF DEFAULT heat_watch_server_url http://$HEAT_API_CW_HOST:$HEAT_API_CW_PORT
- iniset $HEAT_CONF DEFAULT sql_connection `database_connection_url heat`
+ iniset $HEAT_CONF database connection `database_connection_url heat`
iniset $HEAT_CONF DEFAULT auth_encryption_key `hexdump -n 16 -v -e '/1 "%02x"' /dev/random`
# logging
diff --git a/lib/nova b/lib/nova
index b9fa3e1..5b6f50e 100644
--- a/lib/nova
+++ b/lib/nova
@@ -589,7 +589,7 @@
if is_service_enabled n-novnc; then
# a websockets/html5 or flash powered VNC console for vm instances
- NOVNC_FROM_PACKAGE=`trueorfalse True $NOVNC_FROM_PACKAGE`
+ NOVNC_FROM_PACKAGE=`trueorfalse False $NOVNC_FROM_PACKAGE`
if [ "$NOVNC_FROM_PACKAGE" = "True" ]; then
NOVNC_WEB_DIR=/usr/share/novnc
install_package novnc
diff --git a/lib/swift b/lib/swift
index b46537f..927194d 100644
--- a/lib/swift
+++ b/lib/swift
@@ -59,9 +59,9 @@
# kilobytes.
# Default is 1 gigabyte.
SWIFT_LOOPBACK_DISK_SIZE_DEFAULT=1G
-# if tempest enabled the default size is 4 Gigabyte.
+# if tempest enabled the default size is 6 Gigabyte.
if is_service_enabled tempest; then
- SWIFT_LOOPBACK_DISK_SIZE_DEFAULT=${SWIFT_LOOPBACK_DISK_SIZE:-4G}
+ SWIFT_LOOPBACK_DISK_SIZE_DEFAULT=${SWIFT_LOOPBACK_DISK_SIZE:-6G}
fi
SWIFT_LOOPBACK_DISK_SIZE=${SWIFT_LOOPBACK_DISK_SIZE:-$SWIFT_LOOPBACK_DISK_SIZE_DEFAULT}
@@ -266,6 +266,15 @@
iniuncomment ${SWIFT_CONFIG_PROXY_SERVER} DEFAULT bind_port
iniset ${SWIFT_CONFIG_PROXY_SERVER} DEFAULT bind_port ${SWIFT_DEFAULT_BIND_PORT:-8080}
+ # Devstack is commonly run in a small slow environment, so bump the
+ # timeouts up.
+ # node_timeout is how long between read operations a node takes to
+ # respond to the proxy server
+ # conn_timeout is all about how long it takes a connect() system call to
+ # return
+ iniset ${SWIFT_CONFIG_PROXY_SERVER} app:proxy-server node_timeout 120
+ iniset ${SWIFT_CONFIG_PROXY_SERVER} app:proxy-server conn_timeout 20
+
# Configure Ceilometer
if is_service_enabled ceilometer; then
iniset ${SWIFT_CONFIG_PROXY_SERVER} filter:ceilometer use "egg:ceilometer#swift"
diff --git a/lib/tempest b/lib/tempest
index fca3884..b0fc9f5 100644
--- a/lib/tempest
+++ b/lib/tempest
@@ -73,6 +73,7 @@
local password
local line
local flavors
+ local available_flavors
local flavors_ref
local flavor_lines
local public_network_id
@@ -142,10 +143,15 @@
# If the ``DEFAULT_INSTANCE_TYPE`` not declared, use the new behavior
# Tempest creates instane types for himself
if [[ -z "$DEFAULT_INSTANCE_TYPE" ]]; then
- nova flavor-create m1.nano 42 64 0 1
+ available_flavors=$(nova flavor-list)
+ if [[ ! ( $available_flavors =~ 'm1.nano' ) ]]; then
+ nova flavor-create m1.nano 42 64 0 1
+ fi
flavor_ref=42
boto_instance_type=m1.nano
- nova flavor-create m1.micro 84 128 0 1
+ if [[ ! ( $available_flavors =~ 'm1.micro' ) ]]; then
+ nova flavor-create m1.micro 84 128 0 1
+ fi
flavor_ref_alt=84
else
# Check Nova for existing flavors and, if set, look for the