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 |