Merge "Use next cidr to the configured one in the allowed_address_pair tests"
diff --git a/tempest/api/object_storage/test_account_quotas.py b/tempest/api/object_storage/test_account_quotas.py
index 0a40237..37783b8 100644
--- a/tempest/api/object_storage/test_account_quotas.py
+++ b/tempest/api/object_storage/test_account_quotas.py
@@ -17,6 +17,7 @@
from tempest import config
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
+from tempest.lib import exceptions as lib_exc
CONF = config.CONF
@@ -52,7 +53,8 @@
auth_data=self.reselleradmin_auth_data
)
# Set a quota of 20 bytes on the user's account before each test
- headers = {"X-Account-Meta-Quota-Bytes": "20"}
+ self.set_quota = 20
+ headers = {"X-Account-Meta-Quota-Bytes": self.set_quota}
self.os_roles_operator.account_client.request(
"POST", url="", headers=headers, body="")
@@ -89,6 +91,24 @@
self.assertHeaders(resp, 'Object', 'PUT')
+ @decorators.attr(type="smoke")
+ @decorators.idempotent_id('93fd7776-ae41-4949-8d0c-21889804c1ca')
+ @utils.requires_ext(extension='account_quotas', service='object')
+ def test_overlimit_upload(self):
+ """Test uploading an oversized object raises an OverLimit exception"""
+ object_name = data_utils.rand_name(
+ prefix=CONF.resource_name_prefix, name="TestObject")
+ data = data_utils.arbitrary_string(self.set_quota + 1)
+
+ nbefore = self._get_bytes_used()
+
+ self.assertRaises(lib_exc.OverLimit,
+ self.object_client.create_object,
+ self.container_name, object_name, data)
+
+ nafter = self._get_bytes_used()
+ self.assertEqual(nbefore, nafter)
+
@decorators.attr(type=["smoke"])
@decorators.idempotent_id('63f51f9f-5f1d-4fc6-b5be-d454d70949d6')
@utils.requires_ext(extension='account_quotas', service='object')
@@ -115,3 +135,11 @@
self.assertEqual(resp["status"], "204")
self.assertHeaders(resp, 'Account', 'POST')
+
+ def _get_account_metadata(self):
+ resp, _ = self.account_client.list_account_metadata()
+ return resp
+
+ def _get_bytes_used(self):
+ resp = self._get_account_metadata()
+ return int(resp["x-account-bytes-used"])
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