Merge "Change the set of jobs in the stable branches"
diff --git a/zuul.d/manila-tempest-jobs.yaml b/zuul.d/manila-tempest-jobs.yaml
index 302bcd2..f150a2b 100644
--- a/zuul.d/manila-tempest-jobs.yaml
+++ b/zuul.d/manila-tempest-jobs.yaml
@@ -117,7 +117,8 @@
         tempest: true
 
 - job:
-    name: manila-tempest-plugin-zfsonlinux
+    name: manila-tempest-plugin-zfsonlinux-base
+    abstract: true
     description: Test ZFSOnLinux multibackend (DHSS=False) with postgresql db
     parent: manila-tempest-plugin-base
     vars:
@@ -162,11 +163,18 @@
               image_password: manila
 
 - job:
-    name: manila-tempest-plugin-lvm
+    name: manila-tempest-plugin-zfsonlinux
+    description: Test ZFSOnLinux multibackend (DHSS=False) with postgresql db
+    parent: manila-tempest-plugin-zfsonlinux-base
+    branches: &jammy_ubuntu_focal_branches ^(?!stable/(yoga|xena|wallaby|victoria|ussuri)).*$
+
+- job:
+    name: manila-tempest-plugin-lvm-base
     description: |
       Test LVM multibackend (DHSS=False) in a 4+6 (dual-stack) devstack
       environment with IPv6 control plane endpoints.
     parent: manila-tempest-plugin-ipv6-base
+    abstract: true
     required-projects:
       - openstack/neutron-dynamic-routing
     vars:
@@ -206,6 +214,14 @@
               image_password: manila
 
 - job:
+    name: manila-tempest-plugin-lvm
+    description: |
+      Test LVM multibackend (DHSS=False) in a 4+6 (dual-stack) devstack
+      environment with IPv6 control plane endpoints.
+    branches: *jammy_ubuntu_focal_branches
+    parent: manila-tempest-plugin-lvm-base
+
+- job:
     name: manila-tempest-plugin-container
     description: |
       Test the container driver multibackend (DHSS=True) with CIFS
@@ -250,7 +266,8 @@
               run_network_allocation_update_tests: true
 
 - job:
-    name: manila-tempest-plugin-generic
+    name: manila-tempest-plugin-generic-base
+    abstract: true
     description: |
       Test the generic driver multibackend (DHSS=True) with NFS and CIFS
     parent: manila-tempest-plugin-base
@@ -289,11 +306,20 @@
               image_password: manila
 
 - job:
-    name: manila-tempest-plugin-generic-scenario
+    name: manila-tempest-plugin-generic
     description: |
       Test the scenario test cases on the generic driver multibackend
       (DHSS=True) with NFS and CIFS
-    parent: manila-tempest-plugin-generic
+    parent: manila-tempest-plugin-generic-base
+    branches: *jammy_ubuntu_focal_branches
+
+- job:
+    name: manila-tempest-plugin-generic-scenario-base
+    abstract: true
+    description: |
+      Test the scenario test cases on the generic driver multibackend
+      (DHSS=True) with NFS and CIFS
+    parent: manila-tempest-plugin-generic-base
     vars:
       tempest_test_regex: '(^manila_tempest_tests.tests.scenario)(?=.*\[.*\bbackend\b.*\])'
       # The generic driver uses nova VMs as share servers; running with a
@@ -302,7 +328,16 @@
       tempest_concurrency: 1
 
 - job:
-    name: manila-tempest-plugin-cephfs-native
+    name: manila-tempest-plugin-generic-scenario
+    description: |
+      Test the scenario test cases on the generic driver multibackend
+      (DHSS=True) with NFS and CIFS
+    parent: manila-tempest-plugin-generic-scenario-base
+    branches: *jammy_ubuntu_focal_branches
+
+- job:
+    name: manila-tempest-plugin-cephfs-native-base
+    abstract: true
     description: Test CephFS Native (DHSS=False)
     parent: manila-tempest-plugin-base
     required-projects:
@@ -340,9 +375,15 @@
               enable_protocols: cephfs
               image_password: manila
 
+- job:
+    name: manila-tempest-plugin-cephfs-native
+    description: Test CephFS Native (DHSS=False)
+    parent: manila-tempest-plugin-cephfs-native-base
+    branches: *jammy_ubuntu_focal_branches
 
 - job:
-    name: manila-tempest-plugin-cephfs-nfs
+    name: manila-tempest-plugin-cephfs-nfs-base
+    abstract: true
     description: Test CephFS NFS (DHSS=False)
     parent: manila-tempest-plugin-base
     required-projects:
@@ -387,6 +428,12 @@
               image_password: manila
 
 - job:
+    name: manila-tempest-plugin-cephfs-nfs
+    description: Test CephFS NFS (DHSS=False)
+    parent: manila-tempest-plugin-cephfs-nfs-base
+    branches: *jammy_ubuntu_focal_branches
+
+- job:
     name: manila-tempest-plugin-dummy-no-dhss
     description: Test the Dummy driver with DHSS=False
     parent: manila-tempest-plugin-standalone-base
@@ -572,3 +619,25 @@
               enable_protocols: nfs
               # read-only access rules not supported
               enable_ro_access_level_for_protocols: ""
+
+- project-template:
+    name: manila-tempest-plugin-jobs-using-service-image
+    description: |
+      Runs jobs that will also perform scenario tests in the branches that are
+      newer than Yoga.
+    check:
+      jobs:
+        - manila-tempest-plugin-lvm
+        - manila-tempest-plugin-generic-scenario:
+            voting: false
+        - manila-tempest-plugin-generic:
+            voting: false
+        - manila-tempest-plugin-cephfs-native:
+            voting: false
+        - manila-tempest-plugin-cephfs-nfs:
+            voting: false
+        - manila-tempest-plugin-zfsonlinux:
+            voting: false
+    gate:
+      jobs:
+        - manila-tempest-plugin-lvm
diff --git a/zuul.d/manila-tempest-stable-jobs.yaml b/zuul.d/manila-tempest-stable-jobs.yaml
index 6c4d8d9..d48f624 100644
--- a/zuul.d/manila-tempest-stable-jobs.yaml
+++ b/zuul.d/manila-tempest-stable-jobs.yaml
@@ -1,50 +1,102 @@
 # Stable branch jobs to test the trunk version of manila-tempest-plugin against
 # released stable branches of manila
+
+- job:
+    name: manila-tempest-plugin-generic-scenario-stable
+    description: |
+      Test the scenario test cases on the generic driver multibackend
+      (DHSS=True) with NFS and CIFS
+    parent: manila-tempest-plugin-generic-scenario-base
+    branches: &manila_tempest_image_pinned_branches ^(stable/(yoga|xena|wallaby|victoria|ussuri)).*$
+    vars: &manila_tempest_image_pinned_vars
+      devstack_localrc:
+        # NOTE(carloss): Pinning manila service image to a Focal version,
+        # since on Zed we moved to Ubuntu Jammy (22), and it requires more
+        # VM resources.
+        MANILA_SERVICE_IMAGE_URL: https://tarballs.opendev.org/openstack/manila-image-elements/images/manila-service-image-1.3.0-76-ga216835.qcow2
+        MANILA_SERVICE_IMAGE_NAME: manila-service-image-1.3.0-76-ga216835
+
+- job:
+    name: manila-tempest-plugin-generic-stable
+    description: |
+      Test the scenario test cases on the generic driver multibackend
+      (DHSS=True) with NFS and CIFS
+    parent: manila-tempest-plugin-generic-base
+    branches: *manila_tempest_image_pinned_branches
+    vars: *manila_tempest_image_pinned_vars
+
+- job:
+    name: manila-tempest-plugin-lvm-stable
+    nodeset: openstack-single-node-focal
+    description: |
+      Test LVM multibackend (DHSS=False) in a 4+6 (dual-stack) devstack
+      environment with IPv6 control plane endpoints.
+    branches: *manila_tempest_image_pinned_branches
+    parent: manila-tempest-plugin-lvm-base
+    vars: *manila_tempest_image_pinned_vars
+
+- job:
+    name: manila-tempest-plugin-cephfs-native-stable
+    description: Test CephFS Native (DHSS=False)
+    parent: manila-tempest-plugin-cephfs-native-base
+    branches: *manila_tempest_image_pinned_branches
+    vars:
+      devstack_localrc:
+        # NOTE(gouthamr): The following need to use the latest images, however, there's a bug
+        # with cephfs on Ubuntu 20.04 LTS: https://tracker.ceph.com/issues/47236
+        # the latest image is built as https://tarballs.opendev.org/openstack/manila-image-elements/images/manila-service-image-cephfs-master.qcow2
+        MANILA_SERVICE_IMAGE_URL: https://tarballs.opendev.org/openstack/manila-image-elements/images/manila-service-image-cephfs-1.3.0-58-g2859569.qcow2
+        MANILA_SERVICE_IMAGE_NAME: manila-service-image-cephfs-1.3.0-58-g2859569
+
+- job:
+    name: manila-tempest-plugin-cephfs-nfs-stable
+    description: Test CephFS NFS (DHSS=False)
+    parent: manila-tempest-plugin-cephfs-nfs-base
+    branches: *manila_tempest_image_pinned_branches
+    vars: *manila_tempest_image_pinned_vars
+
+- job:
+    name: manila-tempest-plugin-zfsonlinux-stable
+    description: Test ZFSOnLinux multibackend (DHSS=False) with postgresql db
+    parent: manila-tempest-plugin-zfsonlinux-base
+    branches: *manila_tempest_image_pinned_branches
+    vars: *manila_tempest_image_pinned_vars
+
 - job:
     name: manila-tempest-plugin-lvm-yoga
-    parent: manila-tempest-plugin-lvm
+    parent: manila-tempest-plugin-lvm-stable
     override-checkout: stable/yoga
-    nodeset: openstack-single-node-focal
     vars:
-        # NOTE(gouthamr): Disabled until https://launchpad.net/bugs/1940324 is
-        # fixed.
-        tempest_exclude_regex: "(^manila_tempest_tests.tests.scenario.*IPv6.*)"
-        devstack_localrc:
-            MANILA_SERVICE_IMAGE_ENABLED: True
-            # NOTE(carloss): Pinning manila service image to a Focal version,
-            # since on Zed we moved to Ubuntu Jammy (22), and it requires more
-            # VM resources.
-            MANILA_SERVICE_IMAGE_URL: https://tarballs.opendev.org/openstack/manila-image-elements/images/manila-service-image-1.3.0-76-ga216835.qcow2
-            MANILA_SERVICE_IMAGE_NAME: manila-service-image-1.3.0-76-ga216835
+      tempest_exclude_regex: "(^manila_tempest_tests.tests.scenario.*IPv6.*)"
 
 - job:
     name: manila-tempest-plugin-lvm-xena
-    parent: manila-tempest-plugin-lvm
+    parent: manila-tempest-plugin-lvm-stable
     override-checkout: stable/xena
-    nodeset: openstack-single-node-focal
-    vars:
-        # NOTE(gouthamr): Disabled until https://launchpad.net/bugs/1940324 is
-        # fixed.
-        tempest_exclude_regex: "(^manila_tempest_tests.tests.scenario.*IPv6.*)"
-        devstack_localrc:
-            # NOTE(carloss): Pinning manila service image to a Focal version,
-            # since on Zed we moved to Ubuntu Jammy (22), and it requires more
-            # VM resources.
-            MANILA_SERVICE_IMAGE_ENABLED: True
-            MANILA_SERVICE_IMAGE_URL: https://tarballs.opendev.org/openstack/manila-image-elements/images/manila-service-image-1.3.0-76-ga216835.qcow2
-            MANILA_SERVICE_IMAGE_NAME: manila-service-image-1.3.0-76-ga216835
 
 - job:
     name: manila-tempest-plugin-lvm-wallaby
-    parent: manila-tempest-plugin-lvm
+    parent: manila-tempest-plugin-lvm-stable
     override-checkout: stable/wallaby
-    nodeset: openstack-single-node-focal
-    vars:
-        tempest_exclude_regex: ''
-        devstack_localrc:
-            # NOTE(carloss): Pinning manila service image to a Focal version,
-            # since on Zed we moved to Ubuntu Jammy (22), and it requires more
-            # VM resources.
-            MANILA_SERVICE_IMAGE_ENABLED: True
-            MANILA_SERVICE_IMAGE_URL: https://tarballs.opendev.org/openstack/manila-image-elements/images/manila-service-image-1.3.0-76-ga216835.qcow2
-            MANILA_SERVICE_IMAGE_NAME: manila-service-image-1.3.0-76-ga216835
+
+- project-template:
+    name: manila-tempest-plugin-jobs-using-service-image-stable
+    description: |
+      Runs jobs that will also perform scenario tests in the stable branches
+      older than Yoga.
+    check:
+      jobs:
+        - manila-tempest-plugin-lvm-stable
+        - manila-tempest-plugin-generic-scenario-stable:
+            voting: false
+        - manila-tempest-plugin-generic-stable:
+            voting: false
+        - manila-tempest-plugin-cephfs-native-stable:
+            voting: false
+        - manila-tempest-plugin-cephfs-nfs-stable:
+            voting: false
+        - manila-tempest-plugin-zfsonlinux-stable:
+            voting: false
+    gate:
+      jobs:
+        - manila-tempest-plugin-lvm-stable
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index c45dfbf..9db197c 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -2,34 +2,23 @@
     templates:
       - check-requirements
       - tempest-plugin-jobs
+      - manila-tempest-plugin-jobs-using-service-image
     queue: manila
     check:
       jobs:
         - manila-tempest-plugin-dummy-no-dhss
         - manila-tempest-plugin-dummy-dhss
-        - manila-tempest-plugin-lvm
         - manila-tempest-plugin-lvm-yoga
         - manila-tempest-plugin-lvm-xena
         - manila-tempest-plugin-lvm-wallaby
-        - manila-tempest-plugin-zfsonlinux:
-            voting: false
-        - manila-tempest-plugin-cephfs-native:
-            voting: false
-        - manila-tempest-plugin-cephfs-nfs:
-            voting: false
         - manila-tempest-plugin-container:
             voting: false
-        - manila-tempest-plugin-generic:
-            voting: false
-        - manila-tempest-plugin-generic-scenario:
-            voting: false
         - manila-tempest-plugin-glusterfs-nfs:
             voting: false
     gate:
       jobs:
         - manila-tempest-plugin-dummy-no-dhss
         - manila-tempest-plugin-dummy-dhss
-        - manila-tempest-plugin-lvm
     experimental:
       jobs:
         - manila-tempest-plugin-glusterfs-native: