Merge "Remove Neutron Linux Bridge agent code"
diff --git a/.zuul.yaml b/.zuul.yaml
index 74ce39c..7d72ab1 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -311,6 +311,36 @@
- compute1
- compute2
+- nodeset:
+ name: devstack-two-node-debian-bookworm
+ nodes:
+ - name: controller
+ label: debian-bookworm
+ - name: compute1
+ label: debian-bookworm
+ 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
+
- job:
name: devstack-base
parent: openstack-multinode-fips
@@ -357,6 +387,7 @@
'{{ devstack_conf_dir }}/.localrc.auto': logs
'{{ devstack_conf_dir }}/.stackenv': logs
'{{ devstack_log_dir }}/dstat-csv.log': logs
+ '{{ devstack_log_dir }}/atop': logs
'{{ devstack_log_dir }}/devstacklog.txt': logs
'{{ devstack_log_dir }}/devstacklog.txt.summary': logs
'{{ devstack_log_dir }}/tcpdump.pcap': logs
diff --git a/doc/source/guides/multinode-lab.rst b/doc/source/guides/multinode-lab.rst
index e6b0b96..ef339f1 100644
--- a/doc/source/guides/multinode-lab.rst
+++ b/doc/source/guides/multinode-lab.rst
@@ -24,7 +24,7 @@
::
- apt-get install -y git sudo || yum install -y git sudo
+ apt-get install -y git sudo || dnf install -y git sudo
Network Configuration
---------------------
diff --git a/doc/source/guides/single-machine.rst b/doc/source/guides/single-machine.rst
index a4385b5..263fbb9 100644
--- a/doc/source/guides/single-machine.rst
+++ b/doc/source/guides/single-machine.rst
@@ -62,7 +62,7 @@
.. code-block:: console
- $ apt-get install sudo -y || yum install -y sudo
+ $ apt-get install sudo -y || dnf install -y sudo
$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
.. note:: On some systems you may need to use ``sudo visudo``.
@@ -81,7 +81,7 @@
.. code-block:: console
- $ sudo apt-get install git -y || sudo yum install -y git
+ $ sudo apt-get install git -y || sudo dnf install -y git
$ git clone https://opendev.org/openstack/devstack
$ cd devstack
diff --git a/doc/source/guides/single-vm.rst b/doc/source/guides/single-vm.rst
index 7dac18b..4272a4b 100644
--- a/doc/source/guides/single-vm.rst
+++ b/doc/source/guides/single-vm.rst
@@ -56,8 +56,8 @@
write_files:
- content: |
#!/bin/sh
- DEBIAN_FRONTEND=noninteractive sudo apt-get -qqy update || sudo yum update -qy
- DEBIAN_FRONTEND=noninteractive sudo apt-get install -qqy git || sudo yum install -qy git
+ DEBIAN_FRONTEND=noninteractive sudo apt-get -qqy update || sudo dnf update -qy
+ DEBIAN_FRONTEND=noninteractive sudo apt-get install -qqy git || sudo dnf install -qy git
sudo chown stack:stack /home/stack
cd /home/stack
git clone https://opendev.org/openstack/devstack
diff --git a/doc/source/networking.rst b/doc/source/networking.rst
index 05b4f34..10e1c3f 100644
--- a/doc/source/networking.rst
+++ b/doc/source/networking.rst
@@ -213,7 +213,7 @@
.. code-block:: bash
- sudo apt-get install sshuttle || yum install sshuttle
+ sudo apt-get install sshuttle || dnf install sshuttle
Finally, start ``sshuttle`` on your localhost using the floating IP address
range. For example, assuming you are using the default value for
diff --git a/doc/source/plugins.rst b/doc/source/plugins.rst
index dd75b5a..fe567e2 100644
--- a/doc/source/plugins.rst
+++ b/doc/source/plugins.rst
@@ -232,7 +232,7 @@
plugin as files that contain new-line separated lists of packages
required by the plugin
-Supported packaging systems include apt and yum across multiple
+Supported packaging systems include apt and dnf across multiple
distributions. To enable a plugin to hook into this and install
package dependencies, packages may be listed at the following
locations in the top-level of the plugin repository:
diff --git a/lib/atop b/lib/atop
new file mode 100644
index 0000000..e0b14cb
--- /dev/null
+++ b/lib/atop
@@ -0,0 +1,48 @@
+#!/bin/bash
+#
+# lib/atop
+# Functions to start and stop atop
+
+# Dependencies:
+#
+# - ``functions`` file
+
+# ``stack.sh`` calls the entry points in this order:
+#
+# - configure_atop
+# - install_atop
+# - start_atop
+# - stop_atop
+
+# Save trace setting
+_XTRACE_ATOP=$(set +o | grep xtrace)
+set +o xtrace
+
+function configure_atop {
+ cat <<EOF | sudo tee /etc/default/atop >/dev/null
+# /etc/default/atop
+# see man atoprc for more possibilities to configure atop execution
+
+LOGOPTS="-R"
+LOGINTERVAL=${ATOP_LOGINTERVAL:-"30"}
+LOGGENERATIONS=${ATOP_LOGGENERATIONS:-"1"}
+LOGPATH=$LOGDIR/atop
+EOF
+}
+
+function install_atop {
+ install_package atop
+}
+
+# start_() - Start running processes
+function start_atop {
+ start_service atop
+}
+
+# stop_atop() stop atop process
+function stop_atop {
+ stop_service atop
+}
+
+# Restore xtrace
+$_XTRACE_ATOP
diff --git a/lib/neutron_plugins/ovn_agent b/lib/neutron_plugins/ovn_agent
index 01dc1ed..71b5e33 100644
--- a/lib/neutron_plugins/ovn_agent
+++ b/lib/neutron_plugins/ovn_agent
@@ -161,8 +161,10 @@
# Defaults Overwrite
# ------------------
-
-Q_ML2_PLUGIN_MECHANISM_DRIVERS=${Q_ML2_PLUGIN_MECHANISM_DRIVERS:-ovn,logger}
+# NOTE(ralonsoh): during the eventlet removal, the "logger" mech
+# driver has been removed from this list. Re-add it once the removal
+# is finished or the mech driver does not call monkey_patch().
+Q_ML2_PLUGIN_MECHANISM_DRIVERS=${Q_ML2_PLUGIN_MECHANISM_DRIVERS:-ovn}
Q_ML2_PLUGIN_TYPE_DRIVERS=${Q_ML2_PLUGIN_TYPE_DRIVERS:-local,flat,vlan,geneve}
Q_ML2_TENANT_NETWORK_TYPE=${Q_ML2_TENANT_NETWORK_TYPE:-"geneve"}
Q_ML2_PLUGIN_GENEVE_TYPE_OPTIONS=${Q_ML2_PLUGIN_GENEVE_TYPE_OPTIONS:-"vni_ranges=1:65536"}
diff --git a/lib/nova b/lib/nova
index 95ed4d0..810a3d9 100644
--- a/lib/nova
+++ b/lib/nova
@@ -127,6 +127,9 @@
# ``NOVA_VNC_ENABLED`` can be used to forcibly enable VNC configuration.
# In multi-node setups allows compute hosts to not run ``n-novnc``.
NOVA_VNC_ENABLED=$(trueorfalse False NOVA_VNC_ENABLED)
+# same as ``NOVA_VNC_ENABLED`` but for Spice and serial console respectively.
+NOVA_SPICE_ENABLED=$(trueorfalse False NOVA_SPICE_ENABLED)
+NOVA_SERIAL_ENABLED=$(trueorfalse False NOVA_SERIAL_ENABLED)
# Get hypervisor configuration
# ----------------------------
@@ -464,7 +467,7 @@
# only setup database connections and cache backend if there are services
# that require them running on the host. The ensures that n-cpu doesn't
# leak a need to use the db in a multinode scenario.
- if is_service_enabled n-api n-cond n-sched; then
+ if is_service_enabled n-api n-cond n-sched n-spice n-novnc n-sproxy; then
# If we're in multi-tier cells mode, we want our control services pointing
# at cell0 instead of cell1 to ensure isolation. If not, we point everything
# at the main database like normal.
@@ -716,7 +719,7 @@
iniset $NOVA_CPU_CONF vnc enabled false
fi
- if is_service_enabled n-spice; then
+ if is_service_enabled n-spice || [ "$NOVA_SPICE_ENABLED" != False ]; then
# Address on which instance spiceservers will listen on compute hosts.
# For multi-host, this should be the management ip of the compute host.
SPICESERVER_PROXYCLIENT_ADDRESS=${SPICESERVER_PROXYCLIENT_ADDRESS:-$default_proxyclient_addr}
@@ -726,7 +729,7 @@
iniset $NOVA_CPU_CONF spice server_proxyclient_address "$SPICESERVER_PROXYCLIENT_ADDRESS"
fi
- if is_service_enabled n-sproxy; then
+ if is_service_enabled n-sproxy || [ "$NOVA_SERIAL_ENABLED" != False ]; then
iniset $NOVA_CPU_CONF serial_console enabled True
iniset $NOVA_CPU_CONF serial_console base_url "ws://$SERVICE_HOST:$((6082 + offset))/"
fi
diff --git a/lib/tempest b/lib/tempest
index b8f9915..c9486f6 100644
--- a/lib/tempest
+++ b/lib/tempest
@@ -514,9 +514,15 @@
iniset $TEMPEST_CONFIG compute-feature-enabled volume_multiattach True
fi
- if is_service_enabled n-novnc; then
+ if is_service_enabled n-novnc || [ "$NOVA_VNC_ENABLED" != False ]; then
iniset $TEMPEST_CONFIG compute-feature-enabled vnc_console True
fi
+ if is_service_enabled n-spice || [ "$NOVA_SPICE_ENABLED" != False ]; then
+ iniset $TEMPEST_CONFIG compute-feature-enabled spice_console True
+ fi
+ if is_service_enabled n-sproxy || [ "$NOVA_SERIAL_ENABLED" != False ]; then
+ iniset $TEMPEST_CONFIG compute-feature-enabled serial_console True
+ fi
# Network
iniset $TEMPEST_CONFIG network project_networks_reachable false
@@ -580,6 +586,7 @@
TEMPEST_VOLUME_REVERT_TO_SNAPSHOT=${TEMPEST_VOLUME_REVERT_TO_SNAPSHOT:-True}
fi
iniset $TEMPEST_CONFIG volume-feature-enabled volume_revert $(trueorfalse False TEMPEST_VOLUME_REVERT_TO_SNAPSHOT)
+ iniset $TEMPEST_CONFIG volume-feature-enabled extend_attached_encrypted_volume ${TEMPEST_EXTEND_ATTACHED_ENCRYPTED_VOLUME:-False}
if [[ "$CINDER_BACKUP_DRIVER" == *"swift"* ]]; then
iniset $TEMPEST_CONFIG volume backup_driver swift
fi
diff --git a/stack.sh b/stack.sh
index b1c7df5..04b5f4c 100755
--- a/stack.sh
+++ b/stack.sh
@@ -641,6 +641,7 @@
source $TOP_DIR/lib/neutron
source $TOP_DIR/lib/ldap
source $TOP_DIR/lib/dstat
+source $TOP_DIR/lib/atop
source $TOP_DIR/lib/tcpdump
source $TOP_DIR/lib/etcd3
source $TOP_DIR/lib/os-vif
@@ -1093,6 +1094,12 @@
# A better kind of sysstat, with the top process per time slice
start_dstat
+if is_service_enabled atop; then
+ configure_atop
+ install_atop
+ start_atop
+fi
+
# Run a background tcpdump for debugging
# Note: must set TCPDUMP_ARGS with the enabled service
if is_service_enabled tcpdump; then
diff --git a/unstack.sh b/unstack.sh
index 1b2d8dd..29c8071 100755
--- a/unstack.sh
+++ b/unstack.sh
@@ -73,6 +73,7 @@
source $TOP_DIR/lib/neutron
source $TOP_DIR/lib/ldap
source $TOP_DIR/lib/dstat
+source $TOP_DIR/lib/atop
source $TOP_DIR/lib/etcd3
# Extras Source
@@ -174,6 +175,10 @@
stop_dstat
+if is_service_enabled atop; then
+ stop_atop
+fi
+
# NOTE: Cinder automatically installs the lvm2 package, independently of the
# enabled backends. So if Cinder is enabled, and installed successfully we are
# sure lvm2 (lvremove, /etc/lvm/lvm.conf, etc.) is here.