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
| ... | ... |
@@ -29,6 +29,16 @@ |
| 29 | 29 |
- controller |
| 30 | 30 |
|
| 31 | 31 |
- nodeset: |
| 32 |
+ name: devstack-single-node-opensuse-tumbleweed |
|
| 33 |
+ nodes: |
|
| 34 |
+ - name: controller |
|
| 35 |
+ label: opensuse-tumbleweed |
|
| 36 |
+ groups: |
|
| 37 |
+ - name: tempest |
|
| 38 |
+ nodes: |
|
| 39 |
+ - controller |
|
| 40 |
+ |
|
| 41 |
+- nodeset: |
|
| 32 | 42 |
name: devstack-single-node-fedora-27 |
| 33 | 43 |
nodes: |
| 34 | 44 |
- name: controller |
| ... | ... |
@@ -238,11 +248,18 @@ |
| 238 | 238 |
- job: |
| 239 | 239 |
name: devstack-platform-opensuse-423 |
| 240 | 240 |
parent: tempest-full |
| 241 |
- description: OpenSuSE 43.2 platform test |
|
| 241 |
+ description: openSUSE 43.2 platform test |
|
| 242 | 242 |
nodeset: devstack-single-node-opensuse-423 |
| 243 | 243 |
voting: false |
| 244 | 244 |
|
| 245 | 245 |
- job: |
| 246 |
+ name: devstack-platform-opensuse-tumbleweed |
|
| 247 |
+ parent: tempest-full |
|
| 248 |
+ description: openSUSE Tumbleweed platform test |
|
| 249 |
+ nodeset: devstack-single-node-opensuse-tumbleweed |
|
| 250 |
+ voting: false |
|
| 251 |
+ |
|
| 252 |
+- job: |
|
| 246 | 253 |
name: devstack-platform-fedora-27 |
| 247 | 254 |
parent: tempest-full |
| 248 | 255 |
description: Fedora 27 platform test |
| ... | ... |
@@ -318,6 +335,7 @@ |
| 318 | 318 |
- devstack |
| 319 | 319 |
- devstack-platform-centos-7 |
| 320 | 320 |
- devstack-platform-opensuse-423 |
| 321 |
+ - devstack-platform-opensuse-tumbleweed |
|
| 321 | 322 |
- devstack-platform-fedora-27 |
| 322 | 323 |
- devstack-multinode |
| 323 | 324 |
- devstack-unit-tests |
| ... | ... |
@@ -373,6 +373,9 @@ function GetDistro {
|
| 373 | 373 |
DISTRO="f$os_RELEASE" |
| 374 | 374 |
elif [[ "$os_VENDOR" =~ (openSUSE) ]]; then |
| 375 | 375 |
DISTRO="opensuse-$os_RELEASE" |
| 376 |
+ # Tumbleweed uses "n/a" as a codename, and the release is a datestring |
|
| 377 |
+ # like 20180218, so not very useful. |
|
| 378 |
+ [ "$os_CODENAME" = "n/a" ] && DISTRO="opensuse-tumbleweed" |
|
| 376 | 379 |
elif [[ "$os_VENDOR" =~ (SUSE LINUX) ]]; then |
| 377 | 380 |
# just use major release |
| 378 | 381 |
DISTRO="sle${os_RELEASE%.*}"
|
| ... | ... |
@@ -52,7 +52,20 @@ function install_rpc_backend {
|
| 52 | 52 |
if is_service_enabled rabbit; then |
| 53 | 53 |
# Install rabbitmq-server |
| 54 | 54 |
install_package rabbitmq-server |
| 55 |
- if is_fedora; then |
|
| 55 |
+ if is_suse; then |
|
| 56 |
+ install_package rabbitmq-server-plugins |
|
| 57 |
+ # the default systemd socket activation only listens on the loopback interface |
|
| 58 |
+ # which causes rabbitmq to try to start its own epmd |
|
| 59 |
+ sudo mkdir -p /etc/systemd/system/epmd.socket.d |
|
| 60 |
+ cat <<EOF | sudo tee /etc/systemd/system/epmd.socket.d/ports.conf >/dev/null |
|
| 61 |
+[Socket] |
|
| 62 |
+ListenStream= |
|
| 63 |
+ListenStream=[::]:4369 |
|
| 64 |
+EOF |
|
| 65 |
+ sudo systemctl daemon-reload |
|
| 66 |
+ sudo systemctl restart epmd.socket epmd.service |
|
| 67 |
+ fi |
|
| 68 |
+ if is_fedora || is_suse; then |
|
| 56 | 69 |
sudo systemctl enable rabbitmq-server |
| 57 | 70 |
fi |
| 58 | 71 |
fi |
| ... | ... |
@@ -557,7 +557,11 @@ EOF |
| 557 | 557 |
|
| 558 | 558 |
local swift_log_dir=${SWIFT_DATA_DIR}/logs
|
| 559 | 559 |
sudo rm -rf ${swift_log_dir}
|
| 560 |
- sudo install -d -o ${STACK_USER} -g adm ${swift_log_dir}/hourly
|
|
| 560 |
+ local swift_log_group=adm |
|
| 561 |
+ if is_suse; then |
|
| 562 |
+ swift_log_group=root |
|
| 563 |
+ fi |
|
| 564 |
+ sudo install -d -o ${STACK_USER} -g ${swift_log_group} ${swift_log_dir}/hourly
|
|
| 561 | 565 |
|
| 562 | 566 |
if [[ $SYSLOG != "False" ]]; then |
| 563 | 567 |
sed "s,%SWIFT_LOGDIR%,${swift_log_dir}," $FILES/swift/rsyslog.conf | sudo \
|
| ... | ... |
@@ -221,7 +221,7 @@ write_devstack_version |
| 221 | 221 |
|
| 222 | 222 |
# Warn users who aren't on an explicitly supported distro, but allow them to |
| 223 | 223 |
# override check and attempt installation with ``FORCE=yes ./stack`` |
| 224 |
-if [[ ! ${DISTRO} =~ (xenial|zesty|artful|stretch|jessie|f25|f26|f27|opensuse-42.2|opensuse-42.3|rhel7) ]]; then
|
|
| 224 |
+if [[ ! ${DISTRO} =~ (xenial|zesty|artful|stretch|jessie|f25|f26|f27|opensuse-42.3|opensuse-tumbleweed|rhel7) ]]; then
|
|
| 225 | 225 |
echo "WARNING: this script has not been tested on $DISTRO" |
| 226 | 226 |
if [[ "$FORCE" != "yes" ]]; then |
| 227 | 227 |
die $LINENO "If you wish to run this script anyway run with FORCE=yes" |
| ... | ... |
@@ -129,10 +129,10 @@ get_versions |
| 129 | 129 |
|
| 130 | 130 |
# Eradicate any and all system packages |
| 131 | 131 |
|
| 132 |
-# Python in fedora depends on the python-pip package so removing it |
|
| 132 |
+# Python in fedora/suse depends on the python-pip package so removing it |
|
| 133 | 133 |
# results in a nonfunctional system. pip on fedora installs to /usr so pip |
| 134 | 134 |
# can safely override the system pip for all versions of fedora |
| 135 |
-if ! is_fedora ; then |
|
| 135 |
+if ! is_fedora && ! is_suse; then |
|
| 136 | 136 |
uninstall_package python-pip |
| 137 | 137 |
uninstall_package python3-pip |
| 138 | 138 |
fi |