Merge "Show ip address before associating address"
diff --git a/README.md b/README.md
index 46d3f96..8ae4231 100644
--- a/README.md
+++ b/README.md
@@ -186,7 +186,7 @@
If tempest has been successfully configured, a basic set of smoke tests can be run as follows:
$ cd /opt/stack/tempest
- $ nosetests tempest/tests/network/test_network_basic_ops.py
+ $ nosetests tempest/scenario/test_network_basic_ops.py
# Multi-Node Setup
diff --git a/functions b/functions
index b8fd688..fe37e4c 100644
--- a/functions
+++ b/functions
@@ -930,7 +930,7 @@
CMD_PIP=$(get_pip_command)
fi
- if [[ is_fedora && $DISTRO =~ (rhel6) ]]; then
+ if is_fedora && [[ $DISTRO =~ (rhel6) ]]; then
# RHEL6 pip by default doesn't have this (was introduced
# around 0.8.1 or so)
PIP_USE_MIRRORS=${PIP_USE_MIRRORS:-False}
@@ -1116,7 +1116,7 @@
for service in $failures; do
service=`basename $service`
- service=${service::-8}
+ service=${service%.failure}
echo "Error: Service $service is not running"
done
@@ -1128,7 +1128,7 @@
# ``pip install -e`` the package, which processes the dependencies
# using pip before running `setup.py develop`
-# Uses globals ``STACK_USER``, ``TRACK_DEPENDES``, ``*_proxy`
+# Uses globals ``STACK_USER``, ``TRACK_DEPENDS``, ``REQUIREMENTS_DIR``
# setup_develop directory
function setup_develop() {
local project_dir=$1
@@ -1143,20 +1143,9 @@
(cd $REQUIREMENTS_DIR; \
$SUDO_CMD python update.py $project_dir)
- for reqs_file in $project_dir/requirements.txt $project_dir/tools/pip-requires ; do
- if [ -f $reqs_file ] ; then
- pip_install -r $reqs_file
- fi
- done
-
- (cd $project_dir; \
- python setup.py egg_info; \
- $SUDO_CMD \
- HTTP_PROXY=$http_proxy \
- HTTPS_PROXY=$https_proxy \
- NO_PROXY=$no_proxy \
- python setup.py develop \
- )
+ pip_install -e $project_dir
+ # ensure that further actions can do things like setup.py sdist
+ $SUDO_CMD chown -R $STACK_USER $1/*.egg-info
}
diff --git a/lib/neutron b/lib/neutron
index 835f900..c546f37 100644
--- a/lib/neutron
+++ b/lib/neutron
@@ -367,7 +367,9 @@
# init_neutron() - Initialize databases, etc.
function init_neutron() {
- :
+ recreate_database $Q_DB_NAME utf8
+ # Run Neutron db migrations
+ $NEUTRON_BIN_DIR/neutron-db-manage --config-file $NEUTRON_CONF --config-file /$Q_PLUGIN_CONF_FILE upgrade head
}
# install_neutron() - Collect source and prepare
@@ -614,12 +616,6 @@
cp $NEUTRON_DIR/etc/api-paste.ini $Q_API_PASTE_FILE
cp $NEUTRON_DIR/etc/policy.json $Q_POLICY_FILE
- if is_service_enabled $DATABASE_BACKENDS; then
- recreate_database $Q_DB_NAME utf8
- else
- die $LINENO "A database must be enabled in order to use the $Q_PLUGIN Neutron plugin."
- fi
-
# Update either configuration file with plugin
iniset $NEUTRON_CONF DEFAULT core_plugin $Q_PLUGIN_CLASS
diff --git a/lib/swift b/lib/swift
index c93b8b3..8e64152 100644
--- a/lib/swift
+++ b/lib/swift
@@ -58,8 +58,8 @@
SWIFT_LOOPBACK_DISK_SIZE=${SWIFT_LOOPBACK_DISK_SIZE:-1000000}
# Set ``SWIFT_EXTRAS_MIDDLEWARE`` to extras middlewares.
-# Default is ``staticweb, tempurl, bulk, formpost``
-SWIFT_EXTRAS_MIDDLEWARE=${SWIFT_EXTRAS_MIDDLEWARE:-tempurl formpost staticweb bulk}
+# Default is ``staticweb, tempurl, formpost``
+SWIFT_EXTRAS_MIDDLEWARE=${SWIFT_EXTRAS_MIDDLEWARE:-tempurl formpost staticweb}
# The ring uses a configurable number of bits from a path’s MD5 hash as
# a partition index that designates a device. The number of bits kept
diff --git a/stack.sh b/stack.sh
index c9d394c..880529d 100755
--- a/stack.sh
+++ b/stack.sh
@@ -601,23 +601,29 @@
sudo setenforce 0
fi
- # An old version of ``python-crypto`` (2.0.1) may be installed on a
- # fresh system via Anaconda and the dependency chain
- # ``cas`` -> ``python-paramiko`` -> ``python-crypto``.
- # ``pip uninstall pycrypto`` will remove the packaged ``.egg-info`` file
- # but leave most of the actual library files behind in ``/usr/lib64/python2.6/Crypto``.
- # Later ``pip install pycrypto`` will install over the packaged files resulting
- # in a useless mess of old, rpm-packaged files and pip-installed files.
- # Remove the package so that ``pip install python-crypto`` installs cleanly.
- # Note: other RPM packages may require ``python-crypto`` as well. For example,
- # RHEL6 does not install ``python-paramiko packages``.
- uninstall_package python-crypto
+ # The following workarounds break xenserver
+ if [ "$VIRT_DRIVER" != 'xenserver' ]; then
+ # An old version of ``python-crypto`` (2.0.1) may be installed on a
+ # fresh system via Anaconda and the dependency chain
+ # ``cas`` -> ``python-paramiko`` -> ``python-crypto``.
+ # ``pip uninstall pycrypto`` will remove the packaged ``.egg-info``
+ # file but leave most of the actual library files behind in
+ # ``/usr/lib64/python2.6/Crypto``. Later ``pip install pycrypto``
+ # will install over the packaged files resulting
+ # in a useless mess of old, rpm-packaged files and pip-installed files.
+ # Remove the package so that ``pip install python-crypto`` installs
+ # cleanly.
+ # Note: other RPM packages may require ``python-crypto`` as well.
+ # For example, RHEL6 does not install ``python-paramiko packages``.
+ uninstall_package python-crypto
- # A similar situation occurs with ``python-lxml``, which is required by
- # ``ipa-client``, an auditing package we don't care about. The
- # build-dependencies needed for ``pip install lxml`` (``gcc``,
- # ``libxml2-dev`` and ``libxslt-dev``) are present in ``files/rpms/general``.
- uninstall_package python-lxml
+ # A similar situation occurs with ``python-lxml``, which is required by
+ # ``ipa-client``, an auditing package we don't care about. The
+ # build-dependencies needed for ``pip install lxml`` (``gcc``,
+ # ``libxml2-dev`` and ``libxslt-dev``) are present in
+ # ``files/rpms/general``.
+ uninstall_package python-lxml
+ fi
# If the ``dbus`` package was installed by DevStack dependencies the
# uuid may not be generated because the service was never started (PR#598200),
@@ -939,7 +945,10 @@
echo_summary "Configuring Neutron"
configure_neutron
- init_neutron
+ # Run init_neutron only on the node hosting the neutron API server
+ if is_service_enabled $DATABASE_BACKENDS && is_service_enabled q-svc; then
+ init_neutron
+ fi
fi
# Some Neutron plugins require network controllers which are not