Merge "Use oslo-messaging-zmq-receiver to start zeromq receiver"
diff --git a/functions b/functions
index 543a6fe..ca8ef80 100644
--- a/functions
+++ b/functions
@@ -250,7 +250,7 @@
xdir="$FILES/images/$IMAGE_NAME"
rm -Rf "$xdir";
mkdir "$xdir"
- tar -zxf $FILES/$IMAGE_FNAME -C "$xdir"
+ tar -zxf $IMAGE -C "$xdir"
KERNEL=$(for f in "$xdir/"*-vmlinuz* "$xdir/"aki-*/image; do
[ -f "$f" ] && echo "$f" && break; done; true)
RAMDISK=$(for f in "$xdir/"*-initrd* "$xdir/"ari-*/image; do
diff --git a/lib/config b/lib/config
index 552aeb0..67d788c 100644
--- a/lib/config
+++ b/lib/config
@@ -82,8 +82,6 @@
local matchgroup=$2
local configfile=$3
- [[ -r $configfile ]] || touch $configfile
-
get_meta_section $file $matchgroup $configfile | \
$CONFIG_AWK_CMD -v configfile=$configfile '
BEGIN { section = "" }
@@ -114,7 +112,7 @@
for group in $matchgroups; do
for configfile in $(get_meta_section_files $localfile $group); do
- if [[ -d $(dirname $configfile) ]]; then
+ if [[ -d $(dirname $(eval "echo $configfile")) ]]; then
merge_config_file $localfile $group $configfile
fi
done
diff --git a/lib/horizon b/lib/horizon
index 02715ce..5d1df0b 100644
--- a/lib/horizon
+++ b/lib/horizon
@@ -110,7 +110,7 @@
fi
_horizon_config_set $local_settings "" OPENSTACK_HOST \"${KEYSTONE_SERVICE_HOST}\"
- _horizon_config_set $local_settings "" OPENSTACK_KEYSTONE_URL "\"${KEYSTONE_SERVICE_PROTOCOL}://%s:${KEYSTONE_SERVICE_PORT}/v2.0\" % OPENSTACK_HOST"
+ _horizon_config_set $local_settings "" OPENSTACK_KEYSTONE_URL "\"${KEYSTONE_SERVICE_PROTOCOL}://${KEYSTONE_SERVICE_HOST}:${KEYSTONE_SERVICE_PORT}/v2.0\""
if [ -f $SSL_BUNDLE_FILE ]; then
_horizon_config_set $local_settings "" OPENSTACK_SSL_CACERT \"${SSL_BUNDLE_FILE}\"
diff --git a/lib/ironic b/lib/ironic
index d53e1ad..dbeb3d3 100644
--- a/lib/ironic
+++ b/lib/ironic
@@ -256,7 +256,7 @@
recreate_database ironic utf8
# Migrate ironic database
- $IRONIC_BIN_DIR/ironic-dbsync
+ $IRONIC_BIN_DIR/ironic-dbsync --config-file=$IRONIC_CONF_FILE
create_ironic_cache_dir
}
diff --git a/lib/keystone b/lib/keystone
index 849ea75..23b5001 100644
--- a/lib/keystone
+++ b/lib/keystone
@@ -56,7 +56,7 @@
# Select Keystone's token format
# Choose from 'UUID', 'PKI', or 'PKIZ'
-KEYSTONE_TOKEN_FORMAT=${KEYSTONE_TOKEN_FORMAT:-PKI}
+KEYSTONE_TOKEN_FORMAT=${KEYSTONE_TOKEN_FORMAT:-PKIZ}
# Set Keystone interface configuration
KEYSTONE_AUTH_HOST=${KEYSTONE_AUTH_HOST:-$SERVICE_HOST}
@@ -206,8 +206,8 @@
if [[ "$KEYSTONE_TOKEN_FORMAT" = "UUID" ]]; then
iniset $KEYSTONE_CONF token provider keystone.token.providers.uuid.Provider
- elif [[ "$KEYSTONE_TOKEN_FORMAT" = "PKIZ" ]]; then
- iniset $KEYSTONE_CONF token provider keystone.token.providers.pkiz.Provider
+ elif [[ "$KEYSTONE_TOKEN_FORMAT" = "PKI" ]]; then
+ iniset $KEYSTONE_CONF token provider keystone.token.providers.pki.Provider
fi
iniset $KEYSTONE_CONF database connection `database_connection_url keystone`
diff --git a/lib/neutron b/lib/neutron
index 6c0ca06..2c6f53b 100644
--- a/lib/neutron
+++ b/lib/neutron
@@ -302,13 +302,13 @@
function create_nova_conf_neutron {
iniset $NOVA_CONF DEFAULT network_api_class "nova.network.neutronv2.api.API"
- iniset $NOVA_CONF DEFAULT neutron_admin_username "$Q_ADMIN_USERNAME"
- iniset $NOVA_CONF DEFAULT neutron_admin_password "$SERVICE_PASSWORD"
- iniset $NOVA_CONF DEFAULT neutron_admin_auth_url "$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_AUTH_PORT/v2.0"
- iniset $NOVA_CONF DEFAULT neutron_auth_strategy "$Q_AUTH_STRATEGY"
- iniset $NOVA_CONF DEFAULT neutron_admin_tenant_name "$SERVICE_TENANT_NAME"
- iniset $NOVA_CONF DEFAULT neutron_region_name "RegionOne"
- iniset $NOVA_CONF DEFAULT neutron_url "http://$Q_HOST:$Q_PORT"
+ iniset $NOVA_CONF neutron admin_username "$Q_ADMIN_USERNAME"
+ iniset $NOVA_CONF neutron admin_password "$SERVICE_PASSWORD"
+ iniset $NOVA_CONF neutron admin_auth_url "$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_AUTH_PORT/v2.0"
+ iniset $NOVA_CONF neutron auth_strategy "$Q_AUTH_STRATEGY"
+ iniset $NOVA_CONF neutron admin_tenant_name "$SERVICE_TENANT_NAME"
+ iniset $NOVA_CONF neutron region_name "RegionOne"
+ iniset $NOVA_CONF neutron url "http://$Q_HOST:$Q_PORT"
if [[ "$Q_USE_SECGROUP" == "True" ]]; then
LIBVIRT_FIREWALL_DRIVER=nova.virt.firewall.NoopFirewallDriver
@@ -401,7 +401,7 @@
elif is_provider_network; then
die_if_not_set $LINENO SEGMENTATION_ID "A SEGMENTATION_ID is required to use provider networking"
die_if_not_set $LINENO PROVIDER_NETWORK_TYPE "You must specifiy the PROVIDER_NETWORK_TYPE"
- NET_ID=$(neutron net-create $PHYSICAL_NETWORK --tenant_id $TENANT_ID --provider:network_type $PROVIDER_NETWORK_TYPE --provider:physical_network "$PHYSICAL_NETWORK" --provider:segmentation_id "$SEGMENTATION_ID" --router:external=true --shared | grep ' id ' | get_field 2)
+ NET_ID=$(neutron net-create $PHYSICAL_NETWORK --tenant_id $TENANT_ID --provider:network_type $PROVIDER_NETWORK_TYPE --provider:physical_network "$PHYSICAL_NETWORK" --provider:segmentation_id "$SEGMENTATION_ID" --shared | grep ' id ' | get_field 2)
SUBNET_ID=$(neutron subnet-create --tenant_id $TENANT_ID --ip_version 4 ${ALLOCATION_POOL:+--allocation-pool $ALLOCATION_POOL} --name $PROVIDER_SUBNET_NAME $NET_ID $FIXED_RANGE | grep ' id ' | get_field 2)
SUBNET_V6_ID=$(neutron subnet-create --tenant_id $TENANT_ID --ip_version 6 --ipv6-address-mode slaac --gateway $V6_NETWORK_GATEWAY --name $PROVIDER_SUBNET_NAME_V6 $NET_ID $FIXED_RANGE_V6 | grep 'id' | get_field 2)
sudo ip link set $OVS_PHYSICAL_BRIDGE up
diff --git a/lib/neutron_plugins/ovs_base b/lib/neutron_plugins/ovs_base
index 1e293a1..e1c3c3f 100644
--- a/lib/neutron_plugins/ovs_base
+++ b/lib/neutron_plugins/ovs_base
@@ -65,8 +65,9 @@
iniset $Q_L3_CONF_FILE DEFAULT external_network_bridge $PUBLIC_BRIDGE
neutron-ovs-cleanup
- sudo ovs-vsctl --no-wait -- --may-exist add-br $PUBLIC_BRIDGE
- sudo ovs-vsctl --no-wait br-set-external-id $PUBLIC_BRIDGE bridge-id $PUBLIC_BRIDGE
+ # --no-wait causes a race condition if $PUBLIC_BRIDGE is not up when ip addr flush is called
+ sudo ovs-vsctl -- --may-exist add-br $PUBLIC_BRIDGE
+ sudo ovs-vsctl br-set-external-id $PUBLIC_BRIDGE bridge-id $PUBLIC_BRIDGE
# ensure no IP is configured on the public bridge
sudo ip addr flush dev $PUBLIC_BRIDGE
}
diff --git a/lib/neutron_thirdparty/ryu b/lib/neutron_thirdparty/ryu
index bbe227e..c737600 100644
--- a/lib/neutron_thirdparty/ryu
+++ b/lib/neutron_thirdparty/ryu
@@ -58,6 +58,7 @@
if [[ "$_RYU_INSTALLED" == "False" ]]; then
git_clone $RYU_REPO $RYU_DIR $RYU_BRANCH
export PYTHONPATH=$RYU_DIR:$PYTHONPATH
+ pip_install $(cat $RYU_DIR/tools/pip-requires)
_RYU_INSTALLED=True
fi
}
diff --git a/lib/sahara b/lib/sahara
index d56cf1b..934989b 100644
--- a/lib/sahara
+++ b/lib/sahara
@@ -110,14 +110,6 @@
sudo chown $STACK_USER $SAHARA_AUTH_CACHE_DIR
rm -rf $SAHARA_AUTH_CACHE_DIR/*
- # Set obsolete keystone auth configs for backward compatibility
- iniset $SAHARA_CONF_FILE DEFAULT os_auth_host $KEYSTONE_AUTH_HOST
- iniset $SAHARA_CONF_FILE DEFAULT os_auth_port $KEYSTONE_AUTH_PORT
- iniset $SAHARA_CONF_FILE DEFAULT os_auth_protocol $KEYSTONE_AUTH_PROTOCOL
- iniset $SAHARA_CONF_FILE DEFAULT os_admin_password $SERVICE_PASSWORD
- iniset $SAHARA_CONF_FILE DEFAULT os_admin_username sahara
- iniset $SAHARA_CONF_FILE DEFAULT os_admin_tenant_name $SERVICE_TENANT_NAME
-
# Set actual keystone auth configs
iniset $SAHARA_CONF_FILE keystone_authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/
iniset $SAHARA_CONF_FILE keystone_authtoken auth_host $KEYSTONE_AUTH_HOST
diff --git a/tests/test_config.sh b/tests/test_config.sh
index 5700f8d..2634ce0 100755
--- a/tests/test_config.sh
+++ b/tests/test_config.sh
@@ -42,6 +42,17 @@
EOF
}
+function setup_test4 {
+ mkdir -p test-etc
+ cat >test-etc/test4.conf <<EOF
+[fff]
+# original comment
+type=original
+EOF
+ TEST4_DIR="test-etc"
+ TEST4_FILE="test4.conf"
+}
+
cat >test.conf <<EOF
[[test1|test1a.conf]]
[default]
@@ -76,8 +87,11 @@
attribute=value
# the above line has a single space
-EOF
+[[test4|\$TEST4_DIR/\$TEST4_FILE]]
+[fff]
+type=new
+EOF
echo -n "get_meta_section_files: test0 doesn't exist: "
VAL=$(get_meta_section_files test.conf test0)
@@ -192,4 +206,24 @@
attribute = value"
check_result "$VAL" "$EXPECT_VAL"
+echo -n "merge_config_group test4 variable filename: "
+setup_test4
+merge_config_group test.conf test4
+VAL=$(cat test-etc/test4.conf)
+EXPECT_VAL="[fff]
+# original comment
+type=new"
+check_result "$VAL" "$EXPECT_VAL"
+
+echo -n "merge_config_group test4 variable filename (not exist): "
+setup_test4
+rm test-etc/test4.conf
+merge_config_group test.conf test4
+VAL=$(cat test-etc/test4.conf)
+EXPECT_VAL="
+[fff]
+type = new"
+check_result "$VAL" "$EXPECT_VAL"
+
rm -f test.conf test1c.conf test2a.conf test-space.conf
+rm -rf test-etc