Merge "Drop opensuse platform job"
diff --git a/doc/source/systemd.rst b/doc/source/systemd.rst
index 4f83b36..7853520 100644
--- a/doc/source/systemd.rst
+++ b/doc/source/systemd.rst
@@ -196,31 +196,6 @@
.. _`remote-pdb`: https://pypi.org/project/remote-pdb/
-Known Issues
-============
-
-Be careful about systemd python libraries. There are 3 of them on
-pypi, and they are all very different. They unfortunately all install
-into the ``systemd`` namespace, which can cause some issues.
-
-- ``systemd-python`` - this is the upstream maintained library, it has
- a version number like systemd itself (currently ``234``). This is
- the one you want.
-- ``systemd`` - a python 3 only library, not what you want.
-- ``python-systemd`` - another library you don't want. Installing it
- on a system will break ansible's ability to run. The package has now
- been renamed to ``cysystemd``, which avoids the namespace collision.
-
-
-If we were using user units, the ``[Service]`` - ``Group=`` parameter
-doesn't seem to work with user units, even though the documentation
-says that it should. This means that we will need to do an explicit
-``/usr/bin/sg``. This has the downside of making the SYSLOG_IDENTIFIER
-be ``sg``. We can explicitly set that with ``SyslogIdentifier=``, but
-it's really unfortunate that we're going to need this work
-around. This is currently not a problem because we're only using
-system units.
-
Future Work
===========
diff --git a/files/debs/general b/files/debs/general
index 4bf1ff4..d64417f 100644
--- a/files/debs/general
+++ b/files/debs/general
@@ -28,6 +28,7 @@
psmisc
python3-dev
python3-pip
+python3-systemd
python3-venv
tar
tcpdump
diff --git a/files/rpms-suse/general b/files/rpms-suse/general
index 0af2b5b..0de0876 100644
--- a/files/rpms-suse/general
+++ b/files/rpms-suse/general
@@ -20,10 +20,10 @@
pcre-devel # python-pcre
postgresql-devel # psycopg2
psmisc
+python3-systemd
python-cmd2 # dist:opensuse-12.3
python-devel # pyOpenSSL
python-xml
-systemd-devel # for systemd-python
tar
tcpdump
unzip
diff --git a/files/rpms/general b/files/rpms/general
index c42ce52..cfcd7ff 100644
--- a/files/rpms/general
+++ b/files/rpms/general
@@ -25,8 +25,8 @@
psmisc
python3-devel
python3-pip
+python3-systemd
redhat-rpm-config # missing dep for gcc hardening flags, see rhbz#1217376
-systemd-devel # for systemd-python
tar
tcpdump
unzip
diff --git a/functions b/functions
index e679b0f..fc87a55 100644
--- a/functions
+++ b/functions
@@ -759,16 +759,14 @@
local loopback_disk_size=${3}
local key
- # Create a loopback disk and format it to XFS.
- if [[ -e ${disk_image} ]]; then
- if egrep -q ${storage_data_dir} /proc/mounts; then
- sudo umount ${storage_data_dir}
- sudo rm -f ${disk_image}
- fi
- fi
+ key=$(echo $disk_image | sed 's#/.##')
+ key="devstack-$key"
- sudo mkdir -p ${storage_data_dir}/drives/images
+ destroy_disk $disk_image $storage_data_dir
+ # Create an empty file of the correct size (and ensure the
+ # directory structure up to that path exists)
+ sudo mkdir -p $(dirname ${disk_image})
sudo truncate -s ${loopback_disk_size} ${disk_image}
# Make a fresh XFS filesystem. Use bigger inodes so xattr can fit in
@@ -778,16 +776,9 @@
# Swift and Ceph.
sudo mkfs.xfs -f -i size=1024 ${disk_image}
- # Unmount the target, if mounted
- if egrep -q $storage_data_dir /proc/mounts; then
- sudo umount $storage_data_dir
- fi
-
- # Clear any old fstab rules, install a new one for this disk, and mount it
- key=$(echo $disk_image | sed 's#/.##')
- key="devstack-$key"
- sudo sed -i '/.*comment=$key.*/ d' /etc/fstab
+ # Install a new loopback fstab entry for this disk image, and mount it
echo "$disk_image $storage_data_dir xfs loop,noatime,nodiratime,logbufs=8,comment=$key 0 0" | sudo tee -a /etc/fstab
+ sudo mkdir -p $storage_data_dir
sudo mount -v $storage_data_dir
}
@@ -795,6 +786,10 @@
function destroy_disk {
local disk_image=$1
local storage_data_dir=$2
+ local key
+
+ key=$(echo $disk_image | sed 's#/.##')
+ key="devstack-$key"
# Unmount the target, if mounted
if egrep -q $storage_data_dir /proc/mounts; then
@@ -802,10 +797,10 @@
fi
# Clear any fstab rules
- sed -i '/.*comment=$key.*/ d' /etc/fstab
+ sudo sed -i '/.*comment=$key.*/ d' /etc/fstab
# Delete the file
- sudo rm $disk_image
+ sudo rm -f $disk_image
}
diff --git a/lib/cinder b/lib/cinder
index b892b91..6c97e11 100644
--- a/lib/cinder
+++ b/lib/cinder
@@ -236,6 +236,11 @@
iniset $CINDER_CONF key_manager backend cinder.keymgr.conf_key_mgr.ConfKeyManager
iniset $CINDER_CONF key_manager fixed_key $(openssl rand -hex 16)
+ # Avoid RPC timeouts in slow CI and test environments by doubling the
+ # default response timeout set by RPC clients. See bug #1873234 for more
+ # details and example failures.
+ iniset $CINDER_CONF DEFAULT rpc_response_timeout 120
+
if is_service_enabled c-vol && [[ -n "$CINDER_ENABLED_BACKENDS" ]]; then
local enabled_backends=""
local default_name=""
diff --git a/lib/tempest b/lib/tempest
index 552e1c2..8ee986d 100644
--- a/lib/tempest
+++ b/lib/tempest
@@ -703,6 +703,9 @@
git checkout $TEMPEST_BRANCH
tox -r --notest -efull
+ # TODO: remove the trailing pip constraint when a proper fix
+ # arrives for bug https://bugs.launchpad.net/devstack/+bug/1906322
+ $TEMPEST_DIR/.tox/tempest/bin/pip install -U -r $RC_DIR/tools/cap-pip.txt
# NOTE(mtreinish) Respect constraints in the tempest full venv, things that
# are using a tox job other than full will not be respecting constraints but
# running pip install -U on tempest requirements
diff --git a/stack.sh b/stack.sh
index bb4dfa2..c334159 100755
--- a/stack.sh
+++ b/stack.sh
@@ -96,19 +96,25 @@
# templates and other useful files in the ``files`` subdirectory
FILES=$TOP_DIR/files
if [ ! -d $FILES ]; then
- die $LINENO "missing devstack/files"
+ set +o xtrace
+ echo "missing devstack/files"
+ exit 1
fi
# ``stack.sh`` keeps function libraries here
# Make sure ``$TOP_DIR/inc`` directory is present
if [ ! -d $TOP_DIR/inc ]; then
- die $LINENO "missing devstack/inc"
+ set +o xtrace
+ echo "missing devstack/inc"
+ exit 1
fi
# ``stack.sh`` keeps project libraries here
# Make sure ``$TOP_DIR/lib`` directory is present
if [ ! -d $TOP_DIR/lib ]; then
- die $LINENO "missing devstack/lib"
+ set +o xtrace
+ echo "missing devstack/lib"
+ exit 1
fi
# Check if run in POSIX shell
@@ -761,7 +767,6 @@
# Install subunit for the subunit output stream
pip_install -U os-testr
-pip_install_gr systemd-python
# the default rate limit of 1000 messages / 30 seconds is not
# sufficient given how verbose our logging is.
iniset -sudo /etc/systemd/journald.conf "Journal" "RateLimitBurst" "0"
diff --git a/tools/debug_function.sh b/tools/debug_function.sh
new file mode 100755
index 0000000..68bd85d
--- /dev/null
+++ b/tools/debug_function.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+# This is a small helper to speed development and debug with devstack.
+# It is intended to help you run a single function in a project module
+# without having to re-stack.
+#
+# For example, to run the just start_glance function, do this:
+#
+# ./tools/debug_function.sh glance start_glance
+
+if [ ! -f "lib/$1" ]; then
+ echo "Usage: $0 [project] [function] [function...]"
+fi
+
+source stackrc
+source lib/$1
+shift
+set -x
+while [ "$1" ]; do
+ echo ==== Running $1 ====
+ $1
+ echo ==== Done with $1 ====
+ shift
+done