Merge "xenapi: /boot/guest should point to local SR"
diff --git a/functions b/functions
index edc4bf9..445af5f 100644
--- a/functions
+++ b/functions
@@ -408,6 +408,9 @@
else
DISTRO="sle${os_RELEASE}sp${os_UPDATE}"
fi
+ elif [[ "$os_VENDOR" =~ (Red Hat) || "$os_VENDOR" =~ (CentOS) ]]; then
+ # Drop the . release as we assume it's compatible
+ DISTRO="rhel${os_RELEASE::1}"
else
# Catch-all for now is Vendor + Release + Update
DISTRO="$os_VENDOR-$os_RELEASE.$os_UPDATE"
@@ -440,7 +443,6 @@
[ "$os_VENDOR" = "Fedora" ] || [ "$os_VENDOR" = "Red Hat" ] || [ "$os_VENDOR" = "CentOS" ]
}
-
# Determine if current distribution is a SUSE-based distribution
# (openSUSE, SLE).
# is_suse
diff --git a/lib/baremetal b/lib/baremetal
index 24cce9f..17a967f 100644
--- a/lib/baremetal
+++ b/lib/baremetal
@@ -427,7 +427,7 @@
"$mac_1" \
| grep ' id ' | get_field 2 )
[ $? -eq 0 ] || [ "$id" ] || die "Error adding baremetal node"
- id2=$(nova baremetal-add-interface "$id" "$mac_2" )
+ id2=$(nova baremetal-interface-add "$id" "$mac_2" )
[ $? -eq 0 ] || [ "$id2" ] || die "Error adding interface to barmetal node $id"
}
diff --git a/lib/ceilometer b/lib/ceilometer
index 58cafd1..f7d14d5 100644
--- a/lib/ceilometer
+++ b/lib/ceilometer
@@ -68,7 +68,6 @@
iniset $CEILOMETER_CONF DEFAULT notification_topics 'notifications,glance_notifications'
iniset $CEILOMETER_CONF DEFAULT verbose True
- iniset $CEILOMETER_CONF DEFAULT `database_connection_url nova`
# Install the policy file for the API server
cp $CEILOMETER_DIR/etc/ceilometer/policy.json $CEILOMETER_CONF_DIR
diff --git a/lib/quantum b/lib/quantum
index 68c0539..e2a0d53 100644
--- a/lib/quantum
+++ b/lib/quantum
@@ -92,6 +92,9 @@
Q_USE_DEBUG_COMMAND=${Q_USE_DEBUG_COMMAND:-False}
# The name of the default q-l3 router
Q_ROUTER_NAME=${Q_ROUTER_NAME:-router1}
+# List of config file names in addition to the main plugin config file
+# See _configure_quantum_common() for details about setting it up
+declare -a Q_PLUGIN_EXTRA_CONF_FILES
if is_service_enabled quantum; then
Q_RR_CONF_FILE=$QUANTUM_CONF_DIR/rootwrap.conf
@@ -358,8 +361,14 @@
# Start running processes, including screen
function start_quantum_service_and_check() {
+ # build config-file options
+ local cfg_file
+ local CFG_FILE_OPTIONS="--config-file $QUANTUM_CONF --config-file /$Q_PLUGIN_CONF_FILE"
+ for cfg_file in ${Q_PLUGIN_EXTRA_CONF_FILES[@]}; do
+ CFG_FILE_OPTIONS+=" --config-file /$cfg_file"
+ done
# Start the Quantum service
- screen_it q-svc "cd $QUANTUM_DIR && python $QUANTUM_DIR/bin/quantum-server --config-file $QUANTUM_CONF --config-file /$Q_PLUGIN_CONF_FILE"
+ screen_it q-svc "cd $QUANTUM_DIR && python $QUANTUM_DIR/bin/quantum-server $CFG_FILE_OPTIONS"
echo "Waiting for Quantum to start..."
if ! timeout $SERVICE_TIMEOUT sh -c "while ! http_proxy= wget -q -O- http://$Q_HOST:$Q_PORT; do sleep 1; done"; then
die $LINENO "Quantum did not start"
@@ -405,8 +414,11 @@
cp $QUANTUM_DIR/etc/quantum.conf $QUANTUM_CONF
- # set plugin-specific variables
- # Q_PLUGIN_CONF_PATH, Q_PLUGIN_CONF_FILENAME, Q_DB_NAME, Q_PLUGIN_CLASS
+ # Set plugin-specific variables Q_DB_NAME, Q_PLUGIN_CLASS.
+ # For main plugin config file, set Q_PLUGIN_CONF_PATH, Q_PLUGIN_CONF_FILENAME.
+ # For addition plugin config files, set Q_PLUGIN_EXTRA_CONF_PATH,
+ # Q_PLUGIN_EXTRA_CONF_FILES. For example:
+ # Q_PLUGIN_EXTRA_CONF_FILES=(file1, file2)
quantum_plugin_configure_common
if [[ $Q_PLUGIN_CONF_PATH == '' || $Q_PLUGIN_CONF_FILENAME == '' || $Q_PLUGIN_CLASS == '' ]]; then
@@ -421,6 +433,22 @@
iniset /$Q_PLUGIN_CONF_FILE DATABASE sql_connection `database_connection_url $Q_DB_NAME`
iniset $QUANTUM_CONF DEFAULT state_path $DATA_DIR/quantum
+ # If addition config files are set, make sure their path name is set as well
+ if [[ ${#Q_PLUGIN_EXTRA_CONF_FILES[@]} > 0 && $Q_PLUGIN_EXTRA_CONF_PATH == '' ]]; then
+ die $LINENO "Quantum additional plugin config not set.. exiting"
+ fi
+
+ # If additional config files exist, copy them over to quantum configuration
+ # directory
+ if [[ $Q_PLUGIN_EXTRA_CONF_PATH != '' ]]; then
+ mkdir -p /$Q_PLUGIN_EXTRA_CONF_PATH
+ local f
+ for (( f=0; $f < ${#Q_PLUGIN_EXTRA_CONF_FILES[@]}; f+=1 )); do
+ Q_PLUGIN_EXTRA_CONF_FILES[$f]=$Q_PLUGIN_EXTRA_CONF_PATH/${Q_PLUGIN_EXTRA_CONF_FILES[$f]}
+ cp $QUANTUM_DIR/${Q_PLUGIN_EXTRA_CONF_FILES[$f]} /${Q_PLUGIN_EXTRA_CONF_FILES[$f]}
+ done
+ fi
+
_quantum_setup_rootwrap
}