)]}'
{"id":"openstack%2Fswift~1002262","triplet_id":"openstack%2Fswift~master~I27202085795d642152f0bf8044c9fd8d573ae748","project":"openstack/swift","branch":"master","topic":"s3-checksum-persistence","attention_set":{},"removed_from_attention_set":{"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2026-08-25 15:28:15.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I27202085795d642152f0bf8044c9fd8d573ae748","subject":"s3checksum: add test coverage","status":"MERGED","created":"2026-08-25 11:36:10.000000000","updated":"2026-08-25 15:58:24.000000000","submitted":"2026-08-25 15:28:15.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"1002262-s3-checksum-persistence","meta_rev_id":"e4afe67c427b2b5e9e02e04566d01a2e0a36fb2a","_number":1002262,"virtual_id_number":1002262,"owner":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-08-25 15:28:15.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"all":[{"value":2,"date":"2026-08-25 13:13:15.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"all":[{"value":1,"date":"2026-08-25 13:13:15.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-25 12:42:58.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-08-25 13:13:15.000000000","updated_by":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"reviewer":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"state":"REVIEWER"}],"messages":[{"id":"71a241b01fd51cce7e988ceba7b83134fad29e92","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-08-25 11:36:10.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"9aa388eebb767f596bcf9c9beafd4a6a0cfb1867","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 12:42:58.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e608ab34ce574787a3614bb665432229\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f3ae6d92c43b41f48bff71d2845c9575 : SUCCESS in 12m 06s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/e12c0f5fbe034d66acd19dc2b0f8ac26 : SUCCESS in 11m 08s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/66cb03733023439eab6dd400d1d60b6e : SUCCESS in 14m 56s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f42f3a6ce51a4445951788a0ac70c760 : SUCCESS in 18m 50s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/df5f20542d88414d9c534774a4c17bce : SUCCESS in 22m 04s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/7722b10934a34f9380dfddcc71bf350c : SUCCESS in 6m 25s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/51a0bb1157754cd0b34e4fced5fbf660 : SUCCESS in 24m 26s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/e30ef99773464067af2a4fb78291201e : SUCCESS in 21m 54s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/972cd949265d418e9622ef5fd7573057 : SUCCESS in 18m 01s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/056d04faef314ca2beeb0aa4e96c00af : SUCCESS in 9m 42s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/1fdc776e4262476ea438ed0f421aaf8f : SUCCESS in 14m 56s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/6a7bd956d674442fb3f987e30d37fb13 : SUCCESS in 14m 10s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/13ad3a6b47bd4e55a896ef306aba0c69 : SUCCESS in 15m 19s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/0c135a4de7c9447d83e4ea3619689eb0 : SUCCESS in 19m 13s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/5f678f7b40f64429a4f1e123c08d0d66 : SUCCESS in 53m 15s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/8436d16e65564953a3dcb80a7b06393d : SUCCESS in 55m 29s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/e8ce67687c414d0fbcdb59c2916cb850 : SUCCESS in 21m 44s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d7868996531b418493edb7c47ea54877 : SUCCESS in 4m 18s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/415d1742b0da4d2f80205c67793fdce0 : SUCCESS in 20m 34s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":1},{"id":"8c650812882a7f57d499e721a24f50f7e7cf7ee9","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-08-25 13:13:15.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"19158cfdb348641cea787220ff3869ee370ce2e8","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 13:13:41.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"9dcfc099cd6a854b342b787cdfa3acdf14cfb670","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 15:28:15.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/86318d685b7d47549ee36ae840b615a1\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9ca1a48510ef4107ae2605830bc919e7 : SUCCESS in 10m 08s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0aeff9fc476c4871a8cc00614ede5b55 : SUCCESS in 4m 16s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/ece96be0bfdd455eae19c5be3750517f : SUCCESS in 9m 20s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/67b1fcc9ac7d4f36ad97bbdcc3065b1e : SUCCESS in 26m 07s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/f83fac55355643388f0c6ec0855cb8f4 : SUCCESS in 27m 58s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/324e6e45953f4fc58d62d47efa357e42 : SUCCESS in 45m 42s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/4f26005f48684eeb8544736a2550ef01 : SUCCESS in 20m 46s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/cdd7cb12cd39456c834b5f0c5d215a59 : SUCCESS in 15m 28s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/a7ce8e65f4a24d01ab0252cebd16e23c : SUCCESS in 9m 10s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/1088802ccd8242acb14623dcc2f43abb : SUCCESS in 9m 09s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/d8cb55b01beb4d60afec09d719487d95 : SUCCESS in 7m 26s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/fce675b66bb04bae90a9e01b2260488c : SUCCESS in 11m 44s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/3d44d5fac3ed4831b0c0bd13f4eed67e : SUCCESS in 57m 04s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/f17f4604fc1941f797febadc5aaebe65 : SUCCESS in 40m 35s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/afe6b914ad194da18f8bdfef6176735b : SUCCESS in 30m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9c640d11c3064e2382d297f297fb41ad : SUCCESS in 5m 00s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/68c2fbb3bfdc4412b6e3d8567f098702 : SUCCESS in 18m 47s","accounts_in_message":[],"_revision_number":1},{"id":"52ad1f978d95d4fad1f829f19964883281e4cca1","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 15:28:15.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"e4afe67c427b2b5e9e02e04566d01a2e0a36fb2a","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 15:58:24.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b63068e594a54ef6829eb3595e20ed38\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/f36355447ed94462959266d10255460b : SUCCESS in 38m 40s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"db1e67bcc38f618c80c5d7f25c15cbcc8d300079","revisions":{"db1e67bcc38f618c80c5d7f25c15cbcc8d300079":{"kind":"REWORK","_number":1,"created":"2026-08-25 11:36:10.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/62/1002262/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/62/1002262/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/1002262/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/1002262/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/1002262/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/62/1002262/1"}}},"commit":{"parents":[{"commit":"38bf6c621592f070ee1bc3b84ccc3e30b68b9121","subject":"s3request: remove unnecessary import alias","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/38bf6c621592f070ee1bc3b84ccc3e30b68b9121"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-08-25 11:26:35.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-08-25 11:33:52.000000000","tz":60},"subject":"s3checksum: add test coverage","message":"s3checksum: add test coverage\n\nUse the existing requires_crc32c and requires_crc64nvme decorators\ninstead of hand-rolled try/except blocks, so that an unavailable CRC\nimplementation is reported as a skipped test rather than silently\ndropping assertions.\n\nAdd tests for validate_checksum_value, and for get_checksum_hasher\nraising NotImplementedError when the algorithm is known but no\nimplementation is available. Also assert the algorithm name carried\nby S3InputChecksumMismatch.\n\nChange-Id: I27202085795d642152f0bf8044c9fd8d573ae748\nRelated-Change: I1cdb0e6e4cf98d6ef13c92922bed59db08201737\nAssisted-By: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\nSigned-off-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/db1e67bcc38f618c80c5d7f25c15cbcc8d300079"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/db1e67bcc38f618c80c5d7f25c15cbcc8d300079"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
