]> git-server-git.apps.pok.os.sepia.ceph.com Git - s3-tests.git/log
s3-tests.git
3 days agos3control: add test_account_public_access_block() ceph-master
Casey Bodley [Tue, 1 Jul 2025 16:07:23 +0000 (12:07 -0400)]
s3control: add test_account_public_access_block()

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 84d8f02d7ea5b90007d9d19e93dce0d9bf7d37c6)

3 days agoiam: use config account_id instead of parsing ARNs
Casey Bodley [Mon, 31 Mar 2025 18:27:50 +0000 (14:27 -0400)]
iam: use config account_id instead of parsing ARNs

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit a65eca5e30a40968eb37ee47cbcc2bcca0f61415)

3 days agoadd account_id field to config sections
Casey Bodley [Mon, 31 Mar 2025 18:16:13 +0000 (14:16 -0400)]
add account_id field to config sections

use fallback=None to make account_id optional. getters may return None
for non-account users

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit e4822e934b5cc5d9024dd9b4d2e8043ef6fc3fdf)

4 days agoMerge pull request #754 from ShreeJejurikar/wip-bucket-logging-requester-assumed...
Yuval Lifshitz [Tue, 26 May 2026 08:38:04 +0000 (11:38 +0300)]
Merge pull request #754 from ShreeJejurikar/wip-bucket-logging-requester-assumed-role-ceph-master

test: verify Requester field is the assumed-role ARN

4 days agotest: verify Requester field is the assumed-role ARN 754/head
ShreeJejurikar [Wed, 13 May 2026 15:53:49 +0000 (21:23 +0530)]
test: verify Requester field is the assumed-role ARN

Add a bucket logging test that asserts the standard access log Requester
field is set to the assumed-role ARN (per AWS S3 spec) when a request is
made with STS temporary credentials.

The test creates an IAM role assumable by the alt user, assumes it via
STS, performs an S3 PutObject with the temporary credentials, flushes the
bucket log, and verifies the log record's Requester field matches
arn:aws:sts:::assumed-role/<role>/<session>.

Tracker: https://tracker.ceph.com/issues/71742
Signed-off-by: Shree Jejurikar <shree.jejurikar@gmail.com>
10 days agos3tests: add tests for RestoreStatus in object listings
Matthew N. Heler [Wed, 4 Mar 2026 12:50:44 +0000 (06:50 -0600)]
s3tests: add tests for RestoreStatus in object listings

Add tests to validate the x-amz-optional-object-attributes RestoreStatus
support in listing responses.

New tests:
- test_list_objects_restore_status: validates RestoreStatus appears in
  list_objects and list_objects_v2 responses for temporarily restored
  objects, and is absent for normal objects or when the header is omitted
- test_list_object_versions_restore_status: validates RestoreStatus
  appears for restored non-current versions while unrestored versions
  remain unaffected

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
(cherry picked from commit 48494a1b454c1bcf985f7e07445cf0b839f8f22b)

11 days agoMerge pull request #751 from cheese-cakee/fix-76587-logging-request-id
Yuval Lifshitz [Tue, 19 May 2026 11:06:25 +0000 (14:06 +0300)]
Merge pull request #751 from cheese-cakee/fix-76587-logging-request-id

test_s3: fix test_bucket_logging_request_id for newer botocore

2 weeks agotest_s3: fix test_bucket_logging_request_id for newer botocore 751/head
cheese-cakee [Fri, 15 May 2026 20:02:36 +0000 (01:32 +0530)]
test_s3: fix test_bucket_logging_request_id for newer botocore

The test was using a boto3 event handler to capture the x-amz-request-id
header, incorrectly accessing kwargs["response"] in an after-call event.
Botocore's after-call event does not pass a "response" kwarg; it passes
"parsed", "http_response", "model", and "context". Fix by reading the
request ID directly from the put_object() response, which is simpler and
works across all botocore versions.

Fixes: https://tracker.ceph.com/issues/76587
Signed-off-by: cheese-cakee <farzanaman99@gmail.com>
2 weeks agoMerge pull request #746 from cheese-cakee/wip-75416-ceph-master
Yuval Lifshitz [Mon, 11 May 2026 15:09:14 +0000 (18:09 +0300)]
Merge pull request #746 from cheese-cakee/wip-75416-ceph-master

test: add test for standard access log request ID

3 weeks agotest: add test for standard access log request ID 746/head
cheese-cakee [Wed, 25 Mar 2026 20:00:15 +0000 (01:30 +0530)]
test: add test for standard access log request ID

Add test_bucket_logging_request_id to verify that the RequestID field
in the standard access log matches the x-amz-request-id returned in
the S3 PUT object response.

Related: ceph/ceph#67984, tracker.ceph.com/issues/75416
Signed-off-by: cheese-cakee <farzanaman99@gmail.com>
(cherry picked from commit 3b99093049296d761a77baa234508688767c6090)

3 weeks agorgw/multipart: test idempotent complete-multipart cksum and etag
Matt Benjamin [Tue, 21 Apr 2026 17:29:23 +0000 (13:29 -0400)]
rgw/multipart: test idempotent complete-multipart cksum and etag

Verify that correct etag and checksum (if any) are returned from
a complete-multipart operation that is retried.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit 9ca96ba0fc3d3537d947c4157c40abbe7f0fca1e)

3 weeks agos3tests: add tests for per-bucket cloud transition targeting
Matthew N. Heler [Fri, 12 Dec 2025 01:14:22 +0000 (19:14 -0600)]
s3tests: add tests for per-bucket cloud transition targeting

Add tests to validate the target_by_bucket feature which allows each
source bucket to transition objects to a dedicated destination bucket
rather than sharing a common target.

New tests:
- test_lifecycle_cloud_transition_target_by_bucket: validates objects
  land in bucket-specific targets without source bucket name prefix
- test_lifecycle_cloud_transition_target_by_bucket_multiple_buckets:
  validates isolation between different source buckets

Each test will perform a restore of the object transitioned.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
(cherry picked from commit 2fc33fc980b1e5d474e463e4e48db20c2a244c65)

4 weeks agos3: add fails_on_dbstore mark
Casey Bodley [Wed, 29 Apr 2026 17:13:04 +0000 (13:13 -0400)]
s3: add fails_on_dbstore mark

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 4895b3af073d2c31436d9a4159c8aceaff1b31aa)

4 weeks agoRemove fails_on_rgw to facilitate testing a fix
Jacques Heunis [Tue, 7 Apr 2026 12:10:10 +0000 (13:10 +0100)]
Remove fails_on_rgw to facilitate testing a fix

Signed-off-by: Jacques Heunis <jheunis@bloomberg.net>
(cherry picked from commit f1453774f7bbc36f722681bdb872cfc1af1bf9b5)

4 weeks agos3: Add a test for attempting to complete an unstarted multipart upload
Jacques Heunis [Mon, 16 Mar 2026 15:13:02 +0000 (15:13 +0000)]
s3: Add a test for attempting to complete an unstarted multipart upload

The AWS documentation for CompleteMultipartUpload specifies that the call will
return a 404 with the text "NoSuchUpload" to indicate that the specified
multipart upload does not exist. This could be the result of an invalid upload
ID or a multipart upload that has been aborted or completed.

Of particular significance is the requirement that this API call return a
400-series error (indicating a client-side problem) and not a 500-series error
(indicating a server-size problem).
At the time of writing, Ceph returns a 500 in this scenario which may be
handled incorrectly by client SDKs and is likely to be misinterpreted by Ceph
monitoring as an increase in errors that require operator intervention to fix.

CompleteMultipartUpload docs available at:
https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html

Signed-off-by: Jacques Heunis <jheunis@bloomberg.net>
(cherry picked from commit 5506af825b6dde397da7926cdcab889ff537c506)

4 weeks agos3: add test_head_object_404_with_policy_prefix()
Casey Bodley [Thu, 23 Apr 2026 16:39:56 +0000 (12:39 -0400)]
s3: add test_head_object_404_with_policy_prefix()

Fixes: https://tracker.ceph.com/issues/74398
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit ee1ca235d94f9ed272878943ae6991ddaf60763b)

4 weeks agoMerge pull request #743 from nbalacha/wip-nbalacha-backports
Yuval Lifshitz [Tue, 28 Apr 2026 08:41:26 +0000 (11:41 +0300)]
Merge pull request #743 from nbalacha/wip-nbalacha-backports

rgw-bucket-logging: handle presigned SigV2 requests

4 weeks agorgw-bucket-logging: handle presigned SigV2 requests 743/head
N Balachandran [Wed, 22 Apr 2026 09:56:29 +0000 (15:26 +0530)]
rgw-bucket-logging: handle presigned SigV2 requests

Adds a test to check that the log record AuthenticationType is
correctly set to QueryString for SigV2 presigned URLs.

Fixes: https://tracker.ceph.com/issues/76206
Signed-off-by: Nithya Balachandran <nithya.balachandran@ibm.com>
(cherry picked from commit 3ff252aa1950023a05390acb0cfbb9f4a7d26bd1)

4 weeks agosns: test sns:ListTopics with non-root account user
Casey Bodley [Thu, 16 Apr 2026 15:52:43 +0000 (11:52 -0400)]
sns: test sns:ListTopics with non-root account user

test that identity policy can grant access to ListTopics

Fixes: https://tracker.ceph.com/issues/74595
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 77e550338255e6251eca6241f989812e5ee47951)

7 weeks agos3: replace deprecated ssl.wrap_socket()
Casey Bodley [Thu, 9 Apr 2026 15:49:20 +0000 (11:49 -0400)]
s3: replace deprecated ssl.wrap_socket()

this was deprecated in python 3.7 and removed in 3.12

Fixes: https://tracker.ceph.com/issues/75943
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 54796a4965436bf85ffe635411d856f2f4935afe)

2 months agorgw/sts: modifying test_assume_role_creds_expiry
Pritha Srivastava [Thu, 9 Oct 2025 06:31:43 +0000 (12:01 +0530)]
rgw/sts: modifying test_assume_role_creds_expiry
to check for ExpiredToken (400) error code
instead of AccessDenied (403).

Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
(cherry picked from commit c7961972036bb0cb73a136e718e106609f3de0a0)

4 months agoMerge pull request #724 from nbalacha/ceph-master
Yuval Lifshitz [Wed, 28 Jan 2026 11:47:24 +0000 (13:47 +0200)]
Merge pull request #724 from nbalacha/ceph-master

rgw/bucket-logging: set retain date to the future

4 months agorgw/bucket-logging: set retain date to the future 724/head
N Balachandran [Tue, 6 Jan 2026 05:10:59 +0000 (10:40 +0530)]
rgw/bucket-logging: set retain date to the future

Sets the date for PutObjectRetention to 60 days in the
future.

Fixes: https://tracker.ceph.com/issues/74322
Signed-off-by: N Balachandran <nithya.balachandran@ibm.com>
(cherry picked from commit 03ee2030aaecc7e191488a7dba0f792634174045)

5 months agoMerge pull request #713 from yuvalif/wip-yuval-74102
Casey Bodley [Thu, 4 Dec 2025 20:06:16 +0000 (15:06 -0500)]
Merge pull request #713 from yuvalif/wip-yuval-74102

rgw/bucket-logging: handle async log commits

5 months agorgw/bucket-logging: handle async log commits 713/head
Nithya Balachandran [Mon, 24 Nov 2025 15:37:43 +0000 (15:37 +0000)]
rgw/bucket-logging: handle async log commits

Modified to work with the new asynchronous buckt logging commit
mechanism.

Fixes: https://tracker.ceph.com/issues/71365
Signed-off-by: Nithya Balachandran <nithya.balachandran@ibm.com>
(cherry picked from commit ec113ccbca1dcb3c34fce4f47e9ec26b58d30259)

5 months agos3: test checksum for get_object with part number
sungjoon_koh [Wed, 29 Oct 2025 17:55:16 +0000 (02:55 +0900)]
s3: test checksum for get_object with part number

(cherry picked from commit 01075ff90fff4b6e7161aa850cf2d9ed9b58140e)

5 months agos3: update etag for get_part tests
sungjoon_koh [Fri, 19 Sep 2025 15:31:27 +0000 (00:31 +0900)]
s3: update etag for get_part tests

(cherry picked from commit c7a41f8e75e694703e77fc06502bed7595a49aef)

5 months agotest_multipart_sse_c_get_part: pass enc attrs on mp complete
Seena Fallah [Thu, 20 Nov 2025 10:38:37 +0000 (11:38 +0100)]
test_multipart_sse_c_get_part: pass enc attrs on mp complete

Based on the new fixes around copy enc, those headers are required
when completing mp upload.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit 5982e64bc60362cded5e9fabdd52fb302575e034)

5 months agorefactor: merge test_copy_enc_ with test_copy_enc_storage_class
Seena Fallah [Sun, 22 Jun 2025 22:21:07 +0000 (00:21 +0200)]
refactor: merge test_copy_enc_ with test_copy_enc_storage_class

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit 1edf7e5b214b137d252a279134ba921f2b7e74f5)

5 months agoUploadPart: test to verify sse-c headers
Seena Fallah [Sat, 21 Jun 2025 17:44:00 +0000 (19:44 +0200)]
UploadPart: test to verify sse-c headers

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit 9ca6d04e698ab64f8aec2ffc005fdd8b5bf80bbe)

5 months agoCompleteMultipartUpload: test to verify sse-c headers
Seena Fallah [Sat, 21 Jun 2025 17:10:33 +0000 (19:10 +0200)]
CompleteMultipartUpload: test to verify sse-c headers

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit 0086db16fc57a84e0ff5d8dba4a096636088bb29)

5 months agoUploadPart: add copy part with encryption
Seena Fallah [Mon, 16 Jun 2025 11:26:10 +0000 (14:26 +0300)]
UploadPart: add copy part with encryption

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit 9732871b964e797cce74de0e1af5ed6a3d058290)

5 months agolc-transition: add test with encrypted objects
Seena Fallah [Wed, 5 Mar 2025 12:19:50 +0000 (13:19 +0100)]
lc-transition: add test with encrypted objects

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit db3d28bbcf1997850ca70ebf83416b36a2a78fda)

5 months agoCopyObject: add storage class copy tests
Seena Fallah [Wed, 5 Mar 2025 12:00:58 +0000 (13:00 +0100)]
CopyObject: add storage class copy tests

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit eed0551f3308778ab561146e3d6e1c8226d8f9dc)

5 months agos3: test object ownership
Casey Bodley [Wed, 25 Jun 2025 01:02:30 +0000 (21:02 -0400)]
s3: test object ownership

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 6e67add3832e46be91ff29817ca2417ccbabcdf9)

Conflicts:
s3tests_boto3/functional/test_s3.py moved to s3tests/

6 months agofunctional: fix invalid escape sequence deprication warning
Kyr Shatskyy [Fri, 21 Nov 2025 19:54:20 +0000 (20:54 +0100)]
functional: fix invalid escape sequence deprication warning

This change address multiple messages in the log:

    DeprecationWarning: invalid escape sequence '\$'

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@clyso.com>
(cherry picked from commit f3fc14f42ee37e21afc890a3a3b4b15c5c39170a)

6 months agoMerge pull request #707 from yuvalif/ceph-master-73675
Yuval Lifshitz [Fri, 14 Nov 2025 14:39:32 +0000 (16:39 +0200)]
Merge pull request #707 from yuvalif/ceph-master-73675

rgw/logging: change test to match the new source cleanup process