Merge "Fix swift3 middleware entry point."
diff --git a/AUTHORS b/AUTHORS
index ff05f82..b5f972f 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -5,6 +5,7 @@
Armando Migliaccio <armando.migliaccio@eu.citrix.com>
Brad Hall <brad@nicira.com>
Chmouel Boudjnah <chmouel@chmouel.com>
+Dan Prince <dprince@redhat.com>
Dean Troyer <dtroyer@gmail.com>
Devin Carlen <devin.carlen@gmail.com>
Eddie Hebert <edhebert@gmail.com>
diff --git a/stack.sh b/stack.sh
index 4d922a5..126ff37 100755
--- a/stack.sh
+++ b/stack.sh
@@ -1033,6 +1033,9 @@
GLANCE_POLICY_JSON=$GLANCE_CONF_DIR/policy.json
cp $GLANCE_DIR/etc/policy.json $GLANCE_POLICY_JSON
+
+ $GLANCE_DIR/bin/glance-manage db_sync
+
fi
# Quantum (for controller or agent nodes)
@@ -1084,17 +1087,23 @@
# Quantum service (for controller node)
if is_service_enabled q-svc; then
- Q_PLUGIN_INI_FILE=/etc/quantum/plugins.ini
- Q_CONF_FILE=/etc/quantum/quantum.conf
# must remove this file from existing location, otherwise Quantum will prefer it
if [[ -e $QUANTUM_DIR/etc/plugins.ini ]]; then
+ # Support prior to common config
+ Q_PLUGIN_INI_FILE=/etc/quantum/plugins.ini
sudo mv $QUANTUM_DIR/etc/plugins.ini $Q_PLUGIN_INI_FILE
fi
+ Q_CONF_FILE=/etc/quantum/quantum.conf
+ Q_API_PASTE_FILE=/etc/quantum/api-paste.ini
if [[ -e $QUANTUM_DIR/etc/quantum.conf ]]; then
sudo mv $QUANTUM_DIR/etc/quantum.conf $Q_CONF_FILE
fi
+ if [[ -e $QUANTUM_DIR/etc/api-paste.ini ]]; then
+ sudo mv $QUANTUM_DIR/etc/api-paste.ini $Q_API_PASTE_FILE
+ fi
+
if is_service_enabled mysql; then
mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e "DROP DATABASE IF EXISTS $Q_DB_NAME;"
mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e "CREATE DATABASE IF NOT EXISTS $Q_DB_NAME CHARACTER SET utf8;"
@@ -1102,9 +1111,16 @@
echo "mysql must be enabled in order to use the $Q_PLUGIN Quantum plugin."
exit 1
fi
- sudo sed -i -e "s/^provider =.*$/provider = $Q_PLUGIN_CLASS/g" $Q_PLUGIN_INI_FILE
- screen_it q-svc "cd $QUANTUM_DIR && python $QUANTUM_DIR/bin/quantum-server $Q_CONF_FILE"
+ # Update either configuration file with plugin or old plugin file
+ # file checked below exists only in common config version
+ if [[ -e $QUANTUM_DIR/quantum/tests/etc/quantum.conf.test ]]; then
+ sudo sed -i -e "s/^core_plugin =.*$/core_plugin = $Q_PLUGIN_CLASS/g" $Q_CONF_FILE
+ else
+ sudo sed -i -e "s/^provider =.*$/provider = $Q_PLUGIN_CLASS/g" $Q_PLUGIN_INI_FILE
+ fi
+
+ screen_it q-svc "cd $QUANTUM_DIR && python $QUANTUM_DIR/bin/quantum-server --config-file $Q_CONF_FILE"
fi
# Quantum agent (for compute nodes)
@@ -1178,9 +1194,25 @@
cp -p $NOVA_DIR/etc/nova/policy.json $NOVA_CONF_DIR
+# If Nova ships the new rootwrap.d config files, deploy them
+# (owned by root) and add a parameter to $NOVA_ROOTWRAP
+ROOTWRAP_SUDOER_CMD="$NOVA_ROOTWRAP"
+if [[ -d $NOVA_DIR/etc/nova/rootwrap.d ]]; then
+ # Wipe any existing rootwrap.d files first
+ if [[ -d $NOVA_CONF_DIR/rootwrap.d ]]; then
+ sudo rm -rf $NOVA_CONF_DIR/rootwrap.d
+ fi
+ sudo mkdir -m 755 $NOVA_CONF_DIR/rootwrap.d
+ sudo cp $NOVA_DIR/etc/nova/rootwrap.d/* $NOVA_CONF_DIR/rootwrap.d
+ sudo chown -R root:root $NOVA_CONF_DIR/rootwrap.d
+ sudo chmod 644 $NOVA_CONF_DIR/rootwrap.d/*
+ NOVA_ROOTWRAP="$NOVA_ROOTWRAP $NOVA_CONF_DIR/rootwrap.d"
+ ROOTWRAP_SUDOER_CMD="$NOVA_ROOTWRAP *"
+fi
+
# Set up the rootwrap sudoers
TEMPFILE=`mktemp`
-echo "$USER ALL=(root) NOPASSWD: $NOVA_ROOTWRAP" >$TEMPFILE
+echo "$USER ALL=(root) NOPASSWD: $ROOTWRAP_SUDOER_CMD" >$TEMPFILE
chmod 0440 $TEMPFILE
sudo chown root:root $TEMPFILE
sudo mv $TEMPFILE /etc/sudoers.d/nova-rootwrap