Merge "Skip child process kills in stack.sh exit trap"
diff --git a/lib/heat b/lib/heat
index 902333e..a79b825 100644
--- a/lib/heat
+++ b/lib/heat
@@ -37,6 +37,7 @@
HEAT_CONF=$HEAT_CONF_DIR/heat.conf
HEAT_ENV_DIR=$HEAT_CONF_DIR/environment.d
HEAT_TEMPLATES_DIR=$HEAT_CONF_DIR/templates
+HEAT_STACK_DOMAIN=`trueorfalse True $HEAT_STACK_DOMAIN`
# Tell Tempest this project is present
TEMPEST_SERVICES+=,heat
@@ -260,24 +261,26 @@
openstack role add $HEAT_OWNER_ROLE --project demo --user admin
openstack role add $HEAT_OWNER_ROLE --project admin --user admin
- # Note we have to pass token/endpoint here because the current endpoint and
- # version negotiation in OSC means just --os-identity-api-version=3 won't work
- KS_ENDPOINT_V3="$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v3"
- D_ID=$(openstack --os-token $OS_TOKEN --os-url=$KS_ENDPOINT_V3 \
- --os-identity-api-version=3 domain create heat \
- --description "Owns users and projects created by heat" \
- | grep ' id ' | get_field 2)
- iniset $HEAT_CONF DEFAULT stack_user_domain ${D_ID}
+ if [[ "$HEAT_STACK_DOMAIN" == "True" ]]; then
+ # Note we have to pass token/endpoint here because the current endpoint and
+ # version negotiation in OSC means just --os-identity-api-version=3 won't work
+ KS_ENDPOINT_V3="$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v3"
+ D_ID=$(openstack --os-token $OS_TOKEN --os-url=$KS_ENDPOINT_V3 \
+ --os-identity-api-version=3 domain create heat \
+ --description "Owns users and projects created by heat" \
+ | grep ' id ' | get_field 2)
+ iniset $HEAT_CONF DEFAULT stack_user_domain ${D_ID}
- openstack --os-token $OS_TOKEN --os-url=$KS_ENDPOINT_V3 \
- --os-identity-api-version=3 user create --password $SERVICE_PASSWORD \
- --domain $D_ID heat_domain_admin \
- --description "Manages users and projects created by heat"
- openstack --os-token $OS_TOKEN --os-url=$KS_ENDPOINT_V3 \
- --os-identity-api-version=3 role add \
- --user heat_domain_admin --domain ${D_ID} admin
- iniset $HEAT_CONF DEFAULT stack_domain_admin heat_domain_admin
- iniset $HEAT_CONF DEFAULT stack_domain_admin_password $SERVICE_PASSWORD
+ openstack --os-token $OS_TOKEN --os-url=$KS_ENDPOINT_V3 \
+ --os-identity-api-version=3 user create --password $SERVICE_PASSWORD \
+ --domain $D_ID heat_domain_admin \
+ --description "Manages users and projects created by heat"
+ openstack --os-token $OS_TOKEN --os-url=$KS_ENDPOINT_V3 \
+ --os-identity-api-version=3 role add \
+ --user heat_domain_admin --domain ${D_ID} admin
+ iniset $HEAT_CONF DEFAULT stack_domain_admin heat_domain_admin
+ iniset $HEAT_CONF DEFAULT stack_domain_admin_password $SERVICE_PASSWORD
+ fi
}
# Restore xtrace
diff --git a/run_tests.sh b/run_tests.sh
index 685b203..b1aef4f 100755
--- a/run_tests.sh
+++ b/run_tests.sh
@@ -15,6 +15,23 @@
#
# this runs a series of unit tests for devstack to ensure it's functioning
+PASSES=""
+FAILURES=""
+
+# Check the return code and add the test to PASSES or FAILURES as appropriate
+# pass_fail <result> <expected> <name>
+function pass_fail {
+ local result=$1
+ local expected=$2
+ local test_name=$3
+
+ if [[ $result -ne $expected ]]; then
+ FAILURES="$FAILURES $test_name"
+ else
+ PASSES="$PASSES $test_name"
+ fi
+}
+
if [[ -n $@ ]]; then
FILES=$@
else
@@ -27,6 +44,7 @@
echo "Running bash8..."
./tools/bash8.py -v $FILES
+pass_fail $? 0 bash8
# Test that no one is trying to land crazy refs as branches
@@ -35,8 +53,21 @@
REFS=`grep BRANCH stackrc | grep -v -- '-master'`
rc=$?
+pass_fail $rc 1 crazy-refs
if [[ $rc -eq 0 ]]; then
echo "Branch defaults must be master. Found:"
echo $REFS
+fi
+
+echo "====================================================================="
+for script in $PASSES; do
+ echo PASS $script
+done
+for script in $FAILURES; do
+ echo FAILED $script
+done
+echo "====================================================================="
+
+if [[ -n "$FAILURES" ]]; then
exit 1
fi