CLDSRV-901: Add functional test coverage for ListObjectsV2 optional object attributes#6174
Conversation
Adds scality:ListBucketOptionalObjectAttributes
NODE_AUTH_TOKEN is set to a dummy value as a workaround.
Vault 7.89.0 image ships a .npmrc with ${NODE_AUTH_TOKEN}.
Yarn parses the .npmrc on `yarn start` and refuses to launch with
"Failed to replace env in config: ${NODE_AUTH_TOKEN}" when the
variable is unset.
This is temporary; a future version of Vault will remove this.
Hello dvasilas,My role is to assist you with the merge of this Available options
Available commands
Status report is not available. |
Incorrect fix versionThe
Considering where you are trying to merge, I ignored possible hotfix versions and I expected to find:
Please check the |
Request integration branchesWaiting for integration branch creation to be requested by the user. To request integration branches, please comment on this pull request with the following command: Alternatively, the |
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files
... and 2 files with indirect coverage changes @@ Coverage Diff @@
## development/9.2 #6174 +/- ##
===================================================
+ Coverage 84.44% 84.50% +0.06%
===================================================
Files 204 204
Lines 13216 13217 +1
===================================================
+ Hits 11160 11169 +9
+ Misses 2056 2048 -8
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
|
LGTM |
| - ENABLE_LOCAL_CACHE=true | ||
| - REDIS_HOST=0.0.0.0 | ||
| - REDIS_PORT=6379 | ||
| # TODO: drop NODE_AUTH_TOKEN when VAULT-721 is done |
There was a problem hiding this comment.
We should mention that in the JIRA also to make sure the develop who will resolve the VAULT-721, will remove it from here 🙏. Why waiting to do it ?
There was a problem hiding this comment.
| ); | ||
| ?? [] | ||
| ); | ||
| for (const attr of optionalAttributes) { |
There was a problem hiding this comment.
Are we sure this match the AWS behaviour ? Of course no duplicate blocks, but should we reject the request ?
There was a problem hiding this comment.
Checked with multiple RestoreStatus. AWS does not reject the request
aws s3api list-objects-v2 --bucket cldsrv-probe-optattr-manual --optional-object-attributes RestoreStatus RestoreStatus --no-cli-pager
{
"Contents": [
{
"Key": "obj1",
"LastModified": "2026-05-21T10:15:25+00:00",
"ETag": "\"74e11c9bddafedf3ed7cd8bea153e7c8\"",
"ChecksumAlgorithm": [
"CRC64NVME"
],
"ChecksumType": "FULL_OBJECT",
"Size": 19,
"StorageClass": "STANDARD"
}
],
"RequestCharged": null,
"Prefix": ""
}
Side note: We have a divergence with AWS. AWS does not include RestoreStatus in the response for STANDARD objects (but I didn't want to change this in this PR because it will break existing behavior in Artesca).
If the request included RestoresStatus multiple times, then the response included multiple <RestoreStatus> blocks.
Delete markers in a listing included <RestoreStatus> and <x-amz-meta-*> elements.
eebfbd9 to
ea65b8e
Compare
|
/approve |
ConflictA conflict has been raised during the creation of I have not created the integration branch. Here are the steps to resolve this conflict: git fetch
git checkout -B w/9.3/improvement/CLDSRV-901-listobjectsv2-optional-attributes-tests origin/development/9.3
git merge origin/improvement/CLDSRV-901-listobjectsv2-optional-attributes-tests
# <intense conflict resolution>
git commit
git push -u origin w/9.3/improvement/CLDSRV-901-listobjectsv2-optional-attributes-testsThe following options are set: approve |
|
LGTM |
Integration data createdI have created the integration data for the additional destination branches.
The following branches will NOT be impacted:
You can set option The following options are set: approve |
|
I have successfully merged the changeset of this pull request
The following branches have NOT changed:
Please check the status of the associated issue CLDSRV-901. Goodbye dvasilas. The following options are set: approve |
This PR adds functional test coverage for
x-amz-optional-object-attributesheader onListObjectsV2andListObjectVersions(these tests will also run in scality/Integration).This feature has been implemented for Artesca. For context see requirements and design.
It also includes two fixes:
RestoreStatusmultiple times, then the response included multiple<RestoreStatus>blocks. The fix is to deduplicate<RestoreStatus>in the response (requests with multipleRestoreStatusare still allowed).