Merge "Fix tempest cleanup for python3"
diff --git a/.zuul.yaml b/.zuul.yaml
index 9546f1d..8ff151f 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -99,6 +99,7 @@
       tox_envlist: full
       devstack_localrc:
         ENABLE_FILE_INJECTION: true
+        ENABLE_VOLUME_MULTIATTACH: true
 
 - job:
     name: tempest-full-oslo-master
@@ -161,6 +162,7 @@
       devstack_localrc:
         USE_PYTHON3: true
         FORCE_CONFIG_DRIVE: true
+        ENABLE_VOLUME_MULTIATTACH: true
       devstack_services:
         s-account: false
         s-container: false
@@ -276,6 +278,7 @@
       tox_envlist: slow-serial
       devstack_localrc:
         CINDER_ENABLED_BACKENDS: lvm:lvmdriver-1,lvm:lvmdriver-2
+        ENABLE_VOLUME_MULTIATTACH: true
       tempest_concurrency: 2
 
 - job:
@@ -490,7 +493,7 @@
               - ^playbooks/
               - ^roles/
               - ^.zuul.yaml$
-        - nova-multiattach:
+        - tempest-full-parallel:
             # Define list of irrelevant files to use everywhere else
             irrelevant-files: &tempest-irrelevant-files
               - ^(test-|)requirements.txt$
@@ -502,8 +505,6 @@
               - ^tempest/hacking/.*$
               - ^tempest/tests/.*$
               - ^tools/.*$
-        - tempest-full-parallel:
-            irrelevant-files: *tempest-irrelevant-files
         - tempest-full-py3:
             irrelevant-files: *tempest-irrelevant-files
         - tempest-full-py3-ipv6:
@@ -578,8 +579,6 @@
             irrelevant-files: *tempest-irrelevant-files
     gate:
       jobs:
-        - nova-multiattach:
-            irrelevant-files: *tempest-irrelevant-files
         - tempest-slow-py3:
             irrelevant-files: *tempest-irrelevant-files
         - neutron-grenade-multinode:
diff --git a/releasenotes/notes/enable-volume-multiattach-fd5e9bf0e96b56ce.yaml b/releasenotes/notes/enable-volume-multiattach-fd5e9bf0e96b56ce.yaml
new file mode 100644
index 0000000..0959b22
--- /dev/null
+++ b/releasenotes/notes/enable-volume-multiattach-fd5e9bf0e96b56ce.yaml
@@ -0,0 +1,10 @@
+---
+upgrade:
+  - |
+    The ``tempest-full``, ``tempest-full-py3`` and ``tempest-slow`` zuul v3
+    job configurations now set ``ENABLE_VOLUME_MULTIATTACH: true`` in the
+    ``devstack_localrc`` variables section. If you have a plugin job
+    configuration that inherits from one of these jobs and the backend cinder
+    volume driver or nova compute driver do not support volume multiattach then
+    you should override and set this variable to
+    ``ENABLE_VOLUME_MULTIATTACH: false`` in your job configuration.
diff --git a/tempest/api/compute/admin/test_volume_swap.py b/tempest/api/compute/admin/test_volume_swap.py
index 6b58939..cc83c04 100644
--- a/tempest/api/compute/admin/test_volume_swap.py
+++ b/tempest/api/compute/admin/test_volume_swap.py
@@ -148,6 +148,13 @@
     # so it's marked as such.
     @decorators.attr(type='slow')
     @decorators.idempotent_id('e8f8f9d1-d7b7-4cd2-8213-ab85ef697b6e')
+    # For some reason this test intermittently fails on teardown when there are
+    # multiple compute nodes and the servers are split across the computes.
+    # For now, just skip this test if there are multiple computes.
+    # Alternatively we could put the servers in an affinity group if there are
+    # multiple computes but that would just side-step the underlying bug.
+    @decorators.skip_because(bug='1807723',
+                             condition=CONF.compute.min_compute_nodes > 1)
     @utils.services('volume')
     def test_volume_swap_with_multiattach(self):
         # Create two volumes.