Merge "Fix deployment of Neutron with enforced scopes"
diff --git a/.zuul.yaml b/.zuul.yaml
index 5a58d74..bf9814c 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -90,7 +90,7 @@
name: devstack-single-node-fedora-latest
nodes:
- name: controller
- label: fedora-34
+ label: fedora-35
groups:
- name: tempest
nodes:
@@ -147,6 +147,36 @@
- compute1
- nodeset:
+ name: openstack-two-node-centos-8-stream
+ nodes:
+ - name: controller
+ label: centos-8-stream
+ - name: compute1
+ label: centos-8-stream
+ groups:
+ # Node where tests are executed and test results collected
+ - name: tempest
+ nodes:
+ - controller
+ # Nodes running the compute service
+ - name: compute
+ nodes:
+ - controller
+ - compute1
+ # Nodes that are not the controller
+ - name: subnode
+ nodes:
+ - compute1
+ # Switch node for multinode networking setup
+ - name: switch
+ nodes:
+ - controller
+ # Peer nodes for multinode networking setup
+ - name: peers
+ nodes:
+ - compute1
+
+- nodeset:
name: openstack-two-node-focal
nodes:
- name: controller
@@ -729,6 +759,10 @@
voting: false
vars:
configure_swap_size: 4096
+ # Python 3.10 dependency issues; see
+ # https://bugs.launchpad.net/horizon/+bug/1960204
+ devstack_services:
+ horizon: false
- job:
name: devstack-platform-fedora-latest-virt-preview
diff --git a/doc/source/guides/multinode-lab.rst b/doc/source/guides/multinode-lab.rst
index dc3568a..81c5945 100644
--- a/doc/source/guides/multinode-lab.rst
+++ b/doc/source/guides/multinode-lab.rst
@@ -169,7 +169,7 @@
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
- ENABLED_SERVICES=n-cpu,q-agt,c-vol,placement-client
+ ENABLED_SERVICES=n-cpu,c-vol,placement-client,ovn-controller,ovs-vswitchd,ovsdb-server,q-ovn-metadata-agent
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_lite.html"
VNCSERVER_LISTEN=$HOST_IP
diff --git a/files/rpms/swift b/files/rpms/swift
index faf0a31..a838d78 100644
--- a/files/rpms/swift
+++ b/files/rpms/swift
@@ -4,4 +4,4 @@
rsync-daemon
sqlite
xfsprogs
-xinetd # not:f34,rhel9
+xinetd # not:f35,rhel9
diff --git a/lib/apache b/lib/apache
index cbe61ad..f29c7ea 100644
--- a/lib/apache
+++ b/lib/apache
@@ -85,7 +85,12 @@
if is_ubuntu; then
local pkg_list="uwsgi uwsgi-plugin-python3 libapache2-mod-proxy-uwsgi"
install_package ${pkg_list}
- elif is_fedora && ! is_openeuler; then
+ # NOTE(ianw) 2022-02-03 : Fedora 35 needs to skip this and fall
+ # into the install-from-source because the upstream packages
+ # didn't fix Python 3.10 compatibility before release. Should be
+ # fixed in uwsgi 4.9.0; can remove this when packages available
+ # or we drop this release
+ elif is_fedora && ! is_openeuler && ! [[ $DISTRO =~ f35 ]]; then
# Note httpd comes with mod_proxy_uwsgi and it is loaded by
# default; the mod_proxy_uwsgi package actually conflicts now.
# See:
diff --git a/stack.sh b/stack.sh
index c92cc79..0082b99 100755
--- a/stack.sh
+++ b/stack.sh
@@ -227,7 +227,7 @@
# Warn users who aren't on an explicitly supported distro, but allow them to
# override check and attempt installation with ``FORCE=yes ./stack``
-SUPPORTED_DISTROS="bullseye|focal|f34|opensuse-15.2|opensuse-tumbleweed|rhel8|rhel9|openEuler-20.03"
+SUPPORTED_DISTROS="bullseye|focal|f35|opensuse-15.2|opensuse-tumbleweed|rhel8|rhel9|openEuler-20.03"
if [[ ! ${DISTRO} =~ $SUPPORTED_DISTROS ]]; then
echo "WARNING: this script has not been tested on $DISTRO"
diff --git a/stackrc b/stackrc
old mode 100755
new mode 100644
diff --git a/tools/install_pip.sh b/tools/install_pip.sh
index 259375a..e9c52ea 100755
--- a/tools/install_pip.sh
+++ b/tools/install_pip.sh
@@ -38,7 +38,7 @@
# [1] https://opendev.org/openstack/project-config/src/branch/master/nodepool/elements/cache-devstack/source-repository-pip
PIP_GET_PIP_URL=${PIP_GET_PIP_URL:-"https://bootstrap.pypa.io/get-pip.py"}
-LOCAL_PIP="$FILES/$(basename $PIP_GET_PIP_URL)"
+PIP_GET_PIP36_URL=${PIP_GET_PIP36_URL:-"https://bootstrap.pypa.io/pip/3.6/get-pip.py"}
GetDistro
echo "Distro: $DISTRO"
@@ -57,12 +57,21 @@
function install_get_pip {
+ if [[ "$PYTHON3_VERSION" = "3.6" ]]; then
+ _pip_url=$PIP_GET_PIP36_URL
+ _local_pip="$FILES/$(basename $_pip_url)-py36"
+ else
+ _pip_url=$PIP_GET_PIP_URL
+ _local_pip="$FILES/$(basename $_pip_url)"
+ fi
+
+
# If get-pip.py isn't python, delete it. This was probably an
# outage on the server.
- if [[ -r $LOCAL_PIP ]]; then
- if ! head -1 $LOCAL_PIP | grep -q '#!/usr/bin/env python'; then
- echo "WARNING: Corrupt $LOCAL_PIP found removing"
- rm $LOCAL_PIP
+ if [[ -r $_local_pip ]]; then
+ if ! head -1 $_local_pip | grep -q '#!/usr/bin/env python'; then
+ echo "WARNING: Corrupt $_local_pip found removing"
+ rm $_local_pip
fi
fi
@@ -76,20 +85,20 @@
# Thus we use curl's "-z" feature to always check the modified
# since and only download if a new version is out -- but only if
# it seems we downloaded the file originally.
- if [[ ! -r $LOCAL_PIP || -r $LOCAL_PIP.downloaded ]]; then
+ if [[ ! -r $_local_pip || -r $_local_pip.downloaded ]]; then
# only test freshness if LOCAL_PIP is actually there,
# otherwise we generate a scary warning.
local timecond=""
- if [[ -r $LOCAL_PIP ]]; then
- timecond="-z $LOCAL_PIP"
+ if [[ -r $_local_pip ]]; then
+ timecond="-z $_local_pip"
fi
curl -f --retry 6 --retry-delay 5 \
- $timecond -o $LOCAL_PIP $PIP_GET_PIP_URL || \
+ $timecond -o $_local_pip $_pip_url || \
die $LINENO "Download of get-pip.py failed"
- touch $LOCAL_PIP.downloaded
+ touch $_local_pip.downloaded
fi
- sudo -H -E python${PYTHON3_VERSION} $LOCAL_PIP
+ sudo -H -E python${PYTHON3_VERSION} $_local_pip
}
@@ -129,6 +138,8 @@
# For general sanity, we just use the packaged pip. It should be
# recent enough anyway. This is included via rpms/general
: # Simply fall through
+elif is_ubuntu; then
+ : # pip on Ubuntu 20.04 is new enough, too
else
install_get_pip
fi