diff --git a/.zuul.yaml b/.zuul.yaml index ab2f80ae1b..721897e9e5 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -86,6 +86,16 @@ nodes: - controller +- nodeset: + name: devstack-single-node-debian-bullseye + nodes: + - name: controller + label: debian-bullseye + groups: + - name: tempest + nodes: + - controller + - nodeset: name: openstack-two-node nodes: @@ -613,6 +623,49 @@ vars: configure_swap_size: 4096 +- job: + name: devstack-platform-debian-bullseye + parent: tempest-full-py3 + description: Debian Bullseye platform test + nodeset: devstack-single-node-debian-bullseye + voting: false + timeout: 9000 + vars: + # NOTE(yoctozepto): With concurrency equal 2, there is a random event + # that this job will run out of memory at some point. + tempest_concurrency: 1 + # NOTE(yoctozepto): Debian Bullseye does not yet offer OVN. Switch to OVS + # for the time being. + devstack_localrc: + Q_AGENT: openvswitch + Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch + Q_ML2_TENANT_NETWORK_TYPE: vxlan + devstack_services: + # Disable OVN services + ovn-northd: false + ovn-controller: false + ovs-vswitchd: false + ovsdb-server: false + # Disable Neutron ML2/OVN services + q-ovn-metadata-agent: false + # Enable Neutron ML2/OVS services + q-agt: true + q-dhcp: true + q-l3: true + q-meta: true + q-metering: true + group-vars: + subnode: + devstack_services: + # Disable OVN services + ovn-controller: false + ovs-vswitchd: false + ovsdb-server: false + # Disable Neutron ML2/OVN services + q-ovn-metadata-agent: false + # Enable Neutron ML2/OVS services + q-agt: true + - job: name: devstack-no-tls-proxy parent: tempest-full-py3 @@ -716,6 +769,7 @@ - devstack-enforce-scope - devstack-platform-fedora-latest - devstack-platform-centos-8-stream + - devstack-platform-debian-bullseye - devstack-multinode - devstack-unit-tests - openstack-tox-bashate diff --git a/lib/databases/mysql b/lib/databases/mysql index d4969d713c..d0fa1199a7 100644 --- a/lib/databases/mysql +++ b/lib/databases/mysql @@ -25,6 +25,8 @@ if [[ -z "$MYSQL_SERVICE_NAME" ]]; then # provide a mysql.service symlink for backwards-compatibility, but # let's not rely on that. MYSQL_SERVICE_NAME=mariadb + elif [[ "$DISTRO" == "bullseye" ]]; then + MYSQL_SERVICE_NAME=mariadb fi fi @@ -105,7 +107,7 @@ function configure_database_mysql { # In mariadb e.g. on Ubuntu socket plugin is used for authentication # as root so it works only as sudo. To restore old "mysql like" behaviour, # we need to change auth plugin for root user - if is_ubuntu && [ "$MYSQL_SERVICE_NAME" == "mariadb" ]; then + if is_ubuntu && [[ "$DISTRO" != "bullseye" ]] && [ "$MYSQL_SERVICE_NAME" == "mariadb" ]; then sudo mysql $cmd_args -e "UPDATE mysql.user SET plugin='' WHERE user='$DATABASE_USER' AND host='localhost';" sudo mysql $cmd_args -e "FLUSH PRIVILEGES;" fi diff --git a/stack.sh b/stack.sh index 48f61fb3af..8a8e3ea6be 100755 --- a/stack.sh +++ b/stack.sh @@ -227,7 +227,7 @@ write_devstack_version # 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="focal|f34|opensuse-15.2|opensuse-tumbleweed|rhel8" +SUPPORTED_DISTROS="bullseye|focal|f34|opensuse-15.2|opensuse-tumbleweed|rhel8" if [[ ! ${DISTRO} =~ $SUPPORTED_DISTROS ]]; then echo "WARNING: this script has not been tested on $DISTRO"