Add an openSUSE Tumbleweed devstack non-voting check job

This adds the necessary fixes to pass a devstack run
on openSUSE Tumbleweed. Also removes opensuse 42.2 as it
is EOL for some time already and no longer actively tested
in the OpenStack infra.

Depends-On: I1b68c08c07cf6653ea58506f738cbe0054b38f3a
Change-Id: I2894482deef063fd02b0818c695a2ddbf6767039
This commit is contained in:
Dirk Mueller 2018-03-02 00:37:58 +01:00
parent f80c750d75
commit 4404f680f2
6 changed files with 44 additions and 6 deletions

View File

@ -28,6 +28,16 @@
nodes: nodes:
- controller - controller
- nodeset:
name: devstack-single-node-opensuse-tumbleweed
nodes:
- name: controller
label: opensuse-tumbleweed
groups:
- name: tempest
nodes:
- controller
- nodeset: - nodeset:
name: devstack-single-node-fedora-27 name: devstack-single-node-fedora-27
nodes: nodes:
@ -238,10 +248,17 @@
- job: - job:
name: devstack-platform-opensuse-423 name: devstack-platform-opensuse-423
parent: tempest-full parent: tempest-full
description: OpenSuSE 43.2 platform test description: openSUSE 43.2 platform test
nodeset: devstack-single-node-opensuse-423 nodeset: devstack-single-node-opensuse-423
voting: false voting: false
- job:
name: devstack-platform-opensuse-tumbleweed
parent: tempest-full
description: openSUSE Tumbleweed platform test
nodeset: devstack-single-node-opensuse-tumbleweed
voting: false
- job: - job:
name: devstack-platform-fedora-27 name: devstack-platform-fedora-27
parent: tempest-full parent: tempest-full
@ -318,6 +335,7 @@
- devstack - devstack
- devstack-platform-centos-7 - devstack-platform-centos-7
- devstack-platform-opensuse-423 - devstack-platform-opensuse-423
- devstack-platform-opensuse-tumbleweed
- devstack-platform-fedora-27 - devstack-platform-fedora-27
- devstack-multinode - devstack-multinode
- devstack-unit-tests - devstack-unit-tests

View File

@ -373,6 +373,9 @@ function GetDistro {
DISTRO="f$os_RELEASE" DISTRO="f$os_RELEASE"
elif [[ "$os_VENDOR" =~ (openSUSE) ]]; then elif [[ "$os_VENDOR" =~ (openSUSE) ]]; then
DISTRO="opensuse-$os_RELEASE" DISTRO="opensuse-$os_RELEASE"
# Tumbleweed uses "n/a" as a codename, and the release is a datestring
# like 20180218, so not very useful.
[ "$os_CODENAME" = "n/a" ] && DISTRO="opensuse-tumbleweed"
elif [[ "$os_VENDOR" =~ (SUSE LINUX) ]]; then elif [[ "$os_VENDOR" =~ (SUSE LINUX) ]]; then
# just use major release # just use major release
DISTRO="sle${os_RELEASE%.*}" DISTRO="sle${os_RELEASE%.*}"

View File

@ -52,7 +52,20 @@ function install_rpc_backend {
if is_service_enabled rabbit; then if is_service_enabled rabbit; then
# Install rabbitmq-server # Install rabbitmq-server
install_package rabbitmq-server install_package rabbitmq-server
if is_fedora; then if is_suse; then
install_package rabbitmq-server-plugins
# the default systemd socket activation only listens on the loopback interface
# which causes rabbitmq to try to start its own epmd
sudo mkdir -p /etc/systemd/system/epmd.socket.d
cat <<EOF | sudo tee /etc/systemd/system/epmd.socket.d/ports.conf >/dev/null
[Socket]
ListenStream=
ListenStream=[::]:4369
EOF
sudo systemctl daemon-reload
sudo systemctl restart epmd.socket epmd.service
fi
if is_fedora || is_suse; then
sudo systemctl enable rabbitmq-server sudo systemctl enable rabbitmq-server
fi fi
fi fi

View File

@ -557,7 +557,11 @@ EOF
local swift_log_dir=${SWIFT_DATA_DIR}/logs local swift_log_dir=${SWIFT_DATA_DIR}/logs
sudo rm -rf ${swift_log_dir} sudo rm -rf ${swift_log_dir}
sudo install -d -o ${STACK_USER} -g adm ${swift_log_dir}/hourly local swift_log_group=adm
if is_suse; then
swift_log_group=root
fi
sudo install -d -o ${STACK_USER} -g ${swift_log_group} ${swift_log_dir}/hourly
if [[ $SYSLOG != "False" ]]; then if [[ $SYSLOG != "False" ]]; then
sed "s,%SWIFT_LOGDIR%,${swift_log_dir}," $FILES/swift/rsyslog.conf | sudo \ sed "s,%SWIFT_LOGDIR%,${swift_log_dir}," $FILES/swift/rsyslog.conf | sudo \

View File

@ -221,7 +221,7 @@ write_devstack_version
# Warn users who aren't on an explicitly supported distro, but allow them to # Warn users who aren't on an explicitly supported distro, but allow them to
# override check and attempt installation with ``FORCE=yes ./stack`` # override check and attempt installation with ``FORCE=yes ./stack``
if [[ ! ${DISTRO} =~ (xenial|zesty|artful|stretch|jessie|f25|f26|f27|opensuse-42.2|opensuse-42.3|rhel7) ]]; then if [[ ! ${DISTRO} =~ (xenial|zesty|artful|stretch|jessie|f25|f26|f27|opensuse-42.3|opensuse-tumbleweed|rhel7) ]]; then
echo "WARNING: this script has not been tested on $DISTRO" echo "WARNING: this script has not been tested on $DISTRO"
if [[ "$FORCE" != "yes" ]]; then if [[ "$FORCE" != "yes" ]]; then
die $LINENO "If you wish to run this script anyway run with FORCE=yes" die $LINENO "If you wish to run this script anyway run with FORCE=yes"

View File

@ -129,10 +129,10 @@ get_versions
# Eradicate any and all system packages # Eradicate any and all system packages
# Python in fedora depends on the python-pip package so removing it # Python in fedora/suse depends on the python-pip package so removing it
# results in a nonfunctional system. pip on fedora installs to /usr so pip # results in a nonfunctional system. pip on fedora installs to /usr so pip
# can safely override the system pip for all versions of fedora # can safely override the system pip for all versions of fedora
if ! is_fedora ; then if ! is_fedora && ! is_suse; then
uninstall_package python-pip uninstall_package python-pip
uninstall_package python3-pip uninstall_package python3-pip
fi fi