Merge "Fix stackforge_libs installation step"
diff --git a/functions b/functions
index ebccb59..c983997 100644
--- a/functions
+++ b/functions
@@ -841,6 +841,7 @@
[[ ${service} == "cinder" && ${ENABLED_SERVICES} =~ "c-" ]] && return 0
[[ ${service} == "ceilometer" && ${ENABLED_SERVICES} =~ "ceilometer-" ]] && return 0
[[ ${service} == "glance" && ${ENABLED_SERVICES} =~ "g-" ]] && return 0
+ [[ ${service} == "ironic" && ${ENABLED_SERVICES} =~ "ir-" ]] && return 0
[[ ${service} == "neutron" && ${ENABLED_SERVICES} =~ "q-" ]] && return 0
[[ ${service} == "trove" && ${ENABLED_SERVICES} =~ "tr-" ]] && return 0
[[ ${service} == "swift" && ${ENABLED_SERVICES} =~ "s-" ]] && return 0
@@ -1351,11 +1352,24 @@
# Create a directory for the downloaded image tarballs.
mkdir -p $FILES/images
- # Downloads the image (uec ami+aki style), then extracts it.
- IMAGE_FNAME=`basename "$image_url"`
- if [[ ! -f $FILES/$IMAGE_FNAME || "$(stat -c "%s" $FILES/$IMAGE_FNAME)" = "0" ]]; then
- wget -c $image_url -O $FILES/$IMAGE_FNAME
- if [[ $? -ne 0 ]]; then
+ if [[ $image_url != file* ]]; then
+ # Downloads the image (uec ami+aki style), then extracts it.
+ IMAGE_FNAME=`basename "$image_url"`
+ if [[ ! -f $FILES/$IMAGE_FNAME || "$(stat -c "%s" $FILES/$IMAGE_FNAME)" = "0" ]]; then
+ wget -c $image_url -O $FILES/$IMAGE_FNAME
+ if [[ $? -ne 0 ]]; then
+ echo "Not found: $image_url"
+ return
+ fi
+ fi
+ IMAGE="$FILES/${IMAGE_FNAME}"
+ else
+ # File based URL (RFC 1738): file://host/path
+ # Remote files are not considered here.
+ # *nix: file:///home/user/path/file
+ # windows: file:///C:/Documents%20and%20Settings/user/path/file
+ IMAGE=$(echo $image_url | sed "s/^file:\/\///g")
+ if [[ ! -f $IMAGE || "$(stat -c "%s" $IMAGE)" == "0" ]]; then
echo "Not found: $image_url"
return
fi
@@ -1363,7 +1377,6 @@
# OpenVZ-format images are provided as .tar.gz, but not decompressed prior to loading
if [[ "$image_url" =~ 'openvz' ]]; then
- IMAGE="$FILES/${IMAGE_FNAME}"
IMAGE_NAME="${IMAGE_FNAME%.tar.gz}"
glance --os-auth-token $token --os-image-url http://$GLANCE_HOSTPORT image-create --name "$IMAGE_NAME" --is-public=True --container-format ami --disk-format ami < "${IMAGE}"
return
@@ -1371,7 +1384,6 @@
# vmdk format images
if [[ "$image_url" =~ '.vmdk' ]]; then
- IMAGE="$FILES/${IMAGE_FNAME}"
IMAGE_NAME="${IMAGE_FNAME%.vmdk}"
# Before we can upload vmdk type images to glance, we need to know it's
@@ -1422,7 +1434,6 @@
# XenServer-vhd-ovf-format images are provided as .vhd.tgz
# and should not be decompressed prior to loading
if [[ "$image_url" =~ '.vhd.tgz' ]]; then
- IMAGE="$FILES/${IMAGE_FNAME}"
IMAGE_NAME="${IMAGE_FNAME%.vhd.tgz}"
glance --os-auth-token $token --os-image-url http://$GLANCE_HOSTPORT image-create --name "$IMAGE_NAME" --is-public=True --container-format=ovf --disk-format=vhd < "${IMAGE}"
return
@@ -1432,7 +1443,6 @@
# and should not be decompressed prior to loading.
# Setting metadata, so PV mode is used.
if [[ "$image_url" =~ '.xen-raw.tgz' ]]; then
- IMAGE="$FILES/${IMAGE_FNAME}"
IMAGE_NAME="${IMAGE_FNAME%.xen-raw.tgz}"
glance \
--os-auth-token $token \
@@ -1470,7 +1480,6 @@
fi
;;
*.img)
- IMAGE="$FILES/$IMAGE_FNAME";
IMAGE_NAME=$(basename "$IMAGE" ".img")
format=$(qemu-img info ${IMAGE} | awk '/^file format/ { print $3; exit }')
if [[ ",qcow2,raw,vdi,vmdk,vpc," =~ ",$format," ]]; then
@@ -1481,20 +1490,17 @@
CONTAINER_FORMAT=bare
;;
*.img.gz)
- IMAGE="$FILES/${IMAGE_FNAME}"
IMAGE_NAME=$(basename "$IMAGE" ".img.gz")
DISK_FORMAT=raw
CONTAINER_FORMAT=bare
UNPACK=zcat
;;
*.qcow2)
- IMAGE="$FILES/${IMAGE_FNAME}"
IMAGE_NAME=$(basename "$IMAGE" ".qcow2")
DISK_FORMAT=qcow2
CONTAINER_FORMAT=bare
;;
*.iso)
- IMAGE="$FILES/${IMAGE_FNAME}"
IMAGE_NAME=$(basename "$IMAGE" ".iso")
DISK_FORMAT=iso
CONTAINER_FORMAT=bare
diff --git a/lib/ceilometer b/lib/ceilometer
index dcadb07..e626427 100644
--- a/lib/ceilometer
+++ b/lib/ceilometer
@@ -82,6 +82,10 @@
cp $CEILOMETER_DIR/etc/ceilometer/pipeline.yaml $CEILOMETER_CONF_DIR
iniset $CEILOMETER_CONF DEFAULT policy_file $CEILOMETER_CONF_DIR/policy.json
+ if [ "$CEILOMETER_PIPELINE_INTERVAL" ]; then
+ sed -i "s/interval:.*/interval: ${CEILOMETER_PIPELINE_INTERVAL}/" $CEILOMETER_CONF_DIR/pipeline.yaml
+ fi
+
# the compute and central agents need these credentials in order to
# call out to the public nova and glance APIs
iniset $CEILOMETER_CONF DEFAULT os_username ceilometer
diff --git a/lib/swift b/lib/swift
index 83c4ebb..927194d 100644
--- a/lib/swift
+++ b/lib/swift
@@ -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 ec1fc90..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
@@ -300,7 +306,7 @@
iniset $TEMPEST_CONF cli cli_dir $NOVA_BIN_DIR
# service_available
- for service in nova cinder glance neutron swift heat horizon ceilometer; do
+ for service in nova cinder glance neutron swift heat horizon ceilometer ironic; do
if is_service_enabled $service ; then
iniset $TEMPEST_CONF service_available $service "True"
else