rgw: implement CopyObject for encrypted objects#63794
Conversation
45a0219 to
1359a66
Compare
|
jenkins retest this please |
|
jenkins test make check arm64 |
|
@cbodley @mdw-at-linuxbox - fyi, I have added some fixes for |
|
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
|
I'd sure appreciate having this finished; I use sseCustomerKey etc a lot, but having it break any time you use it with CopyObject makes it unusable for a lot of different projects. |
|
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
|
just as an example, this feature is required in order to use it with percona backup for mongodb |
6f5a1f9 to
3393797
Compare
Co-authored-by: Marcus Watts <[email protected]> Signed-off-by: Seena Fallah <[email protected]>
Co-authored-by: Marcus Watts <[email protected]> Signed-off-by: Seena Fallah <[email protected]>
Co-authored-by: Marcus Watts <[email protected]> Signed-off-by: Seena Fallah <[email protected]>
Co-authored-by: Marcus Watts <[email protected]> Signed-off-by: Seena Fallah <[email protected]>
Had a minor err when populating crypt header responses for complete multipart upload. Now tests on my local are passing as well: pushed new build for shaman on the same branch: https://shaman.ceph.com/builds/ceph/wip-23264/2157ea33c8bddc8cda3037df288f3bfa37d7b594/ |
Missed sanitizing the copy source attrs while logging, pushed new build to shaman: https://shaman.ceph.com/builds/ceph/wip-23264/65a75ff9be13539fb1d4bbf4a0fd22f8b6638e55/ |
Co-authored-by: Marcus Watts <[email protected]> Signed-off-by: Seena Fallah <[email protected]>
|
@clwluvw does this only implement copy/move objects for SSE-C or also for SSE-S3 and SSE-KMS? |
It does implement copy objects for all variant types of encryption that rgw supports, which includes (SSE-C, SSE-S3, and SSE-KMS). |
|
mostly looks good, but the rgw/tempest job failed in both runs with an error i don't recognize. from logs: this is asserting on the response header value "x-container-bytes-used" in https://github.com/openstack/tempest/blob/34.1.0/tempest/api/object_storage/test_object_version.py#L34-L35 for reference, they passed on the most recent baseline https://pulpito.ceph.com/teuthology-2025-11-21_20:40:24-rgw-main-distro-default-smithi/ |
Set ofs to total bytes read by adding 1 to end offset. Since 'end' represents the last byte offset (zero-indexed), we need to add 1 to get the actual number of bytes copied. Signed-off-by: Seena Fallah <[email protected]>
found the issue, had a wrong ofs to set for |
|
jenkins test make check |
2 similar comments
|
jenkins test make check |
|
jenkins test make check |
|
jenkins test make check |
2 similar comments
|
jenkins test make check |
|
jenkins test make check |
results approved. 👍 the tempest jobs passed test_versioned_container, but are failing for unrelated reasons tracked in https://tracker.ceph.com/issues/72968 |
|
This is an automated message by src/script/redmine-upkeep.py. I found one or more
The referenced tickets are: Those tickets do not reference this merged Pull Request. If this Pull Request merge resolves any of those tickets, please update the "Pull Request ID" field on each ticket. A future run of this script will appropriately update them. |
|
tyvm @clwluvw @mdw-at-linuxbox! |
Implement decrypt/decompress while reading and encrypt/compress while writing the data on CopyObject API call if needed.
S3 Tests: ceph/s3-tests#595
Fixes: https://tracker.ceph.com/issues/23264
Checklist
Show available Jenkins commands
jenkins test classic perfJenkins Job | Jenkins Job Definitionjenkins test crimson perfJenkins Job | Jenkins Job Definitionjenkins test signedJenkins Job | Jenkins Job Definitionjenkins test make checkJenkins Job | Jenkins Job Definitionjenkins test make check arm64Jenkins Job | Jenkins Job Definitionjenkins test submodulesJenkins Job | Jenkins Job Definitionjenkins test dashboardJenkins Job | Jenkins Job Definitionjenkins test dashboard cephadmJenkins Job | Jenkins Job Definitionjenkins test apiJenkins Job | Jenkins Job Definitionjenkins test docsReadTheDocs | Github Workflow Definitionjenkins test ceph-volume allJenkins Jobs | Jenkins Jobs Definitionjenkins test windowsJenkins Job | Jenkins Job Definitionjenkins test rook e2eJenkins Job | Jenkins Job Definition