Merge "fix ceilometer ENABLE_SERVICES comment"
diff --git a/exercises/quantum-adv-test.sh b/exercises/quantum-adv-test.sh
index fbb1b77..34f4f62 100755
--- a/exercises/quantum-adv-test.sh
+++ b/exercises/quantum-adv-test.sh
@@ -43,13 +43,12 @@
# Import configuration
source $TOP_DIR/openrc
-# If quantum is not enabled we exit with exitcode 55 which mean
-# exercise is skipped.
-is_service_enabled quantum && is_service_enabled q-agt && is_service_enabled q-dhcp || exit 55
-
-# Import quantum fucntions
+# Import quantum functions
source $TOP_DIR/lib/quantum
+# If quantum is not enabled we exit with exitcode 55, which means exercise is skipped.
+quantum_plugin_check_adv_test_requirements || exit 55
+
# Import exercise configuration
source $TOP_DIR/exerciserc
diff --git a/lib/ceilometer b/lib/ceilometer
index 0f0265d..90a1884 100644
--- a/lib/ceilometer
+++ b/lib/ceilometer
@@ -70,7 +70,7 @@
iniset_rpc_backend ceilometer $CEILOMETER_CONF DEFAULT
- iniset $CEILOMETER_CONF DEFAULT notification_topics 'notifications,glance_notifications'
+ iniset $CEILOMETER_CONF DEFAULT notification_topics 'notifications'
iniset $CEILOMETER_CONF DEFAULT verbose True
# Install the policy file for the API server
diff --git a/lib/heat b/lib/heat
index cd0a204..0c95ebb 100644
--- a/lib/heat
+++ b/lib/heat
@@ -159,7 +159,6 @@
recreate_database heat utf8
$HEAT_DIR/bin/heat-db-setup $os_PACKAGE -r $DATABASE_PASSWORD
- $HEAT_DIR/tools/nova_create_flavors.sh
create_heat_cache_dir
}
diff --git a/lib/horizon b/lib/horizon
index 3d8b3e6..1ee530e 100644
--- a/lib/horizon
+++ b/lib/horizon
@@ -38,6 +38,18 @@
APACHE_USER=${APACHE_USER:-$USER}
APACHE_GROUP=${APACHE_GROUP:-$(id -gn $APACHE_USER)}
+# Set up service name and configuration path
+if is_ubuntu; then
+ APACHE_NAME=apache2
+ APACHE_CONF=sites-available/horizon
+elif is_fedora; then
+ APACHE_NAME=httpd
+ APACHE_CONF=conf.d/horizon.conf
+elif is_suse; then
+ APACHE_NAME=apache2
+ APACHE_CONF=vhosts.d/horizon.conf
+fi
+
# Functions
# ---------
@@ -135,8 +147,6 @@
HORIZON_REQUIRE=''
if is_ubuntu; then
- APACHE_NAME=apache2
- APACHE_CONF=sites-available/horizon
# Clean up the old config name
sudo rm -f /etc/apache2/sites-enabled/000-default
# Be a good citizen and use the distro tools here
@@ -145,9 +155,6 @@
# WSGI isn't enabled by default, enable it
sudo a2enmod wsgi
elif is_fedora; then
- APACHE_NAME=httpd
- APACHE_CONF=conf.d/horizon.conf
-
if [[ "$os_RELEASE" -ge "18" ]]; then
# fedora 18 has Require all denied in its httpd.conf
# and requires explicit Require all granted
@@ -155,14 +162,16 @@
fi
sudo sed '/^Listen/s/^.*$/Listen 0.0.0.0:80/' -i /etc/httpd/conf/httpd.conf
elif is_suse; then
- APACHE_NAME=apache2
- APACHE_CONF=vhosts.d/horizon.conf
# WSGI isn't enabled by default, enable it
sudo a2enmod wsgi
else
exit_distro_not_supported "apache configuration"
fi
+ # Remove old log files that could mess with how devstack detects whether Horizon
+ # has been successfully started (see start_horizon() and functions::screen_it())
+ sudo rm -f /var/log/$APACHE_NAME/horizon_*
+
# Configure apache to run horizon
sudo sh -c "sed -e \"
s,%USER%,$APACHE_USER,g;
@@ -219,12 +228,8 @@
# stop_horizon() - Stop running processes (non-screen)
function stop_horizon() {
- if is_ubuntu; then
- stop_service apache2
- elif is_fedora; then
- stop_service httpd
- elif is_suse; then
- stop_service apache2
+ if [ -n "$APACHE_NAME" ]; then
+ stop_service $APACHE_NAME
else
exit_distro_not_supported "apache configuration"
fi
diff --git a/lib/quantum b/lib/quantum
index 293ef3a..dfd73e9 100644
--- a/lib/quantum
+++ b/lib/quantum
@@ -397,6 +397,10 @@
pid=$(ps aux | awk '/[d]nsmasq.+interface=(tap|ns-)/ { print $2 }')
[ ! -z "$pid" ] && sudo kill -9 $pid
fi
+ if is_service_enabled q-meta; then
+ pid=$(ps aux | awk '/quantum-ns-metadata-proxy/ { print $2 }')
+ [ ! -z "$pid" ] && sudo kill -9 $pid
+ fi
}
# cleanup_quantum() - Remove residual data files, anything left over from previous
diff --git a/lib/quantum_plugins/README.md b/lib/quantum_plugins/README.md
index 05bfb85..e829940 100644
--- a/lib/quantum_plugins/README.md
+++ b/lib/quantum_plugins/README.md
@@ -34,3 +34,5 @@
* ``quantum_plugin_setup_interface_driver``
* ``has_quantum_plugin_security_group``:
return 0 if the plugin support quantum security group otherwise return 1
+* ``quantum_plugin_check_adv_test_requirements``:
+ return 0 if requirements are satisfied otherwise return 1
diff --git a/lib/quantum_plugins/bigswitch_floodlight b/lib/quantum_plugins/bigswitch_floodlight
index 4857f49..edee0eb 100644
--- a/lib/quantum_plugins/bigswitch_floodlight
+++ b/lib/quantum_plugins/bigswitch_floodlight
@@ -56,5 +56,9 @@
return 1
}
+function quantum_plugin_check_adv_test_requirements() {
+ is_service_enabled q-agt && is_service_enabled q-dhcp && return 0
+}
+
# Restore xtrace
$MY_XTRACE
diff --git a/lib/quantum_plugins/brocade b/lib/quantum_plugins/brocade
index 6e26ad7..fc86deb 100644
--- a/lib/quantum_plugins/brocade
+++ b/lib/quantum_plugins/brocade
@@ -50,5 +50,9 @@
return 0
}
+function quantum_plugin_check_adv_test_requirements() {
+ is_service_enabled q-agt && is_service_enabled q-dhcp && return 0
+}
+
# Restore xtrace
$BRCD_XTRACE
diff --git a/lib/quantum_plugins/linuxbridge b/lib/quantum_plugins/linuxbridge
index 324e255..b4b52e9 100644
--- a/lib/quantum_plugins/linuxbridge
+++ b/lib/quantum_plugins/linuxbridge
@@ -86,5 +86,9 @@
return 0
}
+function quantum_plugin_check_adv_test_requirements() {
+ is_service_enabled q-agt && is_service_enabled q-dhcp && return 0
+}
+
# Restore xtrace
$MY_XTRACE
diff --git a/lib/quantum_plugins/nec b/lib/quantum_plugins/nec
index f61f50b..4a2a497 100644
--- a/lib/quantum_plugins/nec
+++ b/lib/quantum_plugins/nec
@@ -118,5 +118,9 @@
return 0
}
+function quantum_plugin_check_adv_test_requirements() {
+ is_service_enabled q-agt && is_service_enabled q-dhcp && return 0
+}
+
# Restore xtrace
$MY_XTRACE
diff --git a/lib/quantum_plugins/nicira b/lib/quantum_plugins/nicira
index 6eefb02..305c3bf 100644
--- a/lib/quantum_plugins/nicira
+++ b/lib/quantum_plugins/nicira
@@ -146,5 +146,9 @@
return 0
}
+function quantum_plugin_check_adv_test_requirements() {
+ is_service_enabled q-dhcp && return 0
+}
+
# Restore xtrace
$MY_XTRACE
diff --git a/lib/quantum_plugins/openvswitch b/lib/quantum_plugins/openvswitch
index ab16483..6293257 100644
--- a/lib/quantum_plugins/openvswitch
+++ b/lib/quantum_plugins/openvswitch
@@ -144,5 +144,9 @@
return 0
}
+function quantum_plugin_check_adv_test_requirements() {
+ is_service_enabled q-agt && is_service_enabled q-dhcp && return 0
+}
+
# Restore xtrace
$MY_XTRACE
diff --git a/lib/quantum_plugins/plumgrid b/lib/quantum_plugins/plumgrid
index 912aa7e..1456710 100644
--- a/lib/quantum_plugins/plumgrid
+++ b/lib/quantum_plugins/plumgrid
@@ -35,5 +35,8 @@
:
}
+function quantum_plugin_check_adv_test_requirements() {
+ is_service_enabled q-agt && is_service_enabled q-dhcp && return 0
+}
# Restore xtrace
$MY_XTRACE
diff --git a/lib/quantum_plugins/ryu b/lib/quantum_plugins/ryu
index 1139232..1b039dc 100644
--- a/lib/quantum_plugins/ryu
+++ b/lib/quantum_plugins/ryu
@@ -71,5 +71,9 @@
return 0
}
+function quantum_plugin_check_adv_test_requirements() {
+ is_service_enabled q-agt && is_service_enabled q-dhcp && return 0
+}
+
# Restore xtrace
$MY_XTRACE
diff --git a/stack.sh b/stack.sh
index 37abd6d..9bbf2e4 100755
--- a/stack.sh
+++ b/stack.sh
@@ -563,6 +563,10 @@
# ============================
if [[ is_fedora && $DISTRO =~ (rhel6) ]]; then
+ # Avoid having to configure selinux to allow things like httpd to
+ # access horizion files or run binaries like nodejs (LP#1175444)
+ sudo setenforce 0
+
# An old version (2.0.1) of python-crypto is probably installed on
# a fresh system, via the dependency chain
# cas->python-paramiko->python-crypto (related to anaconda).
diff --git a/tools/xen/install_os_domU.sh b/tools/xen/install_os_domU.sh
index bcea939..0e194fe 100755
--- a/tools/xen/install_os_domU.sh
+++ b/tools/xen/install_os_domU.sh
@@ -250,11 +250,12 @@
mkdir -p $HTTP_SERVER_LOCATION
fi
cp -f $THIS_DIR/devstackubuntupreseed.cfg $HTTP_SERVER_LOCATION
- MIRROR=${MIRROR:-""}
- if [ -n "$MIRROR" ]; then
- sed -e "s,d-i mirror/http/hostname string .*,d-i mirror/http/hostname string $MIRROR," \
- -i "${HTTP_SERVER_LOCATION}/devstackubuntupreseed.cfg"
- fi
+
+ sed \
+ -e "s,\(d-i mirror/http/hostname string\).*,\1 $UBUNTU_INST_HTTP_HOSTNAME,g" \
+ -e "s,\(d-i mirror/http/directory string\).*,\1 $UBUNTU_INST_HTTP_DIRECTORY,g" \
+ -e "s,\(d-i mirror/http/proxy string\).*,\1 $UBUNTU_INST_HTTP_PROXY,g" \
+ -i "${HTTP_SERVER_LOCATION}/devstackubuntupreseed.cfg"
fi
# Update the template
diff --git a/tools/xen/scripts/install_ubuntu_template.sh b/tools/xen/scripts/install_ubuntu_template.sh
index 00cabb0..b7a8eff 100755
--- a/tools/xen/scripts/install_ubuntu_template.sh
+++ b/tools/xen/scripts/install_ubuntu_template.sh
@@ -69,11 +69,16 @@
xe template-param-set uuid=$new_uuid \
other-config:install-methods=http \
- other-config:install-repository="$UBUNTU_INST_REPOSITORY" \
+ other-config:install-repository="http://${UBUNTU_INST_HTTP_HOSTNAME}${UBUNTU_INST_HTTP_DIRECTORY}" \
PV-args="$pvargs" \
other-config:debian-release="$UBUNTU_INST_RELEASE" \
other-config:default_template=true \
other-config:disks='<provision><disk device="0" size="'$disk_size'" sr="" bootable="true" type="system"/></provision>' \
other-config:install-arch="$UBUNTU_INST_ARCH"
+if ! [ -z "$UBUNTU_INST_HTTP_PROXY" ]; then
+ xe template-param-set uuid=$new_uuid \
+ other-config:install-proxy="$UBUNTU_INST_HTTP_PROXY"
+fi
+
echo "Ubuntu template installed uuid:$new_uuid"
diff --git a/tools/xen/xenrc b/tools/xen/xenrc
index 1956623..e50f954 100644
--- a/tools/xen/xenrc
+++ b/tools/xen/xenrc
@@ -64,7 +64,9 @@
# XenServer 6.1 and later or XCP 1.6 or later
# 11.10 is only really supported with XenServer 6.0.2 and later
UBUNTU_INST_ARCH="amd64"
-UBUNTU_INST_REPOSITORY="http://archive.ubuntu.net/ubuntu"
+UBUNTU_INST_HTTP_HOSTNAME="archive.ubuntu.net"
+UBUNTU_INST_HTTP_DIRECTORY="/ubuntu"
+UBUNTU_INST_HTTP_PROXY=""
UBUNTU_INST_LOCALE="en_US"
UBUNTU_INST_KEYBOARD="us"
# network configuration for ubuntu netinstall