Merge "Improve Swift Quota test with exceeding upload"
diff --git a/tempest/api/volume/admin/test_encrypted_volumes_extend.py b/tempest/api/volume/admin/test_encrypted_volumes_extend.py
index 4506389..9c4819d 100644
--- a/tempest/api/volume/admin/test_encrypted_volumes_extend.py
+++ b/tempest/api/volume/admin/test_encrypted_volumes_extend.py
@@ -34,6 +34,7 @@
             raise cls.skipException(
                 "Attached encrypted volume extend is disabled.")
 
+    @decorators.skip_because(bug="2116852")
     @decorators.idempotent_id('e93243ec-7c37-4b5b-a099-ebf052c13216')
     def test_extend_attached_encrypted_volume_luksv1(self):
         """LUKs v1 decrypts and extends through libvirt."""
diff --git a/tempest/lib/common/dynamic_creds.py b/tempest/lib/common/dynamic_creds.py
index 6c90938..1815dc6 100644
--- a/tempest/lib/common/dynamic_creds.py
+++ b/tempest/lib/common/dynamic_creds.py
@@ -384,8 +384,9 @@
                                                        subnet_id=subnet_id)
 
     def _get_project_id(self, credential_type, scope):
-        same_creds = [['admin'], ['member'], ['reader']]
-        same_alt_creds = [['alt_admin'], ['alt_member'], ['alt_reader']]
+        same_creds = [['admin'], ['manager'], ['member'], ['reader']]
+        same_alt_creds = [['alt_admin'], ['alt_manager'],
+                          ['alt_member'], ['alt_reader']]
         search_in = []
         if credential_type in same_creds:
             search_in = same_creds
diff --git a/tempest/tests/lib/common/test_dynamic_creds.py b/tempest/tests/lib/common/test_dynamic_creds.py
index 4c2ea30..4122db3 100644
--- a/tempest/tests/lib/common/test_dynamic_creds.py
+++ b/tempest/tests/lib/common/test_dynamic_creds.py
@@ -252,6 +252,7 @@
             reader_func = creds.get_project_alt_reader_creds
         else:
             admin_func = creds.get_project_admin_creds
+            manager_func = creds.get_project_manager_creds
             member_func = creds.get_project_member_creds
             reader_func = creds.get_project_reader_creds
         self._mock_assign_user_role()
@@ -286,6 +287,15 @@
         self._request_and_check_second_creds(
             creds, admin_func, member_creds, show_mock, sm_count=2)
 
+        # Now request for the project manager creds which should not create new
+        # project instead should use the project_id of member_creds already
+        # created project.
+        # TODO(gmaan): test test_alt_creds also once alt project
+        # manager is available.
+        if not test_alt_creds:
+            self._request_and_check_second_creds(
+                creds, manager_func, member_creds, show_mock, sm_count=3)
+
     def test_creds_within_same_project(self):
         self._creds_within_same_project()
 
diff --git a/zuul.d/integrated-gate.yaml b/zuul.d/integrated-gate.yaml
index be0a756..8e0a9f3 100644
--- a/zuul.d/integrated-gate.yaml
+++ b/zuul.d/integrated-gate.yaml
@@ -94,7 +94,6 @@
       tempest_concurrency: 4
       tox_envlist: integrated-full
       devstack_localrc:
-        USE_PYTHON3: true
         FORCE_CONFIG_DRIVE: true
         ENABLE_VOLUME_MULTIATTACH: true
         GLANCE_USE_IMPORT_WORKFLOW: True
@@ -146,7 +145,6 @@
     vars:
       tox_envlist: integrated-network
       devstack_localrc:
-        USE_PYTHON3: true
         FORCE_CONFIG_DRIVE: true
       devstack_services:
         s-account: false
@@ -178,7 +176,6 @@
       tox_envlist: integrated-compute
       tempest_exclude_regex: ""
       devstack_localrc:
-        USE_PYTHON3: true
         FORCE_CONFIG_DRIVE: true
         ENABLE_VOLUME_MULTIATTACH: true
       devstack_services:
@@ -224,7 +221,6 @@
       tempest_concurrency: 4
       tox_envlist: integrated-placement
       devstack_localrc:
-        USE_PYTHON3: true
         FORCE_CONFIG_DRIVE: true
         ENABLE_VOLUME_MULTIATTACH: true
       devstack_services:
@@ -244,7 +240,6 @@
     vars:
       tox_envlist: integrated-storage
       devstack_localrc:
-        USE_PYTHON3: true
         FORCE_CONFIG_DRIVE: true
         ENABLE_VOLUME_MULTIATTACH: true
         GLANCE_USE_IMPORT_WORKFLOW: True
@@ -258,11 +253,6 @@
       related tests. This is meant to be run on Swift gate only.
     vars:
       tox_envlist: integrated-object-storage
-      devstack_localrc:
-        # NOTE(gmann): swift is not ready on python3 yet and devstack
-        # install it on python2.7 only. But setting the USE_PYTHON3
-        # for future once swift is ready on py3.
-        USE_PYTHON3: true
 
 - job:
     name: tempest-with-latest-microversion
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index d11bc09..9c9bc61 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -182,11 +182,26 @@
             irrelevant-files: *tempest-irrelevant-files
         - tempest-full-test-account-no-admin-py3:
             irrelevant-files: *tempest-irrelevant-files
+        # Run stable releases jobs except those are running in check
+        # pipeline already
+        - tempest-full-2024-2
+        - tempest-multinode-2025-1
+        - tempest-multinode-2024-2
+        - tempest-multinode-2024-1
+        - tempest-slow-2025-1
+        - tempest-slow-2024-2
+        - tempest-slow-2024-1
+        - tempest-full-2025-1-extra-tests
+        - tempest-full-2024-2-extra-tests
+        - tempest-full-2024-1-extra-tests
     periodic-stable:
       jobs:
         - tempest-full-2025-1
         - tempest-full-2024-2
         - tempest-full-2024-1
+        - tempest-multinode-2025-1
+        - tempest-multinode-2024-2
+        - tempest-multinode-2024-1
         - tempest-slow-2025-1
         - tempest-slow-2024-2
         - tempest-slow-2024-1
diff --git a/zuul.d/stable-jobs.yaml b/zuul.d/stable-jobs.yaml
index 8bf356a..27e65b9 100644
--- a/zuul.d/stable-jobs.yaml
+++ b/zuul.d/stable-jobs.yaml
@@ -36,6 +36,24 @@
     override-checkout: stable/2024.1
 
 - job:
+    name: tempest-multinode-2025-1
+    parent: tempest-multinode-full-py3
+    nodeset: openstack-two-node-noble
+    override-checkout: stable/2025.1
+
+- job:
+    name: tempest-multinode-2024-2
+    parent: tempest-multinode-full-py3
+    nodeset: openstack-two-node-jammy
+    override-checkout: stable/2024.2
+
+- job:
+    name: tempest-multinode-2024-1
+    parent: tempest-multinode-full-py3
+    nodeset: openstack-two-node-jammy
+    override-checkout: stable/2024.1
+
+- job:
     name: tempest-slow-2025-1
     parent: tempest-slow-py3
     nodeset: openstack-two-node-noble
@@ -77,7 +95,6 @@
           (AttachVolumeMultiAttachTest)|\
           (UpdateMultiattachVolumeNegativeTest)"
       devstack_localrc:
-        USE_PYTHON3: true
         FORCE_CONFIG_DRIVE: true
         ENABLE_VOLUME_MULTIATTACH: true
         GLANCE_USE_IMPORT_WORKFLOW: True
@@ -102,10 +119,6 @@
         neutron: https://opendev.org/openstack/neutron
       devstack_services:
         neutron-trunk: true
-    group-vars:
-      subnode:
-        devstack_localrc:
-          USE_PYTHON3: true
 
 - job:
     name: tempest-multinode-full-py3
@@ -119,16 +132,10 @@
       - ^.*/yoga
       - ^.*/zed
     vars:
-      devstack_localrc:
-        USE_PYTHON3: true
       devstack_plugins:
         neutron: https://opendev.org/openstack/neutron
       devstack_services:
         neutron-trunk: true
-    group-vars:
-      subnode:
-        devstack_localrc:
-          USE_PYTHON3: true
 
 - job:
     name: tempest-multinode-full
@@ -145,12 +152,6 @@
           (DHCPAgentSchedulersTestJSON)|\
           (AttachVolumeMultiAttachTest)|\
           (UpdateMultiattachVolumeNegativeTest)"
-      devstack_localrc:
-        USE_PYTHON3: False
-    group-vars:
-      subnode:
-        devstack_localrc:
-          USE_PYTHON3: False
 
 - job:
     name: tempest-multinode-full
@@ -160,13 +161,6 @@
     branches:
       - ^.*/yoga
       - ^.*/zed
-    vars:
-      devstack_localrc:
-        USE_PYTHON3: False
-    group-vars:
-      subnode:
-        devstack_localrc:
-          USE_PYTHON3: False
 
 - job:
     name: tempest-slow-py3
diff --git a/zuul.d/tempest-specific.yaml b/zuul.d/tempest-specific.yaml
index b222947..11c755e 100644
--- a/zuul.d/tempest-specific.yaml
+++ b/zuul.d/tempest-specific.yaml
@@ -68,7 +68,6 @@
       run_tempest_cleanup: true
       run_tempest_cleanup_prefix: true
       devstack_localrc:
-        USE_PYTHON3: true
         FORCE_CONFIG_DRIVE: true
       devstack_services:
         s-account: false