)]}'
{"id":"openstack%2Fswift~993193","triplet_id":"openstack%2Fswift~master~I9f6725868019ced6b3b04699c9d7f2649560f036","project":"openstack/swift","branch":"master","topic":"s3-checksum-persistence","attention_set":{"34930":{"account":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"last_update":"2026-08-03 20:40:29.000000000","reason":"Vote got outdated and was removed: Code-Review-1"},"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2026-08-26 17:21:38.000000000","reason":"\u003cGERRIT_ACCOUNT_39146\u003e replied on the change","reason_account":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"}},"6968":{"account":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"last_update":"2026-08-18 18:52:45.000000000","reason":"Vote got outdated and was removed: Code-Review-1"},"39146":{"account":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"last_update":"2026-08-27 23:02:45.000000000","reason":"A robot voted negatively on a label"},"1179":{"account":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"last_update":"2026-07-21 21:50:26.000000000","reason":"\u003cGERRIT_ACCOUNT_39146\u003e replied on the change","reason_account":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"}},"15343":{"account":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"last_update":"2026-06-22 18:45:52.000000000","reason":"\u003cGERRIT_ACCOUNT_39146\u003e replied on the change","reason_account":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"}}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I9f6725868019ced6b3b04699c9d7f2649560f036","subject":"s3api: Checksum Persistence on CompleteMultipartUpload","status":"NEW","created":"2026-06-12 22:53:31.000000000","updated":"2026-08-28 13:12:49.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":250,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"24fe2d3acb567de0d78d5fc9344e369e53d32a37","_number":993193,"virtual_id_number":993193,"owner":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-08-28 13:12:49.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":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_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":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_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":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"}],"CC":[{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-06-13 00:00:14.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-06-17 23:01:52.000000000","updated_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"reviewer":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"state":"CC"},{"updated":"2026-07-18 01:42:01.000000000","updated_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"REVIEWER"},{"updated":"2026-07-23 21:29:19.000000000","updated_by":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"reviewer":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"state":"CC"},{"updated":"2026-08-03 03:51:31.000000000","updated_by":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"reviewer":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"state":"REVIEWER"},{"updated":"2026-08-07 11:23:34.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":"CC"},{"updated":"2026-08-10 16:59:30.000000000","updated_by":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"reviewer":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"state":"CC"},{"updated":"2026-08-11 13:42:10.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":"efb3c53f342caf66993ace39f125d03bbb665e2b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-12 22:53:31.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"99219ede59acf67f26b3380e97aa3c7e4c8891b1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-13 00:00:14.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/379f637e37fd4a62a792a7019390cb68\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/90e1a37b96b448ae94ce475f58662b69 : SUCCESS in 5m 10s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/7705c9cf4d9941ccb1dd6a46f6d43444 : SUCCESS in 8m 52s\n- grenade https://zuul.opendev.org/t/openstack/build/f38a1c3605d94415b005e1fe61a55b5b : SUCCESS in 31m 42s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/d5cef80350514e6bbfeb2632af16e3c3 : SUCCESS in 43m 53s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/9904697111f74a1986c432d3cac23c47 : SUCCESS in 59m 31s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/3de1957a1e2f45f4ba2aeafa0a0e31ba : SUCCESS in 1h 01m 31s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/50e1abb82cea477b9feb094671107836 : SUCCESS in 11m 55s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/31e936b8cb574e558410fa23048cefcf : SUCCESS in 19m 41s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f58a4998a41941e6a9a897760552a02e : SUCCESS in 16m 57s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/644bee9b0c934d60aff572f8c9a2ec93 : SUCCESS in 5m 08s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/33044eb72d074b12a8d053d5daa1c170 : SUCCESS in 18m 25s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/36c01659037d4b429e45b2d0c3e32eff : SUCCESS in 17m 48s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/939dd10fb60945019d6344511422fd07 : SUCCESS in 19m 31s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/22e71e782f0540f8a25c5acbfaa41872 : SUCCESS in 19m 23s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/c85312a13e3747a1afc2935d23a5880b : SUCCESS in 12m 54s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/e558b8313d9448998bb509cfc1efc281 : SUCCESS in 15m 31s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/8a724abc1c2b491dbaac17c79b3120ac : SUCCESS in 8m 08s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/60a6b3a531ab42319b7da3ae22b8554d : SUCCESS in 5m 13s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/73b28940a70741c993a8a8d1f11b008e : SUCCESS in 10m 13s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/11396f7404bb4805a1d67e308492e64c : SUCCESS in 11m 25s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/71fa179d29b3458e8fa07a79ab36c2b1 : SUCCESS in 40m 10s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/03e35898a77f4084b75e9521684df897 : SUCCESS in 47m 21s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/444c0744752e4005bdb8873d3815698a : SUCCESS in 26m 25s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4bb0cd91683349c6ac69ec3bf4f0b2be : SUCCESS in 20m 40s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5e62f8bb3d4245ea9aeaba6d2fb4503b : SUCCESS in 3m 29s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/94dab27b02204166b8282e0216d6b128 : SUCCESS in 15m 46s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c98725a52d3148be99b47496d07b67af : SUCCESS in 36m 20s","accounts_in_message":[],"_revision_number":1},{"id":"42e39dfaf471fd6351612a8f7c3747e31c95c185","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-13 00:50:09.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"76a2b4df58b3caa020814e1779b29b1858ea8ccd","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-13 02:00:45.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/b6f1fc85f84f4fa8adf50ad4b8d96b59\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ff0f3a2d698a4d08b54e70fac501d138 : SUCCESS in 10m 02s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a282c012ce1347b484b974f1a42b42ec : SUCCESS in 5m 47s\n- grenade https://zuul.opendev.org/t/openstack/build/9263019f32c246c4b022b69880b62603 : SUCCESS in 1h 05m 11s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/8b7d38a289214e518b944b05bd6b0226 : SUCCESS in 1h 02m 08s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/53e1172e5f6246a4862de1194f9c459b : SUCCESS in 39m 29s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/b0a52048dcac41f8a19d225b4f8a85fa : SUCCESS in 1h 03m 38s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b916497e017b46b2b9fef2832a1cb451 : SUCCESS in 27m 23s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ec59be897345457fb63f8c30e8d65eb7 : SUCCESS in 10m 18s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/071bd8ac8fff4adcb81b92a39fc791c0 : SUCCESS in 21m 33s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/88dfa9d6c73245ad9a4c135cb6c634c2 : SUCCESS in 4m 54s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/50d71a8115144a9bb748f89394eeb684 : SUCCESS in 10m 11s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/7fc8e89878784a1794f0d50ee6a8b1bb : SUCCESS in 28m 12s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/893e939b4a2446e4a8250280c273a5c2 : SUCCESS in 30m 03s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/a6c2f60edace4eafbcfd42dd95ebc26e : SUCCESS in 20m 25s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/c93ad1bdf71e4d809f83fd72a79e9584 : SUCCESS in 11m 11s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/fde883b64ce548d689e925dd374ef9e5 : SUCCESS in 15m 24s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/97ade29a0dbb484e97c2bd5fe8bd5964 : SUCCESS in 15m 24s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/dc23fa26b7c540099b7eda68fd92e68e : SUCCESS in 6m 17s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/00b22831f8e84daea6efef2852e56b7d : SUCCESS in 14m 09s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/94c38f0f5b9548cebafda43521b6689f : FAILURE in 7m 19s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/71a06ef250084dbca75856dcdab04386 : SUCCESS in 57m 57s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/ad856f58f2284c7d922bfdfb025631e8 : FAILURE in 18m 53s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/bef7e8d53d4140a5954cb511f4f41397 : FAILURE in 18m 03s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/afda18cf914c4e6782206790835c20d0 : SUCCESS in 28m 28s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/01d2e541594a4d849c3ff13218a57ae9 : SUCCESS in 3m 55s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/29450eb8ec6b4ae2ab068a44c4539288 : SUCCESS in 18m 04s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/6bbc794bac1b46848158fd9b201e0a03 : SUCCESS in 1h 00m 24s","accounts_in_message":[],"_revision_number":2},{"id":"c9fc5dd640649a60836883b4f1f22e26717aa4fe","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-15 18:55:08.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"ba14c727683b71984fc0c258b3de7fce1d3890b9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-15 20:16:41.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0d6587e6266349a6b23163ffa3b2fbbb\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1bc3985d264b47f1854ec1e944603cd2 : SUCCESS in 11m 07s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1ad9af81382a4f8ea080b8496bb12691 : SUCCESS in 8m 08s\n- grenade https://zuul.opendev.org/t/openstack/build/facfa8b894f04bd69fb931306534ad7f : SUCCESS in 1h 10m 10s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/5b70170e4d044a7f9b9bcd39f5c8826e : SUCCESS in 53m 42s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/6cc29c493bb84a5d9174121b85a7c20d : SUCCESS in 43m 12s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/8155c360872f444e8ee29e4bfc750554 : SUCCESS in 1h 12m 49s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d0f8340b7a134c75a5cf663ce470a520 : SUCCESS in 18m 37s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4363fd3199394a89b82fe1f2a0f29276 : SUCCESS in 23m 04s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c7d6674ff7da41b88804e24a3189ed4f : SUCCESS in 20m 13s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/0c03dbc68a184761b724682749350ca0 : SUCCESS in 6m 23s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/1c10347b99a248dbbca86a8271d797ec : SUCCESS in 25m 13s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/17fca4cc9bda4786abcb039ec8731fa2 : SUCCESS in 23m 56s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/328b027589c44b729e7633d9fcf45020 : SUCCESS in 14m 14s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/2798245a64224891944bebab23088f0d : SUCCESS in 20m 00s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/9e8e990b5cd74a6d9948e7a0ff8bf7bd : SUCCESS in 15m 02s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/5c34e73715574b2da6fcdc280caa55b0 : SUCCESS in 14m 44s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/e7bd2def0b834fa087047e829914f854 : SUCCESS in 15m 55s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/5268121f01c041d091d7f1951f6a7324 : SUCCESS in 10m 24s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/37650b6ffaf04dda968bed5a0310e529 : SUCCESS in 9m 23s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/808ffb39540e48adacf0c053038d3282 : SUCCESS in 9m 10s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/061a2155e4f44d90a332ffd404dfed74 : SUCCESS in 1h 02m 15s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/b038fbf00994463daf4088559f885485 : SUCCESS in 1h 03m 28s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/d164f4ed30684cbfa8ed3c54ccb8f9aa : SUCCESS in 53m 55s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/d0c4a7b3f13245608a89d9447e99cfc9 : SUCCESS in 31m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5917ac54153a4313bae5a66a79474fb6 : SUCCESS in 6m 09s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/241c84f7c4b24826acd961b0e622f379 : SUCCESS in 20m 56s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c477a1732c4e4e30ae3b71875f42aa97 : SUCCESS in 1h 03m 56s","accounts_in_message":[],"_revision_number":3},{"id":"e54276cfad0f43f9fd07acc88e71a44effe3c956","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-15 22:13:14.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"e89ffae954e5275be6b65dc44d252490f44e3150","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-15 23:30:07.000000000","message":"Patch Set 4: Verified-1\n\n(2 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/c3284dc5aabf436a8627834770543e67\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d834187b17424135bc3e4ce654c19962 : SUCCESS in 8m 56s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/dc7942c0f7c649029ffbc7c2d9635a4f : SUCCESS in 8m 19s\n- grenade https://zuul.opendev.org/t/openstack/build/e47534b6a9844f828aa98d9760887c9e : SUCCESS in 1h 09m 52s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/0c19ef7690b34d5e82d6819b1b7d7c0b : SUCCESS in 1h 04m 59s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/a0dd34baeb3e4e4ebccb72153d33d794 : SUCCESS in 33m 09s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/92bfbf902e68448d94d603f2688c7351 : SUCCESS in 36m 59s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0092aae91f6d4d03b54f165d7105d103 : SUCCESS in 18m 56s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/703dcdd6c54a422d8aa382decc2326c2 : SUCCESS in 10m 47s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/7a7d89c533214de39961790ac6779be2 : SUCCESS in 10m 37s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/0944165af4a848c3bfbec728bb6918ac : SUCCESS in 4m 08s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/40b9adf038a14793b41a2ef6c0707296 : SUCCESS in 26m 51s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/a59f48a558844c39b3b7f48ccd029a36 : SUCCESS in 10m 36s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/cfe51a552028438a8d1f2f6e2e2e5616 : SUCCESS in 13m 01s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/277fd9be17f74d2689ed249255801d2f : SUCCESS in 10m 26s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/373687d4a30c4d168de04fde3b541f33 : SUCCESS in 14m 44s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/282b729e26d14094bb7220e35171b209 : SUCCESS in 8m 19s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/32d343a6e937482593d3367665047c5f : SUCCESS in 15m 36s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/c751d1a628f84db8babf9a31e4aaddac : SUCCESS in 4m 18s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/43699901e9dc4941960b4971f6dea19d : SUCCESS in 9m 25s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/7ccb11c98a1847e58cd589a2358a9830 : SUCCESS in 8m 29s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/ed2a925a435b4e188bdb37c9b9253d47 : SUCCESS in 1h 00m 03s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/f833911fbac14783919bda2ca41c5d7d : SUCCESS in 52m 54s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/b67d163dcd5f4474abbd6312801e5fab : SUCCESS in 35m 40s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/7e7b727d3f1e4df1b65d793e0e034056 : SUCCESS in 28m 07s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a7e104b91c3245e78b6784577e423285 : FAILURE in 3m 58s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/dbb2dd254e9a441b9c9394be4ab2dcd7 : SUCCESS in 25m 12s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ee0f5a00cbdb4e4f857ccc682ef4cf75 : SUCCESS in 1h 04m 13s","accounts_in_message":[],"_revision_number":4},{"id":"0fd7e11a61ec7c377b5fdba3955628edc4acb1c1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-16 21:19:08.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":5},{"id":"1b57ad3173e247aca8da5a84a8c528c685812abd","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-16 21:30:10.000000000","message":"Uploaded patch set 6: Patch Set 5 was rebased.","accounts_in_message":[],"_revision_number":6},{"id":"48588cde0d242a9fcc62d223d53eed632eeff3ce","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-16 22:40:04.000000000","message":"Patch Set 6: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/d15b68c7f0354b4ca73194b84a6e4fd3\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/402334fe4c9f4f918315030f13e2c132 : SUCCESS in 10m 01s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c32eda2faa8340659c76582953cbe727 : FAILURE in 3m 44s\n- grenade https://zuul.opendev.org/t/openstack/build/1f42f0e6258f4b13b1cda36ec4a5efb4 : SUCCESS in 1h 02m 20s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/6ad63e51169d4eccb67964af8872a277 : SUCCESS in 1h 02m 55s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/4e4491bb1e3749168d83f27a799c0c74 : SUCCESS in 55m 56s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/eed4c44f392a48d6b5828f69d816282b : SUCCESS in 34m 29s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/7e769ca9c7a5410f8f5b92bc8ed3db59 : SUCCESS in 19m 07s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/22638c95e858444db3a0a667fc28d813 : SUCCESS in 12m 21s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/8f3f8d57e12f4b7fbaaa46d1a83b6dd7 : SUCCESS in 22m 06s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/d7953793ef2649b38bc57557fe42bd2d : SUCCESS in 7m 09s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/822158a1da934d069abd9bf9fe1a465d : SUCCESS in 25m 52s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/4b8e5973a31d4a4095dff0e875025ae1 : SUCCESS in 21m 35s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/d25b66614409492caa2b5d44951eb928 : SUCCESS in 30m 20s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/04bfa677b25040e191907f995fc15fc8 : SUCCESS in 21m 39s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/18a68ef30cc2496f9dcd3960c7f9af20 : SUCCESS in 14m 14s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/66de3d819f8940c2a2ddfa311371f1ec : SUCCESS in 14m 19s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/f5a7c6ef250c4976b712a40f3f9bbbce : SUCCESS in 9m 44s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/0f7ed66ee58748fcab41423173d6d503 : SUCCESS in 7m 08s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/8b37df08138a4adaa7cdcd61a07e7702 : SUCCESS in 16m 51s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/fac7a15dd3594f1a94140cfcc81886f8 : SUCCESS in 11m 07s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/0024bfb64a9944bf99dd1dd8634531cf : SUCCESS in 44m 49s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/0f23141b34ff4c1e9f2b3e21d1d042b6 : SUCCESS in 56m 31s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/6d38cbf42bf741b8a0679d8f96724890 : SUCCESS in 53m 50s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/393f23eca41844afbd267c02c667dcd1 : SUCCESS in 13m 18s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/778ab48381714e8397e2981df39cd4ff : SUCCESS in 4m 13s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/9d1e99f15d9b4d518927b003a3e09111 : SUCCESS in 16m 35s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/1224256d2f5c4c1baaddefc460dbec63 : SUCCESS in 35m 24s","accounts_in_message":[],"_revision_number":6},{"id":"81243cd65616123b315e11ede201129e065e95ad","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-17 17:30:30.000000000","message":"Patch Set 6:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/74f6ee41a433465ab1946b0b9f675fe4\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/b1bed7ee0d114163bdd34cbb02cb0758 : SUCCESS in 57m 07s","accounts_in_message":[],"_revision_number":6},{"id":"8446d5c28527f906b68ab3bdce4f72c15a7e258d","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-06-17 23:01:52.000000000","message":"Patch Set 6:\n\n(4 comments)","accounts_in_message":[],"_revision_number":6},{"id":"64a2f7780c8ee92d33ad2498ae3082e50cc6e0cf","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-22 18:45:24.000000000","message":"Uploaded patch set 7.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":7},{"id":"116beb77313d00c0084287129b974a605ca574f9","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-22 18:45:52.000000000","message":"Patch Set 7:\n\n(3 comments)","accounts_in_message":[],"_revision_number":7},{"id":"8d884a377875d0e52995d4f0aa5a2990d040b3d8","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-22 19:40:28.000000000","message":"Patch Set 7:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/acef32af5e9b4f768c8d48c653f76d09\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/f9aafe73d7e742fcb23760c2362574dd : FAILURE in 52m 54s","accounts_in_message":[],"_revision_number":7},{"id":"8040c29c7af18bc7565591ee3a12a7e391342594","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-22 19:54:55.000000000","message":"Patch Set 7: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/cc78060a82e041de8670bcc9e996e1fd\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c1f0789df0984010b5f6e3acf0313fa8 : SUCCESS in 7m 30s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/dfa968572b554a90a0c66e68600a137e : SUCCESS in 4m 04s\n- grenade https://zuul.opendev.org/t/openstack/build/0a3ebd8e72f54b388b9a2ab589113352 : SUCCESS in 46m 48s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/48d8f74112de4721a4b52c5797ee3fa4 : SUCCESS in 31m 52s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/c1e0b0e595f4485ab4b7efff803eaba9 : SUCCESS in 1h 03m 24s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/7ec69f13a6984e1f8798558532ee8952 : SUCCESS in 37m 06s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/af07fd0000a04358a2af1dd21356ed4b : SUCCESS in 20m 46s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/6a8e35ac526a48348cc1816c7fb398ee : SUCCESS in 21m 02s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/7eb58ae582554155b6c6686215130268 : SUCCESS in 12m 58s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/d2171588228b4158970fcf46d1cf79ff : SUCCESS in 5m 06s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/6763dfaf9c9d424baa7678c6fe37d894 : FAILURE in 24m 33s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/b11e875255d5468882b4dde15e22ee6a : FAILURE in 22m 32s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/d9d1a740c66d47c7b07009ed33ab16fb : FAILURE in 19m 24s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/462c32faea04420ca77467ba5a68ba45 : FAILURE in 20m 50s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/087dbc2a7913463587385596ec775559 : SUCCESS in 8m 53s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/9647097ca2e647d9a04900c6f9cef3f4 : SUCCESS in 14m 28s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/29d40456463641829406b35ebf08b00c : SUCCESS in 12m 09s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/4a801ad2a50f4314acaa162a49acab21 : SUCCESS in 7m 25s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/0652f5549e9247e4be79f38b2a26dad5 : SUCCESS in 16m 50s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/7da4fe1f72a9415cbdbc27ee1dc1bc71 : SUCCESS in 8m 49s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/d55586d0d4d24cdb83342c8f50a49bab : SUCCESS in 59m 38s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/7ffbda7b6d294aae8904c0acca1e6c44 : SUCCESS in 25m 36s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/cc8d30770dfe4d65b289f6bf83284022 : SUCCESS in 51m 53s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/11dca96a277e41c98983cd8bd76078bf : FAILURE in 30m 00s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/09a88549da544376980d61173b91e53c : SUCCESS in 5m 29s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/eb158b9cd1b040a4a54c20dc9b0152e7 : SUCCESS in 19m 41s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/7c45e1fc0ba245c28f6e83eae790b8c1 : SUCCESS in 43m 45s","accounts_in_message":[],"_revision_number":7},{"id":"ddf6493872763b46b7f7f04ac431cbd72bd9dd24","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-23 17:17:22.000000000","message":"Uploaded patch set 8.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":8},{"id":"cbd8d3ee5b4b4983aecd61f45883176ae5097ab6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-23 17:28:59.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"4fc47c0921b265c2d710015125bbbcc82d473d49","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-23 17:32:46.000000000","message":"Uploaded patch set 10.","accounts_in_message":[],"_revision_number":10},{"id":"6d6436b3fbf2dfecdf7b0e65f3638ab65b884cdd","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-23 17:46:34.000000000","message":"Patch Set 11: Patch Set 10 was rebased","accounts_in_message":[],"_revision_number":11},{"id":"801b5e2f327415bd07bbfc93c8a5ad904126768f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-23 17:55:01.000000000","message":"Uploaded patch set 12.","accounts_in_message":[],"_revision_number":12},{"id":"fea822d9f529a1c9afef4f150c359478c87c5143","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-23 18:26:24.000000000","message":"Patch Set 13: Patch Set 12 was rebased","accounts_in_message":[],"_revision_number":13},{"id":"3f6e0f8bfe2641f46fe165977cfe26a45ff5276e","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-23 18:27:35.000000000","message":"Patch Set 13:\n\n(1 comment)","accounts_in_message":[],"_revision_number":13},{"id":"ce39580cdda2dbff09ea7189d1131ad52f284abf","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-23 19:39:07.000000000","message":"Patch Set 13: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f5fb9a89eded4302a9d41983fbf583dd\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1888af3bfb40440fa4a88472ccce51be : SUCCESS in 5m 47s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1ec6f13841cb410da4dd7d1aae123965 : SUCCESS in 10m 20s\n- grenade https://zuul.opendev.org/t/openstack/build/673f2b127fd74a97b34dcd2b2a964081 : SUCCESS in 54m 07s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/d14d8fa64a4f461198388cf7c547fceb : SUCCESS in 34m 12s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/50c9b6875bb943608e872c22bbc6ba3a : SUCCESS in 54m 59s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/16a1a2c4273b4257ae54dbd54828ed2c : SUCCESS in 1h 07m 00s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e38562059a964d868fd7e0c876e76ce4 : SUCCESS in 20m 37s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/50a19ba346f64f438e08ac7abd8a0ef7 : SUCCESS in 21m 31s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c2484677d86a460ca55c506d6280d993 : SUCCESS in 17m 37s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/5f34676a089c453eab8404fdc7276105 : SUCCESS in 4m 40s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/49674b27ab0c4308925260892835ecf3 : SUCCESS in 28m 46s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/a4624d6979b24d5ca7a2b4ba6c9585f3 : SUCCESS in 22m 55s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/d9c434359acf4394b6b7b2b6e50da382 : SUCCESS in 34m 02s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/1d6abcf44db5423188a71dcc849b2e44 : SUCCESS in 22m 33s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/8ec78f0564b5496aab4e06937dc637bb : SUCCESS in 16m 10s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/2f3c3773ddc74e36a3ef0d02de62ca6c : SUCCESS in 17m 25s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/ca4675a53cdd445ab1dc80c26ef9063f : SUCCESS in 17m 41s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/5a42ffa21ea942bd8f730eded65af329 : SUCCESS in 7m 03s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/cb0753410f3947f6bc37f3ac4990c1bd : SUCCESS in 19m 12s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/cef4f69484104e1cb508099366a5fcd6 : SUCCESS in 9m 59s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/9c8cdae6f8fd459fb70c2ebd651f3db7 : SUCCESS in 1h 00m 05s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/39d95f3c5f214ccb978eb3cc65f44042 : SUCCESS in 53m 21s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/9767f39fd23042e6a3e9281b9855290a : SUCCESS in 49m 34s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/87788192a92448369020cceb5637b8c5 : SUCCESS in 29m 06s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/17600bd4730b45f28f4922a544743be0 : SUCCESS in 4m 50s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/0ee14efd163c45558bdac7ffdcb862e0 : SUCCESS in 20m 25s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9befdee9bd054bc0b4700b8804e4c7a3 : SUCCESS in 1h 02m 16s","accounts_in_message":[],"_revision_number":13},{"id":"82730d9edad602662e4ca6f00b8645e513a74cbb","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-23 20:04:37.000000000","message":"Patch Set 13:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3851517166c64801b827ea196b830401\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/c3bd27c5b2ea416dab60176f44862664 : FAILURE in 1h 33m 22s","accounts_in_message":[],"_revision_number":13},{"id":"05e54a9a2712f1dc6032adea61eb8ada2bd6dede","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-24 20:01:45.000000000","message":"Uploaded patch set 14.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":14},{"id":"510f76d3e8c0c03e3acb3189ff16c1da8c7b55c9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-24 20:54:38.000000000","message":"Patch Set 15: Patch Set 14 was rebased","accounts_in_message":[],"_revision_number":15},{"id":"e1e8b0c7d33808d34bdf2fdf9c14d7178062f15e","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-24 21:40:38.000000000","message":"Patch Set 15:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e40bc8fb987e449bb2bb24923e13bf83\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/437d388f923040ffbcdc76822ecd66fd : SUCCESS in 42m 43s","accounts_in_message":[],"_revision_number":15},{"id":"4130a7c92366455868062b39533e18066524df3a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-24 22:22:00.000000000","message":"Patch Set 15: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/93ec6b159591407f8580c86f3ab7438b\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0929f17adecf4576aab502ba22872405 : SUCCESS in 10m 38s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c89a5e064dc7461e9efbdbebeddb2ed9 : SUCCESS in 10m 05s\n- grenade https://zuul.opendev.org/t/openstack/build/44372bbd4aa847dba2e9a7c3673dabf4 : SUCCESS in 1h 18m 12s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/7c5eb914949b4c91a3f66c170524887b : SUCCESS in 1h 11m 05s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/00f77be1d44b4761bd4e6beea04da221 : SUCCESS in 57m 48s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c04da4b64aa141c88aadd16fd0d06156 : POST_FAILURE in 9m 09s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5317d0a227ea446d970406ad32d46996 : SUCCESS in 11m 50s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4b2b9e24c8014e58944266a9d0e131a2 : SUCCESS in 19m 10s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/3583056636374021a66a9ecf60174031 : SUCCESS in 19m 33s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/8b421209664b472197cc13957f6921ee : SUCCESS in 6m 26s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/645c7cebec4f4818a66381ef2453618a : SUCCESS in 21m 11s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/c8a0efa544834554b7facab09648b219 : SUCCESS in 10m 51s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/527839f571ba42b8ba76baae511405c6 : SUCCESS in 30m 35s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/a0b9542b99d342d289fd0a985e5f763d : SUCCESS in 14m 58s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/d7b2f22859f445979829b2934d333480 : SUCCESS in 17m 39s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/c9c88d913885431f96c9b584f31c68db : SUCCESS in 14m 46s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/dd1115e78dee4700bbc4143b6b0c0348 : SUCCESS in 15m 58s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/0a0de7efc1e140d29c012009939010e4 : SUCCESS in 7m 04s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/25d060276e464fd4805a9075c7c29ce1 : SUCCESS in 10m 02s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/f89498a06e834246a83a2a0b0d3d14a2 : SUCCESS in 8m 14s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/1fa0fd3e3a45490db66383a779f020c5 : SUCCESS in 58m 01s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/0356e41d03d14ec198fe79a1b37b0ce8 : SUCCESS in 25m 53s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/f9b5dcc98336401ea986f83d60aefa3b : SUCCESS in 55m 34s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/7851ff70841e437fa9e1a3f3d8633244 : SUCCESS in 20m 01s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9c910b64c49245229f054cac69ee4374 : SUCCESS in 3m 38s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/45f30263746248ffaf8eb5b6daee4f82 : SUCCESS in 18m 21s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/17689f9afe444aa9832c6c9a3d99d91d : SUCCESS in 1h 02m 46s","accounts_in_message":[],"_revision_number":15},{"id":"25ed1b4892885c6e13189214d6ab0a04cee22a85","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-25 16:03:14.000000000","message":"Uploaded patch set 16.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":16},{"id":"2bf9c1a2eafebce6e8367bb8558a9d98f6e8aac2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-25 16:08:32.000000000","message":"Patch Set 17: Patch Set 16 was rebased","accounts_in_message":[],"_revision_number":17},{"id":"9a4cbeeae1af7915e084733f7320358dd5915a39","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-25 16:18:39.000000000","message":"Uploaded patch set 18.","accounts_in_message":[],"_revision_number":18},{"id":"b64bd40906534b49a12360216ca51fe09804a78f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-25 16:33:21.000000000","message":"Uploaded patch set 19.","accounts_in_message":[],"_revision_number":19},{"id":"017238cdb3a3ea8e598ca983c6560932e23d07d0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-25 17:53:58.000000000","message":"Patch Set 19: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/55fd10964a6b4ed0808f50143eff3ed4\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/45568c15accd4a02976b934a0447556b : SUCCESS in 5m 37s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/2f5893734046418ead1b1b9f90166189 : SUCCESS in 9m 31s\n- grenade https://zuul.opendev.org/t/openstack/build/90376b01da0443fab9eb988d3fabb0f8 : SUCCESS in 36m 47s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/5893a123e5ed40ffa9f0b4398564a9a9 : SUCCESS in 50m 56s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/f1bf1b09efee4cb4bf6cdba3d61d9d21 : SUCCESS in 1h 10m 03s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/603b8d24e2e848079918926f59a25b3c : SUCCESS in 1h 05m 32s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d5fd42b0013943d1aa931da607bec75a : SUCCESS in 12m 16s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/2c513a43696940d2becef566c00ff9dc : SUCCESS in 21m 40s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/707cac7eb0f94871af14e4c16861dff9 : SUCCESS in 21m 04s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/bedfa5fa99204774a7822caeea23e720 : SUCCESS in 9m 07s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/8d3223f64f314548998b019ec898803b : SUCCESS in 21m 39s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/5e5fbec2835741119113890681d72cb7 : SUCCESS in 8m 58s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/fdaedc1c72d74c4a8a5ce8527e4d10bb : SUCCESS in 34m 19s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/027a234c1aee45b0a3c85665793a3321 : SUCCESS in 21m 14s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/92817620b3304938b02ad40caba9603f : SUCCESS in 17m 12s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/8c45ff857a10475b9ae90b92c9b015db : SUCCESS in 8m 28s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/0235ccee9caa45c4a61d602307b5d610 : SUCCESS in 23m 05s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/6628378d304f40fa80306b58a35cd0c8 : SUCCESS in 6m 07s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/fc467c9013994811ad999dd329c6ad8d : SUCCESS in 22m 58s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/6f4d6c079a5a470da85fbeea5518b58a : SUCCESS in 9m 04s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/65d1a0e1ba1c46c29de87b0d5b62b362 : SUCCESS in 57m 50s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/445f30958e6b4b8da38443293a60f356 : SUCCESS in 59m 40s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/5c1d375f93664f49bcb1ead5e70bb295 : SUCCESS in 52m 05s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/28aac184a7fa410aa035ef0c66f31c1e : SUCCESS in 27m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fea3891174bd42189a62ee8396eedfd5 : SUCCESS in 5m 01s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/97b632f277664889858081e46c46af74 : SUCCESS in 27m 04s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/481f2f6633cb4c37bf3602e575792340 : SUCCESS in 1h 00m 17s","accounts_in_message":[],"_revision_number":19},{"id":"fb7e1bab4510306ac9044599111f6098dfe49331","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-25 21:09:07.000000000","message":"Patch Set 19:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/92b8541da48d4defaa0e2d70c45e2923\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/6c4951ea6ce4492eb462d644fb16a6fc : SUCCESS in 32m 04s","accounts_in_message":[],"_revision_number":19},{"id":"6a0e3d9328521c369de9fed43adbe19dcd1d08b3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-25 22:55:34.000000000","message":"Uploaded patch set 20.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":20},{"id":"94af24c93b9828e13879ba1ee03f1160052867de","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-25 23:04:52.000000000","message":"Uploaded patch set 21: Patch Set 20 was rebased.","accounts_in_message":[],"_revision_number":21},{"id":"4a6ea4f59175acf6117fb54d4e8459fd385d0354","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-25 23:46:07.000000000","message":"Patch Set 21:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/52a12e0a29de4138b68b0bb3b3e2d25c\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/3381a83a73cd4336bad251e6d725321c : SUCCESS in 38m 19s","accounts_in_message":[],"_revision_number":21},{"id":"c3c6d4845e33e624cd3bd5f8c7d80b6538c61d2b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-26 00:15:52.000000000","message":"Patch Set 21: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/360adeb2a2ad469f92ddbc9cbb066144\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f5011744871f49b6ac4020b913cb78cd : SUCCESS in 5m 00s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/cf099975f30c436ab3ef22757fc10009 : SUCCESS in 3m 43s\n- grenade https://zuul.opendev.org/t/openstack/build/cb8112e8cbde4d78996a18decc427949 : SUCCESS in 31m 50s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/b91c0e2c655140f98b6d094335f452f8 : SUCCESS in 1h 02m 19s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/bfca27cef6f04c3389a5229e38e62877 : SUCCESS in 56m 38s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/a407691e898d4329956b83100b2b6b02 : SUCCESS in 34m 18s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/2dc50200aaa948f99e57a0cec7528c01 : SUCCESS in 19m 10s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/334f4f053af24b4fa13f369321b246ba : SUCCESS in 21m 23s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1232e7539f4d4d0e894699d6c8ede6c5 : SUCCESS in 17m 40s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/e5f90df839444bde8013e2f66ea43876 : SUCCESS in 6m 14s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/df93233b3e13468d9d05df191eb218ba : SUCCESS in 24m 48s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/227bcb032101458aa7a751e7e33a4ec7 : SUCCESS in 21m 16s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/22832fa282a246229e879b61cdb2a8bc : SUCCESS in 31m 27s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/87aa23ec5524482db45c529a41469056 : SUCCESS in 18m 10s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/b7e9800377a54ae488cc261e63afeba5 : SUCCESS in 15m 42s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/e96371ac274a47ce84a65d9db67e9bda : SUCCESS in 8m 27s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/18325315aaea46e3968dc7fce8cad961 : SUCCESS in 13m 44s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/175426cd79b64a1aa902632036b500b1 : SUCCESS in 5m 53s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/22ea94ad311f416fba56de55c3e8c3cf : SUCCESS in 22m 52s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/828da4f474f7466289bbe0141bd950cc : SUCCESS in 9m 25s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/2dde4af8064c454aa1c4935d67b37d68 : SUCCESS in 58m 26s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/4641fe7a5f9744ad96a4c585ab0cacf3 : SUCCESS in 54m 36s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/f70496ce41ed492e88d80053ac010034 : SUCCESS in 57m 31s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/26f1aee6f0ef4ed7a37429fa22ca52bc : SUCCESS in 25m 30s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1a925de57e86449eb1d519724a9ab8a9 : SUCCESS in 4m 21s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/97a77f9caaa64dd59d19bf3386c46410 : SUCCESS in 18m 31s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ca35f11ca26c4fa4aff002ccf2dc8984 : SUCCESS in 57m 05s","accounts_in_message":[],"_revision_number":21},{"id":"77485283f33d5d3fdcbc006071d483198428dba6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-26 22:14:09.000000000","message":"Patch Set 22: Patch Set 21 was rebased\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":22},{"id":"f8934b01b0a0d103f431a230e8c87f918755c97d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-06-26 22:28:45.000000000","message":"Uploaded patch set 23.","accounts_in_message":[],"_revision_number":23},{"id":"006c02f75e93cc6de9fc9a82fbc00e6cba09acfa","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-26 23:25:35.000000000","message":"Patch Set 23:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/aa648d73c8d84347a5d460ae6a0ed724\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/ba04b0a1785c4b0eb4322aec5519f5f4 : SUCCESS in 54m 29s","accounts_in_message":[],"_revision_number":23},{"id":"523d5b0433f0ec6eb8068c89eb6dcf4f61db7eb5","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-26 23:49:00.000000000","message":"Patch Set 23: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/858a1a3444964d4d8baaae9ca8325c48\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/816c38707fe641c3832d37213ad70dac : SUCCESS in 6m 04s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d7d29a76ee794c199bdfee4fd45e6d66 : SUCCESS in 8m 22s\n- grenade https://zuul.opendev.org/t/openstack/build/9a2c3231ba3648cb89e9434f289ae6b5 : SUCCESS in 1h 08m 56s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/34946bad8545443bac94df7a9f79cdda : SUCCESS in 43m 47s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/1110569930164657a027ae8ad683a660 : SUCCESS in 57m 35s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/8807cabafda2483d85567f809015a5fb : SUCCESS in 1h 14m 37s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c40ee7acd8d848679c201d6e16d064b6 : SUCCESS in 10m 35s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1a67d67a843d47579c8ec503686a90c5 : SUCCESS in 16m 46s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ab2bda34e0644c3abc8c5a76adada38a : SUCCESS in 20m 35s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/7ac8d4f3687648b1aebb45a5ba24dad6 : SUCCESS in 4m 29s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/b08edd07e4184c60aec2db21258a7918 : SUCCESS in 10m 45s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/3b88071052a641bebcc92ed131516609 : SUCCESS in 10m 15s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/7d57253dec624839a9f180de07a6f20c : SUCCESS in 11m 50s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/69cb460696354980930be13c3793f04c : SUCCESS in 16m 15s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/0ed87c63591c4ca0ad8389948a250147 : SUCCESS in 14m 21s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/1344fb626af8456e996e7c74d01b2dfe : SUCCESS in 18m 00s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/13f6f996959a49b1a0ea1889ae43414b : SUCCESS in 17m 09s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/34e51eb11f774beebf032f905958abdd : SUCCESS in 6m 05s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/c3fbf9b1c33b40518947f2a3cd485eb4 : SUCCESS in 10m 29s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/8bc733d6f4584b0db642e04b11e56fc4 : SUCCESS in 9m 54s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/ed47b3eebc894a8bbb60191405fdec1b : SUCCESS in 40m 51s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/7d078bd0f7d24738b09af391068a4977 : SUCCESS in 50m 24s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/2f75bd854d2c42b092fb47acd541e4e7 : SUCCESS in 49m 48s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/eeabacb29bec44699ae43795750bfcf3 : SUCCESS in 13m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/075b92af76e943dc94e7fddc291bc78d : SUCCESS in 5m 09s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/53d3795e45b749918e4c12b23130328d : SUCCESS in 26m 03s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/97e7eacd88d844db8d59372325f10a76 : SUCCESS in 1h 02m 28s","accounts_in_message":[],"_revision_number":23},{"id":"8359391bf6f4a1b707f4a0fe91ebd44784c52076","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-02 15:19:18.000000000","message":"Uploaded patch set 24.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":24},{"id":"a54fba624c8131db114b9e4a830e6b3a3b574e55","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-02 16:37:41.000000000","message":"Patch Set 24: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/28d24597fc4c4596ba98f599f7dc828e\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4753a31f46114172834b51dad8a7f008 : SUCCESS in 11m 55s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/147531e2d4ab4adbaa2d4731b24c8b62 : SUCCESS in 9m 15s\n- grenade https://zuul.opendev.org/t/openstack/build/9cc09aac07444d21a7d4017b76071aab : SUCCESS in 1h 12m 22s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/271977819f05487d97474d4977e16516 : SUCCESS in 1h 10m 56s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/cc891cac0af947539f1ff55706ce208a : SUCCESS in 57m 51s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/04dc966e12da4538ab5c57d3b0bbe82d : SUCCESS in 1h 08m 49s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/69c96eeca2f0457b996181fe3a3cf0d9 : SUCCESS in 21m 38s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/dc2e4d051ac444728dc20a2fed3cc183 : SUCCESS in 21m 01s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/3898646bd16f442f906ea7aa71244a28 : SUCCESS in 23m 52s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/f8c6f0efe0fd473284272a4cb583d9fb : SUCCESS in 8m 03s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/78065343371a4b468ed46cbdd097813c : SUCCESS in 24m 34s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/083272d68ec747f3941c29c9d9eddbb3 : SUCCESS in 24m 44s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/8a39232c6af845599f7d1407dd0a5998 : SUCCESS in 34m 42s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/78ea27d0107544cb8cf13f4518de043a : SUCCESS in 25m 12s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/f4b89586828c4fa0a94f60b0c231ed20 : SUCCESS in 16m 01s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/7121d614bce94cecadab45f7e68000dc : SUCCESS in 16m 05s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/1dd52ba43b6048178d151bbf4a5d065b : SUCCESS in 14m 27s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/45b7451bf3604620a3d74a0dcd2829f9 : SUCCESS in 6m 28s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/a2081b13a01b43ca88d0b705ab1c4913 : SUCCESS in 22m 42s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/9745bfe6ebd84c999487a6c7798903b9 : SUCCESS in 5m 57s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/995515f6806a48dba83bf9e7a22ad78d : SUCCESS in 1h 06m 11s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/cd8d832537d14a678ee78ebc56f0bb0a : SUCCESS in 44m 57s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/5308990e152e47c39c20e4645e4376cc : SUCCESS in 1h 05m 25s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/22270bd648aa482ea207edd0aa5b31c9 : SUCCESS in 28m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e3575d69dd894e088d04b8e987d034c1 : SUCCESS in 5m 01s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/69e16c255b744313bad07bad2c5ed606 : SUCCESS in 20m 37s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b3b3c5fccb1940189e9467ef1730aab9 : SUCCESS in 1h 08m 22s\n\nWarning:\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml.  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.  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.  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.  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.  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.  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.  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.  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.  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.  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.  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.  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.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":24},{"id":"b83f2bbfc675e49b3c9ddcfbdacf9548352fb651","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-02 16:55:10.000000000","message":"Patch Set 24:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/079f15e2d8ac4860932d672807425442\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/f735f3ef43e345debe25e99be93d86df : SUCCESS in 56m 43s","accounts_in_message":[],"_revision_number":24},{"id":"dac631a1e9777151f7b4987fd56e47e74b822726","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-06 15:36:12.000000000","message":"Uploaded patch set 25.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":25},{"id":"2e96a6a8d86cdd958f81a87ce07f07595056f467","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-06 15:54:43.000000000","message":"Patch Set 26: Patch Set 25 was rebased","accounts_in_message":[],"_revision_number":26},{"id":"45b9d9356289d1612e1dc9a97e345ac10927e314","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-06 19:24:47.000000000","message":"Uploaded patch set 27.","accounts_in_message":[],"_revision_number":27},{"id":"3e87b736e476a693936493349bcf4a8036e59d8c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-06 20:34:36.000000000","message":"Patch Set 27: Verified-1\n\n(3 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/8b979e22d2b34f14a3e265bdff7d0f92\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d858b556fa9f409490fffd096be0da2a : SUCCESS in 5m 59s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b45794952cd5436b9ed90bdd0a37fdb1 : SUCCESS in 3m 47s\n- grenade https://zuul.opendev.org/t/openstack/build/bffb98c220b34805b8ffaa8ffd270a4d : SUCCESS in 1h 02m 41s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/1e6f008352fd4d27a9a87c32bd639779 : SUCCESS in 38m 03s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/1dd5c6b8c00248a5bc943e3fa6a46708 : SUCCESS in 57m 47s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/036c6497a8ec44aa9fa28378d14f68b2 : SUCCESS in 38m 47s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/69c9e66770124636b0616976121ea445 : SUCCESS in 16m 45s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/8d4bee8f6ce2472bbc557c5dc6d328f1 : SUCCESS in 21m 50s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/79ea70a88245401a9a70f4b9766491d0 : SUCCESS in 17m 42s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/191bbdcebd7c4eb08145dd0f07d2c42e : SUCCESS in 5m 10s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/4390edbcf8974361a1e79b9054be9d53 : SUCCESS in 12m 21s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/793254dd1c6f4ecab27b2a08d076aedf : SUCCESS in 26m 42s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/754de70588b0438aaa3c4f86082df754 : SUCCESS in 32m 17s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/2287c1b8703541cb83e6993de6ba639e : SUCCESS in 11m 04s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/f720906f49b245d3afa6915566cf44ca : SUCCESS in 9m 30s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/c676ada03c9641608e5cd25eb48981a8 : SUCCESS in 10m 26s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/64be91b95b0d4b9f905a5b76aeccff5c : SUCCESS in 16m 01s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/86f92663f3684972a7b9bfe2b1ae0d22 : RETRY_LIMIT in 6m 59s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/5eef47edec6848e7934f4cb2f86fc158 : SUCCESS in 20m 20s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/0d8874ed22b64ac59097fbf060098839 : SUCCESS in 9m 29s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/f5acfe686e9b40ee97f33f93c66e310e : SUCCESS in 59m 38s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/c0a31bb5b389447b9ad7b9d98b7de007 : SUCCESS in 38m 25s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/ed57a31b1e19496bb796e92ccf8d7ed1 : SUCCESS in 1h 00m 34s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/6bff84f9c9ef4bcc957eb45693c8f3d8 : SUCCESS in 13m 45s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7d446d0f5ee84e93bb23a2ea45f64e72 : FAILURE in 4m 11s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/fbd8b526663b4b358ff6bde51383d517 : SUCCESS in 12m 07s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/4c31464d419a4e2aa985138fdc96c888 : SUCCESS in 1h 04m 13s\n\nWarning:\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-build-image.  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-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":27},{"id":"914946e14817750d7fec4bcd264d087c9fc99f21","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-07 01:17:07.000000000","message":"Uploaded patch set 28.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":28},{"id":"ab437793e9f5a01c3fe0426924d89e8d09d91086","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-07 01:28:30.000000000","message":"Patch Set 29: Patch Set 28 was rebased","accounts_in_message":[],"_revision_number":29},{"id":"f882e961a68f999f7ad51c7127720c2c94c09829","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-07 02:40:16.000000000","message":"Patch Set 29: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fa04084bffd3407f81dc0e389eaee862\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a729a682b0424e99ba47b8a7d63c792b : SUCCESS in 10m 14s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/33113067c2b543ec9eb116d55aabeb85 : SUCCESS in 9m 23s\n- grenade https://zuul.opendev.org/t/openstack/build/0710b364bc4c48b4a1237ab9345f691b : SUCCESS in 1h 05m 01s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/b86311e7731149bea18b2b6f9b310cfd : SUCCESS in 1h 03m 51s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/2376499c06b54526b5561b299b167f95 : SUCCESS in 58m 35s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/45e644770fd94962ab30fda1cca1650c : SUCCESS in 1h 06m 17s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b3867768df68430bb551202a25b6af69 : SUCCESS in 19m 23s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e2e20a35de194522a29fea5965154df0 : SUCCESS in 20m 08s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/3330b230e6524feb9c4ee3d49fa11c26 : SUCCESS in 19m 26s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/2533b7b4a44549b694fdc278e8d13f20 : SUCCESS in 6m 33s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/ea7a30b621454835bc1915a512f9b404 : SUCCESS in 25m 04s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/0d3cc4f4461d4e11b369f838ed2b4fde : SUCCESS in 13m 31s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/3571bbc640194113944f11e1c754c162 : SUCCESS in 32m 43s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/0d7be58c95c441f28186c260900366fe : SUCCESS in 10m 01s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/dfc322f9a00a487f994f90125e5d04ef : SUCCESS in 13m 50s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/6f24e31b1490418aa4ce369c70e81365 : SUCCESS in 15m 56s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/b248b30175f349e9bcf17b349e15c83f : SUCCESS in 15m 28s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/1a476dfc60154fd9be8fd15a6a5e2059 : RETRY_LIMIT in 6m 50s (non-voting)\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/3b97705c71c84954a73e2dba2205548c : SUCCESS in 14m 56s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/e59a5a315c31436f9ccd473c41b1de7d : SUCCESS in 8m 32s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/e4f44093f2784f6e818ca9ac56f888c8 : SUCCESS in 53m 49s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/0d38fa85138f4a3787f492ca6396894e : SUCCESS in 53m 54s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/336dbee6a3c44682813a4053ed4a40c4 : SUCCESS in 30m 10s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/2fb08e32f5f2403689e94131411874fc : SUCCESS in 26m 37s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ae89d95cf5a7495098eba8247659b11e : SUCCESS in 4m 44s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/ca25abaa8ae24958bd48ed30ec088827 : SUCCESS in 17m 53s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d66b630aae844a7f8e5b82e3e7a132b0 : SUCCESS in 1h 03m 45s\n\nWarning:\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-build-image.  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-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-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":29},{"id":"0b83a41ea820e421d09bb22c04d3be7b19cd0dfa","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-07 07:22:05.000000000","message":"Patch Set 29:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e5289377487e48c49b8f9db61e568293\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/4d0d838f29044111b10a1934fee6cc0f : SUCCESS in 1h 16m 24s","accounts_in_message":[],"_revision_number":29},{"id":"e00e1d0d7409d172b6e18c91348d6c9b5593982e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-09 18:12:23.000000000","message":"Uploaded patch set 30.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":30},{"id":"a6860892fd5187bb59be34fa3e58571fa363faab","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-09 19:42:51.000000000","message":"Patch Set 30: Verified-1\n\n(4 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/fb1918afd4cb4bf7b318430b2f1d56e4\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4b35e35900db43698d254b483d72ee12 : SUCCESS in 10m 42s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/12ed933937c74a948b393a40f4e6fb87 : SUCCESS in 8m 49s\n- grenade https://zuul.opendev.org/t/openstack/build/554188c757b14e23bc46c2ec88a71643 : SUCCESS in 1h 02m 37s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/2bc4b2f1a14e40ff937a9bc90a344273 : SUCCESS in 1h 11m 07s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/259b519ea42048299ae2b2f0f81bd01c : SUCCESS in 1h 01m 07s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/54fb276be21046aab3c26fa190232a17 : SUCCESS in 1h 06m 47s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d0a561b9d7744a0a97827ea35b6f23f4 : SUCCESS in 21m 15s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/3df01f0ce5e14499b33c0e946c0feb05 : SUCCESS in 21m 14s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4f6187ebafa1456394eec73ff6ecd686 : SUCCESS in 21m 24s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/ce16d6b6d2f3413ebb92ed07f9574b0d : SUCCESS in 7m 26s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/65efca35d1d74f3688cc17092f29011d : FAILURE in 26m 33s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/1815b7ad78684ddcbd421a06f15f98d7 : SUCCESS in 24m 48s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/fed2511f76de416da6f0a38fd3069256 : SUCCESS in 30m 51s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/afa4e24526d0427ba3ef502f92231126 : SUCCESS in 20m 33s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/215c3430523d414c893e723150fbf488 : SUCCESS in 16m 42s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/6f6c61ec0c8d49b3a3f0841138fe3324 : SUCCESS in 15m 07s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/0d40f4d2466844aabf9dadc85dd30bba : SUCCESS in 16m 48s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/3c8ce281c7b24bc6a15eaa79dee18704 : RETRY_LIMIT in 6m 12s (non-voting)\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/90ec18210bb84675a7f493d7a7a4930a : SUCCESS in 22m 22s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/50b0af106d0849dd88a5be3279564ada : SUCCESS in 8m 29s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/b61eec682f0f46d19cee420a7957df3c : SUCCESS in 1h 08m 18s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/24ccaf85b3444e758debb6772b548c2d : SUCCESS in 56m 38s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/1e6cf73d32e84caeb08684bf490afc2b : SUCCESS in 56m 07s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/8ac49ff669944e459d22f0a21a677d6a : FAILURE in 29m 41s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c06b0e2eb03d40e1b2e5a8461e4f925e : FAILURE in 2m 24s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/e5964cc2c7194b0c868f292b38006ea4 : SUCCESS in 19m 50s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/30f8a1e8f0554cb7922849848d9ed068 : SUCCESS in 1h 22m 26s\n\nWarning:\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-build-image.  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.\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.","accounts_in_message":[],"_revision_number":30},{"id":"cd75d510f2b2aefdc07f869c458152b1c3caef2a","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-09 21:22:23.000000000","message":"Patch Set 30:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d6e58431539f44cea71769469303adad\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/f4146023debe4e7dbe92a7c7580bd4de : SUCCESS in 1h 03m 23s","accounts_in_message":[],"_revision_number":30},{"id":"c98b4bd6d67f88e1344c80770d7036a5b8724537","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-09 22:48:05.000000000","message":"Uploaded patch set 31.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":31},{"id":"b954ec0eb762c0e8c2bb77715048925206b13441","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-10 00:00:21.000000000","message":"Patch Set 31:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/95cca2be21c7401ba012399160a7ac6b\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/985c3c89914949278662eb30864d26b8 : SUCCESS in 1h 09m 05s","accounts_in_message":[],"_revision_number":31},{"id":"403530c2798898eaa964c8902b86a073be41bf96","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-10 00:01:11.000000000","message":"Patch Set 31: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/006533b1637646fb82c88af986b0b5ae\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ba6cae4b38944f5b9eb174a778f6e627 : SUCCESS in 6m 17s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8beb9562e9e2492a9d618472d8cd3d3a : SUCCESS in 4m 50s\n- grenade https://zuul.opendev.org/t/openstack/build/497cd026263c4578b41bb4b6a0690a2e : SUCCESS in 1h 06m 58s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/7f8cccbd3446468a8c692fbeffc296eb : SUCCESS in 53m 29s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/8b24a392a072469e8fd51146ae3d15ab : SUCCESS in 40m 32s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/d64df0be4dfb4a93964e825acc685abb : SUCCESS in 56m 01s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c3460021b0ce4a05baa10545cdb996b9 : SUCCESS in 18m 23s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/a90873fd079d438c97360cb398cdaac7 : SUCCESS in 20m 02s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ca16d00ea87c4a88802f1e8d69c72409 : SUCCESS in 20m 13s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/f684604b26ac44c281477c738e8bc1b5 : SUCCESS in 6m 19s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/f5ab2f4034124ecea12b92a46a18a929 : FAILURE in 19m 33s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/69003e8ee4774ee18b83ef41b8fb6da7 : SUCCESS in 22m 05s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/94be8da69abc4802ab148498c01b41b1 : SUCCESS in 32m 42s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/f17583b64eef4295937631797dd3711b : SUCCESS in 21m 57s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/34adfdb2145c426bbf1d5c0a6287abdf : SUCCESS in 15m 03s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/eb8c94803c5f4ca999bbf2775d77ac7f : SUCCESS in 15m 48s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/fc759c7e28ab498cbf0796a1eaae184c : SUCCESS in 16m 59s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/36fe7155d02a4890b860203192b223ec : RETRY_LIMIT in 6m 11s (non-voting)\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/c749f15a2e984eac9484e990e6d55f0a : SUCCESS in 24m 11s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/16041547122c415a9466c5a220ba58dc : SUCCESS in 9m 08s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/8e97be0e36104f1b92ed1b83ea70c9fc : SUCCESS in 1h 02m 17s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/293c1afc275a404fa8def321cc24fc22 : SUCCESS in 1h 04m 22s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/d06c8bcd2bce436ebe40fc4c781b1aa8 : SUCCESS in 54m 17s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/f8f98a64c60748b8aff3101307d8af6c : FAILURE in 14m 21s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/775249cedbcd48269bde74bca8a6ecb1 : SUCCESS in 4m 29s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/9c2374476ea34d478a5bf6af1b1c91b3 : SUCCESS in 19m 19s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/6340f58e730d4834a1b99544603d6b9d : SUCCESS in 56m 19s\n\nWarning:\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-build-image.  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-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":31},{"id":"a964dca98571b470ee7544d06c9bc811ea306ef6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-10 17:54:57.000000000","message":"Uploaded patch set 32.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":32},{"id":"9402bf542c57d4a99a8a19dc1e47144371e4e4af","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-10 18:55:33.000000000","message":"Patch Set 32: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/79ed229963234c3b99d082199067ea31\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bbf870be54654055b299df377f54c071 : SUCCESS in 10m 59s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f6d093acd9774082a406fbc020dae5fe : SUCCESS in 7m 14s\n- grenade https://zuul.opendev.org/t/openstack/build/45e9d7fd5080446fb0813869e0376816 : SUCCESS in 34m 37s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/6afeb59391c84a5191fecf61157ccaaa : SUCCESS in 53m 38s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/8f368f4c8a7d426ba3e07ef334a96749 : SUCCESS in 34m 05s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/fa0409a97f534c76bace40370944d58e : SUCCESS in 36m 46s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/56a03803b0a64edaa4a751ede4368eea : SUCCESS in 20m 53s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d5ef43199db64241aaa90d98c6815e2e : SUCCESS in 20m 04s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e83b29a9e5f24254b535f53a46e185a1 : SUCCESS in 16m 59s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/b4e81d310a4b46258b644ddd222dfb3e : SUCCESS in 6m 59s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/4dc6bed5825547b19659e42eb39cb713 : SUCCESS in 11m 39s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/34daeb4907e341b99b4572cd254f81a7 : SUCCESS in 9m 11s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/5f1b76bd4d8d4e0897741148603d17e5 : SUCCESS in 19m 10s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/2ceda755b12b4274a2331bfe2eebb432 : SUCCESS in 15m 55s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/5b5fda254b11482d9a95fc7789a8de42 : SUCCESS in 15m 51s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/9dcf87287a4143b4a1f96065b9a5c8ce : SUCCESS in 15m 27s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/7a506bb5a4e546a299861e2839d11b7f : SUCCESS in 15m 38s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/b030b96c797c46fea9f840d828bfb2d0 : RETRY_LIMIT in 5m 42s (non-voting)\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e3c7fe23b4f143448dc558df4287288a : SUCCESS in 19m 15s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/8f3d7f8a95de4761920819fbc2e9fba6 : SUCCESS in 11m 46s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/7e162cfb87434a9ea3979c5188cd9032 : SUCCESS in 39m 08s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/9df85d00cf5a4538a0b36c1acc7a06a0 : SUCCESS in 23m 39s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/7fe6126fb17b4381951464ebbb67ace8 : SUCCESS in 53m 40s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/27772381050a4d158f7225023fcbbda5 : SUCCESS in 28m 01s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4f395f9e64d44c4b9278bc07cf87eacc : SUCCESS in 5m 06s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/820865b8fd444558aa914d880aa20500 : SUCCESS in 15m 48s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ac0bd0b292124689b3e92aceb8b20b78 : SUCCESS in 34m 48s\n\nWarning:\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-build-image.  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.\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.","accounts_in_message":[],"_revision_number":32},{"id":"5bd010d8f12356616449a819e52e68c9bac0df41","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-10 20:28:30.000000000","message":"Patch Set 32:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9b27df395a724e7e80e6a7ccabab713b\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/92a6d2350f754ea9bff29aaf583f3e63 : SUCCESS in 53m 52s","accounts_in_message":[],"_revision_number":32},{"id":"0490a94da9b2b3618f8e74608ebc4ae038315806","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-16 15:45:49.000000000","message":"Uploaded patch set 33.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":33},{"id":"101774684f5d9c5182cb2197be9e9f8fdc8bb9d9","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 15:46:42.000000000","message":"Patch Set 33:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2156c3438222403880de1b3b22840b6a\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/19ebedb848db4b9bad206bc83610111e : NODE_FAILURE Node(set) request b1e95f551c564a3c960e610d8dd3aa36 failed in 0s","accounts_in_message":[],"_revision_number":33},{"id":"b53513f3818aef36f2fec896eb2a7b318446eaa6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 17:00:17.000000000","message":"Patch Set 33: Verified-1\n\n(4 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/a484a4754586447ea1de99b793db4b8a\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/64994c131f214c2183c8e82eab2972ec : SUCCESS in 12m 09s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/7ace1c4e015b41be8fe8ac5c22929ea2 : SUCCESS in 10m 19s\n- grenade https://zuul.opendev.org/t/openstack/build/b33114eeb73f430bbdfa052bc6d52d35 : SUCCESS in 1h 04m 43s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/c68480685df346e39e3631319400e45a : SUCCESS in 1h 07m 03s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/d7865b7450b04fd7a323240a71cce5a2 : SUCCESS in 55m 41s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/f3a11f29aca0458fa8809e0eeba29a87 : SUCCESS in 55m 48s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f27b8b72629d4668a99c594a06f0c4bb : SUCCESS in 20m 08s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b77a6b8b5213402bb271c4ba5307d649 : SUCCESS in 23m 37s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/321dade0fbdb4c7aad60c338e84b5ff5 : SUCCESS in 21m 52s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/081fe60c93a74949a8944e181c420b8d : SUCCESS in 8m 18s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/a04a61656700494595a3dcb6c67afd9c : FAILURE in 28m 16s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/538cf865e89b4d2dae3f343114ee0097 : FAILURE in 22m 20s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/54065eb6873b42b0a00936268eed7645 : FAILURE in 30m 34s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/bd8002e82b7a466abbaa906fb23842a2 : FAILURE in 21m 39s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/19b358a5033b4598ad119200dc4103b2 : SUCCESS in 14m 53s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/ac35578a4de94507ab3e985f61465899 : SUCCESS in 15m 46s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/5402987ad66941e68461b44b4a95e186 : SUCCESS in 16m 44s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/f7cc4ba0d9f84d56ac26d8577936d30f : SUCCESS in 8m 45s (non-voting)\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/d8129bb2ece64498b5128f1339a937e6 : FAILURE in 10m 34s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/eca30856563a4efc954d7c0600c7d141 : FAILURE in 12m 45s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/f8ad13676f994527afbe7a119c64734a : FAILURE in 58m 22s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/93a1fcb6ad4e443f9aac6f444138756f : FAILURE in 27m 32s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/58c9c23f14994d959fafd8490d6e84b3 : FAILURE in 37m 30s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/012ebadb770049bea2967ff979cf4873 : FAILURE in 27m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/33130f129af34aea9ed8113691b850fb : FAILURE in 5m 15s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/0ad59433367d4bca90e10aeb91559780 : SUCCESS in 18m 17s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/96989103ed7a45b582aef97dc9e14fc1 : SUCCESS in 1h 00m 33s\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-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.\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.","accounts_in_message":[],"_revision_number":33},{"id":"d9dd32d6336c65bcca7555154f30e1514f2f6158","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-16 19:51:24.000000000","message":"Patch Set 34: Patch Set 33 was rebased\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":34},{"id":"da03b76b613b03648d07e18d712adf35b5dc46f0","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 20:00:26.000000000","message":"Patch Set 34:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fded1fc38d8a4b6db867a3ad43033910\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/1748d31077d449d1953fec7d3a30f29c : NODE_FAILURE Node(set) request be56b299590e41d9bf19aeb6cb29edf9 failed in 0s","accounts_in_message":[],"_revision_number":34},{"id":"f0cd5b14041ac55f64d39320288c25c6e2d6fb91","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-16 20:48:29.000000000","message":"Uploaded patch set 35.","accounts_in_message":[],"_revision_number":35},{"id":"d3e06a36c0e648b7706a803b6ef1b1ed6264ab75","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 20:50:10.000000000","message":"Patch Set 35:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a10b8a3dd2bd4e43b2a4790acb07f330\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/49e25ccb2e2844d0a32bd95489ae481d : NODE_FAILURE Node(set) request 8c73b18f6d8d4d0dbf6797de6de69251 failed in 0s","accounts_in_message":[],"_revision_number":35},{"id":"3ee90b0fcf8601366fc43a875d91d602a964790e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-16 21:19:30.000000000","message":"Patch Set 36: Patch Set 35 was rebased","accounts_in_message":[],"_revision_number":36},{"id":"7aaf7c743e98143bd686be03a584faff8cd9f4c3","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 21:22:48.000000000","message":"Patch Set 36:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4db44ea6a763489fabfe55a36177c951\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/5f138d16e80f46c492b2bb9d7fa14a00 : NODE_FAILURE Node(set) request 5b28f714a9d64333ab48697958dcf00b failed in 0s","accounts_in_message":[],"_revision_number":36},{"id":"7388beda0ec9b0c54cd774d8294ddf31975b3162","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-16 21:29:33.000000000","message":"Uploaded patch set 37.","accounts_in_message":[],"_revision_number":37},{"id":"974d5b0be42b61eec561e2428fb951674f1c286f","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 21:30:39.000000000","message":"Patch Set 37:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2fc098444bbc445caf1f64db06a16fe7\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/ed9ce51c8e0f4a1ba6d13806ed9e3bd7 : NODE_FAILURE Node(set) request 36d8f71c15bb47c2baf6fd1fab3572aa failed in 0s","accounts_in_message":[],"_revision_number":37},{"id":"5e9dfef2400999bb8a4126c212c52f6e19af7cd6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-16 21:32:13.000000000","message":"Patch Set 38: Patch Set 37 was rebased","accounts_in_message":[],"_revision_number":38},{"id":"155515b6b71b38dc058b9a531bca2ce4df2747fb","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 21:33:26.000000000","message":"Patch Set 38:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/77372c3ded184c4d93f200239adb3345\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/c6d0dc015fba41139643303e9d2b2fb7 : NODE_FAILURE Node(set) request 58ae21df7ef4475fb3505b213faadef1 failed in 0s","accounts_in_message":[],"_revision_number":38},{"id":"5afb37926fccb2910f653858e7bec531e35e48d5","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-16 22:40:35.000000000","message":"Patch Set 38: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/cd3a8d28a2cb4056bbede5565b6de4ac\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4c1c0012597e42cab17ce32ca04c5cfc : SUCCESS in 5m 57s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/dea2119ce5234c94aab0dc3c1fe1cb9d : SUCCESS in 4m 37s\n- grenade https://zuul.opendev.org/t/openstack/build/b5e5b4879ad945c8823c4a6aa4b5e849 : SUCCESS in 45m 07s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/28ceec4d023a4d4ea69390d67b5ed605 : SUCCESS in 1h 02m 16s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/0253764cc93344a79c5304aa07d3b7bb : SUCCESS in 26m 42s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/a2f6592a416943c48da92c622878a532 : SUCCESS in 39m 46s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b6fcb1b10bbd4ce6aaa2b740d61bc305 : SUCCESS in 20m 24s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/fa97f0d6b605441ab7b79defea5b95b4 : SUCCESS in 22m 15s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/166479fb2c0248a0aa62f46e948915b8 : SUCCESS in 21m 56s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/925c46b796b24348b54f2bc3ca88bcfb : SUCCESS in 4m 50s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/1e9108cfb32541718626a9900904a96d : SUCCESS in 11m 17s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/c66eed4ab4fd4f6c9d62ae2022ff4574 : SUCCESS in 22m 13s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/97152fb56d284729ae39456786053b59 : SUCCESS in 26m 23s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/ce8fbf3e156448cd8c7eeae9f6e33e14 : SUCCESS in 16m 18s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/a0144b8e166a412f9d653cd53638e4f0 : SUCCESS in 8m 04s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/d4d75ae62d0149c69fb13df4210f0e20 : SUCCESS in 14m 05s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/a25eecca386644dd9b8741f5024ee3eb : SUCCESS in 16m 14s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/9153b7e6a72a4575b6ef5fda1985dd38 : SUCCESS in 6m 14s (non-voting)\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e3ca3137871d4529b8bcb3fdbaaf870d : FAILURE in 7m 23s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/caf6f725cd38469f85d01f482d267bfb : SUCCESS in 5m 43s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/b2fddacd7a1f489ab48902b89a1388d2 : SUCCESS in 58m 00s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/b5b8174b5d484ef4a8b71c528e6dfc85 : SUCCESS in 56m 28s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/8080704350fc4be48135e4ac8b84ec89 : SUCCESS in 59m 55s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/36308d754a484d058fc8fda347df02dd : SUCCESS in 27m 33s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2c85f9846e884c62895d04c4c9eefde1 : SUCCESS in 5m 34s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/2ba9f0283e3c431aa86486c10eb5f2e8 : SUCCESS in 28m 03s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/3da744647b4c4f0ba9270e5e690dcc32 : SUCCESS in 59m 01s\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":38},{"id":"f8bb74e272187f8427fdc6d141c7e5fad6bac8e9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-17 23:31:36.000000000","message":"Uploaded patch set 39.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":39},{"id":"045572f3b171c2110d1ab855dcdc1492df7c3863","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-18 00:18:11.000000000","message":"Patch Set 39:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0090c6a92386405b92e8c5b03fe7535f\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/c2690cca57724565a365f521f3860baf : SUCCESS in 44m 48s","accounts_in_message":[],"_revision_number":39},{"id":"159df3316e20da93c69a8e00988d933caa4c28f1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-18 00:39:24.000000000","message":"Patch Set 39: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/854dc6bcaa8f4b2a992774cb561f42ed\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e742724bb6de47c78ef505365f6930a3 : SUCCESS in 9m 04s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ae526e87fb0045e595bb1f5bcd4411fd : SUCCESS in 6m 43s\n- grenade https://zuul.opendev.org/t/openstack/build/5cde851f134b473baeeced8c11af54f1 : SUCCESS in 49m 12s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/d659456303be4d3ca2bcfa7e2f5c86f9 : SUCCESS in 55m 17s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/8e29353240434bbfa14164eff56294fc : SUCCESS in 52m 46s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/a4667acd57294267a42300a6bbc1222c : SUCCESS in 57m 23s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0cc092acc3f849d6903b27e0ddadf829 : SUCCESS in 15m 48s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/12040162483a451fa5006aa1f6fc5f74 : SUCCESS in 15m 54s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/270f0d2aebc247669b0debda8b36bce5 : SUCCESS in 20m 38s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/3e95e318be0349c1807c76d89d9f1ab9 : SUCCESS in 7m 10s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/a0bc4df670d346fb949b7ce91f779657 : SUCCESS in 25m 38s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/0ae2b2b149e64976a5d1d94035cb22b7 : SUCCESS in 16m 53s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/d125b90c799b4a81a5a4cc3bc7892932 : SUCCESS in 33m 25s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/4ea777f9cd8e4c71bbc2d1c044597ef5 : SUCCESS in 11m 16s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/8d3abd1d781a428d9e03e7f07b69689c : SUCCESS in 14m 00s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/3d8f32f5d81c4eeb902aff5e0e9e76bf : SUCCESS in 14m 49s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/95a2f724578340d281ecd333fa7c8a08 : SUCCESS in 19m 05s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/7a4a2487b848481292979f3735dd1291 : SUCCESS in 6m 05s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/d9079893abea4b69bf759ffd36e63cff : FAILURE in 4m 43s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/d03d5c32ad42484982cdc5850e165673 : SUCCESS in 8m 10s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/07898d40224046ac8da52089eca658cd : SUCCESS in 1h 01m 47s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/6d5a51d0f75545c9b6c72e0393fcb38c : SUCCESS in 27m 16s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/cf3cf98e892e4ce0bd9d7b9aa9e2e8d5 : SUCCESS in 52m 46s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/94cdc463cb5245bd9faf849df32af310 : SUCCESS in 10m 42s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c9b05946781245cd9626eb6b9814f048 : SUCCESS in 3m 49s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/d19d4ce466c241f0a17e363ef6263917 : SUCCESS in 8m 47s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/8efcd99c2b684e87886edaa5b206ba8f : SUCCESS in 43m 14s\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-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.\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.","accounts_in_message":[],"_revision_number":39},{"id":"feda87b53af26feadcd2f13637ecfc04f382570b","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-07-18 01:42:01.000000000","message":"Patch Set 39: Code-Review-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":39},{"id":"abb40517a7f463f1fe2483a1ddee19ba289ef13b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-20 19:27:19.000000000","message":"Uploaded patch set 40.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":40},{"id":"89a483d2cfb0a294f50e2325d3ca72405b9fed73","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-20 19:27:57.000000000","message":"Patch Set 40:\n\n(1 comment)","accounts_in_message":[],"_revision_number":40},{"id":"12e7fbef0d3ba1eae5a7bbd34485d49abb047909","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-20 20:23:45.000000000","message":"Patch Set 40:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/658f305860b9401999de0d71233c4e4e\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/de099d4ac5de4d819dbbe0fc0aed3b38 : SUCCESS in 54m 18s","accounts_in_message":[],"_revision_number":40},{"id":"e2628269dabc4c493ef10d54716317995cda52ed","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-20 20:58:14.000000000","message":"Patch Set 40: Verified-1\n\n(4 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/6b39f6ea36af4d43abe89b11fa21c15d\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/71618046bed04988bdb89ca98548dba5 : SUCCESS in 10m 04s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b5918376f3044886a5979b2a1059228a : SUCCESS in 8m 55s\n- grenade https://zuul.opendev.org/t/openstack/build/2449d2df40644c81b0c1bcba32d90384 : SUCCESS in 1h 15m 30s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/8fe660a985124b50975de488908ae3b1 : SUCCESS in 55m 19s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/9b2e60a2f38f45d1b33d587aeb97d2e7 : SUCCESS in 47m 33s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/cfcbe50fef2040d58b7a322b32c80aeb : SUCCESS in 1h 00m 47s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5e8851b9d8b7400d82f2955fa9a875d1 : SUCCESS in 23m 09s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/03178894e40a49cfb8f4f9f4531f168d : SUCCESS in 21m 50s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/6599bfc9cff54102bb1f5fdd6b3d09b8 : SUCCESS in 27m 25s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/892c1637195a44769df5a190db076320 : SUCCESS in 7m 45s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/99079c3136af4583b3e6bc608f987c4c : SUCCESS in 26m 15s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/b3678ecc4c7c4b96a775fc3d326eb0d0 : SUCCESS in 24m 00s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/edd5373430ab45d2bbb34424b4fbf7e3 : SUCCESS in 30m 23s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/93d1681e4a294285ab5be94ec4925aff : SUCCESS in 25m 05s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/6cf00dc67e2848268cd754471cd4e534 : SUCCESS in 15m 51s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/4ee1d70d4d10458190ae24132c635449 : SUCCESS in 14m 29s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/4f36d1f3fed14c2b9982acd415c2f72c : SUCCESS in 19m 18s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/d9de552e2998433fb5e364b42c4314f3 : SUCCESS in 6m 32s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/801d22af01224412838b254d5d8aca71 : FAILURE in 7m 30s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/bef7398f23b442608985ff1132b8ccc5 : SUCCESS in 9m 04s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/ac88c03e95f74764be1f018c838764a4 : SUCCESS in 1h 00m 35s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/783ac8e5c3474420973b8a9b9c67b208 : SUCCESS in 38m 52s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/da4ce05273754ed7ae7477db75795168 : SUCCESS in 1h 00m 03s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/7f541bbf118e4aedbb148a0330ec07ad : SUCCESS in 28m 41s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/78065741dec94483871ebe6995de48bc : FAILURE in 3m 52s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/043aa0b55d1d462099ead91df6b8c28c : SUCCESS in 18m 11s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ce8e169bde5548b28a585d1fb4a83a7c : SUCCESS in 1h 00m 50s\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-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.\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.","accounts_in_message":[],"_revision_number":40},{"id":"a070b07e3dea24f3e846cb4cacd0a9314854253f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-20 21:37:23.000000000","message":"Uploaded patch set 41.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":41},{"id":"936005f45799f8303eae9f3aa4282fd57e45c1bb","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-20 22:16:17.000000000","message":"Patch Set 41:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1ff3a33d1a474fdc9be67786836f0535\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/815fc890dc074b99a2a61b7997641b12 : SUCCESS in 37m 20s","accounts_in_message":[],"_revision_number":41},{"id":"1f41821ef318ea211048e45368d4d484ab2b4bbb","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-20 22:43:50.000000000","message":"Patch Set 41: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/654afa0503734f89b74b5484643521ed\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b1c2ef936434460bb8accdae650204a2 : SUCCESS in 6m 00s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b352b86a004846bfad8aec5dac893003 : SUCCESS in 9m 20s\n- grenade https://zuul.opendev.org/t/openstack/build/f303f0c0cbd54d378302dd82d685df0a : SUCCESS in 38m 26s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/e61007cef05f4dd2bff2a482359d8a02 : SUCCESS in 49m 09s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/633ff436185146f49b14d97d71e29288 : SUCCESS in 28m 02s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c4a6f2e859754259b5e30bbf27e77930 : SUCCESS in 34m 43s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ba6959a36cef444f83d3f75a89f41263 : SUCCESS in 19m 51s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/94faa15ae3c74e77adef1efcfb50c2f1 : SUCCESS in 17m 59s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/63cfed2cf54642cebc10698f4abd3159 : SUCCESS in 11m 30s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/7cbb6d7125354bc88b24e44e84326e4c : SUCCESS in 5m 30s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/67cb860d0f034f2b9e66f0f182e69992 : SUCCESS in 13m 06s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/e8f84e3e6abc48ebb0959cdb88798af4 : SUCCESS in 19m 13s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/e38176bb9826431cb6e497a5173a393d : SUCCESS in 30m 53s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/0bff5fda215545feb2ffe42a55e4e9fa : SUCCESS in 13m 41s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/5fd99707796044a382c1ddbfdfa2f491 : SUCCESS in 15m 25s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/ef05f51a935e4cb4b736b90ad6cba308 : SUCCESS in 8m 08s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/b507db172d4d43bca10cc74cf9eb04d5 : SUCCESS in 9m 57s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/5bd45e496b5e450cbb16436f2e47332f : SUCCESS in 6m 44s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/288a2fa4f49649808b4f9a1e8596c8a9 : FAILURE in 9m 41s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/d2332c0064c9424592771f569c61d635 : SUCCESS in 10m 23s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/51ebd8b05555409996d0cb04fcf681fc : SUCCESS in 58m 10s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/4359ef55a28345f08a3e36a1ccab133c : SUCCESS in 50m 49s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/a63a8f35e9f848768fc940b7aa4bf7a4 : SUCCESS in 36m 20s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/9b76f5ac6fd24f3cb5961ad2a1cdb350 : SUCCESS in 13m 14s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e728f2cb39764c95aa0d8cab24ca9b28 : SUCCESS in 4m 56s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/8107835b4ff048ff9088497e40c2e1e8 : SUCCESS in 20m 36s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b482c066d990407fbe614af0aded0175 : SUCCESS in 57m 07s\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-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-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-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":41},{"id":"a790b08e2ccc809784ce91ad3f3365f8107e0d20","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-20 23:16:24.000000000","message":"Uploaded patch set 42: Patch Set 41 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":42},{"id":"e1a737468f008bc31362ab52f9ecc6b77b82e713","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-20 23:17:32.000000000","message":"Patch Set 43: Commit message was updated.","accounts_in_message":[],"_revision_number":43},{"id":"15c0739b44e6d2d2666fb82565f0266b160b4fc8","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-20 23:44:55.000000000","message":"Patch Set 43:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/89c41fa4a30e470397c8e8316c763677\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/7cb2bfb627d2416ca8c7f1d589f57200 : SUCCESS in 26m 58s","accounts_in_message":[],"_revision_number":43},{"id":"4aceab3a508dc7d1a6dfadd3be1ca4b4a6086382","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-21 00:02:24.000000000","message":"Uploaded patch set 44: Patch Set 43 was rebased.","accounts_in_message":[],"_revision_number":44},{"id":"55bce2dfb1cfd027ad0c722ec71a640f7964dc63","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 00:43:50.000000000","message":"Patch Set 44:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/45078e62eb94420fafb3596ae8202792\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/444d7f4437a5419b84d636805d36e2c0 : SUCCESS in 39m 46s","accounts_in_message":[],"_revision_number":44},{"id":"3170f892229e3400c639481c11e85a57da2d0fd3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 01:12:55.000000000","message":"Patch Set 44: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1a6978892120450ab128d240dc4e4786\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f4a944af4a4f4368bd8720bad5c39f6c : SUCCESS in 12m 25s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c1cef133afa24eb199d08240db20d935 : SUCCESS in 10m 33s\n- grenade https://zuul.opendev.org/t/openstack/build/ae275780dcc34be48f6281c38ae4d4d8 : SUCCESS in 1h 04m 42s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/c114aaec065e44aa9f49a88725cce5ec : SUCCESS in 47m 00s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/fd924c87e05c41f38cbe81ee22010784 : SUCCESS in 50m 55s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/1052ebdc8d344f56914f47503c30c522 : SUCCESS in 58m 19s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/7337d7a0a0f447d3bc446d354a75621d : SUCCESS in 11m 33s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/9117cddaa5f842e29c245a426c3f4482 : SUCCESS in 20m 41s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/fcb2f6baba2148a791bb8d7f389b6f2e : SUCCESS in 21m 04s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/d9f64ffe4b8b47b1a85734073bfbbb8e : SUCCESS in 6m 56s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/df567787d8ae4f08830b3744f4bddfed : SUCCESS in 10m 26s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/dc33f13120e14d668bdd6dbbcff565da : SUCCESS in 18m 56s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/97fb80600ee3409da68b09b3a279e046 : SUCCESS in 30m 24s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/7e1d3b91385c4664abe278a9f41f069a : SUCCESS in 17m 22s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/37f3f844149640d297403387b9ed704e : SUCCESS in 8m 57s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/7f0a0aa4c9124e69a57707d548e1e004 : SUCCESS in 8m 21s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/14f04391e0cc44429b02a09a63b3c50d : SUCCESS in 16m 11s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/49e8ef5d494d49faaea9815cb15f79be : SUCCESS in 7m 27s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/8535c0ef2782445b9e17bb872b505039 : FAILURE in 8m 28s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/11f508e2a11242ea860204826e812335 : SUCCESS in 9m 02s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/11bbab63e62946e1ae1072cf0f8f20ad : SUCCESS in 1h 00m 51s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/e154b6c189ea4294b35c256b21344104 : SUCCESS in 58m 38s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/cc38c03089c34bc49eed211416971cf1 : SUCCESS in 23m 03s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a9fcb0d4aa3c40d290a45d53e4a6739d : SUCCESS in 28m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/eea8c005bd58439c818662aa1bb84b84 : SUCCESS in 4m 22s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/78ed579a914b47968ec42fd8059945a2 : SUCCESS in 26m 13s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/60aa1335d79b48369fac6542433d88a2 : SUCCESS in 23m 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":44},{"id":"4e18812e156fc44ff97068568bcbc9b4323c35e8","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-21 16:27:23.000000000","message":"Uploaded patch set 45.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":45},{"id":"9720c6e63667b7ca4317825527e6d5e504e8db61","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 17:53:02.000000000","message":"Patch Set 45: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3d110faac7f74ed9a05b252683cd2b77\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/69958d1b55674103a7d87bc57d6c3388 : SUCCESS in 13m 52s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/de20559d35c646c7bc4386e94de9ba46 : SUCCESS in 8m 54s\n- grenade https://zuul.opendev.org/t/openstack/build/6a858ac8c5b446309ec74ecc7c53fa6a : SUCCESS in 1h 19m 13s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/205157c8d0174459bf20030dfe7a15c3 : SUCCESS in 1h 10m 51s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/4ceb7aa9e4734ddca5df1489c030898d : SUCCESS in 55m 07s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/d245eb9a02fa4dd0bb0800f4542c875d : SUCCESS in 59m 16s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/80597db7ea9f4a6f8b0b4c1637ab3eb0 : SUCCESS in 21m 34s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/36a0960b1bb249a68b566c9e48bcfcc2 : SUCCESS in 12m 03s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c5fe864d2fb94d78ab5e84e2d65953c0 : SUCCESS in 24m 19s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/ae81b4a3d4a945d19e5baa3315d9bfac : SUCCESS in 7m 41s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/74072df293bc46ebb67539ffd13ab819 : SUCCESS in 24m 46s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/0125f8b345c8441f9f8077a3ea4be649 : SUCCESS in 19m 22s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/708e16d8e8ad4608a4780e1719bf69cb : SUCCESS in 30m 44s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/e244763ca8ca48019d381abe7890b612 : SUCCESS in 9m 42s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/2224dfa309004dfab92fc0176f5ad510 : SUCCESS in 9m 33s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/accb685524d043a39d7ef5615c12aa82 : SUCCESS in 9m 20s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/6fe82220e7eb4bfdb24162a338523a09 : SUCCESS in 9m 04s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/c42d35eb279f4d09a138ac1ac7090d32 : SUCCESS in 4m 32s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/591cdbd60da6471eaeec76dc11213608 : FAILURE in 5m 01s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/d8ce74f24fbd46e4a37c59ec903b8b8c : SUCCESS in 12m 34s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/ccbc18d4278f4b36ba5b3f6df6b47f73 : SUCCESS in 37m 51s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/5cc35b299e774436bcc91fdcd09c5e8c : SUCCESS in 38m 27s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/3381bbce4b6c461484645c361b64c6c3 : SUCCESS in 37m 17s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/829e28907f9b4cdba87f464f97b5b447 : SUCCESS in 12m 53s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/00e6a30cdbad4cac9f70636a67da5371 : SUCCESS in 5m 32s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/a50c3490a05f40c49ed9236177d1d354 : SUCCESS in 18m 17s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/078fc3c89ebc48d0958254f8edebd1aa : SUCCESS in 27m 25s\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-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.\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.","accounts_in_message":[],"_revision_number":45},{"id":"0814082e6f4addad0c2e3a21b65858f1525ca1e4","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 18:02:55.000000000","message":"Patch Set 45:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/cb3f1f0a20e7489dacebed4cc4ae17a7\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/478ff19f210d4d909176b900f565bb2f : SUCCESS in 1h 02m 43s","accounts_in_message":[],"_revision_number":45},{"id":"ed5eb0816ab07cb8786c08bb714adca7a59512fe","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-21 20:40:08.000000000","message":"Uploaded patch set 46.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":46},{"id":"121caad55e479d22d843eb8687856636c089e4ac","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-07-21 21:06:12.000000000","message":"Patch Set 45: Code-Review-1\n\n(3 comments)","accounts_in_message":[],"_revision_number":45},{"id":"11d64640abdc090eb114adb53b6a5c547a2f8cc4","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 21:35:23.000000000","message":"Patch Set 46:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/59688217d58b4dea8918ab03d0bebfcd\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/c462bf6926464bcea1a9ea4a91782729 : SUCCESS in 53m 21s","accounts_in_message":[],"_revision_number":46},{"id":"542755814d1430bce54dfa234087f3f44f45c980","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 21:48:30.000000000","message":"Patch Set 46: Verified-1\n\n(3 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/60f872a128f344469cd2417a7ee0ada4\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/07b1977825b742bbb1f9c46a7422204a : SUCCESS in 7m 37s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/31192cef941b4e1e94ef3af0bb9031e6 : SUCCESS in 6m 38s\n- grenade https://zuul.opendev.org/t/openstack/build/1907d80d458e4aa6a6b1e76b7ed4f4c1 : SUCCESS in 54m 03s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/2912234a5c90492096d33ea4315058b2 : SUCCESS in 1h 02m 11s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/005d531ec1b74b799a7a5074dfa6c2cc : SUCCESS in 48m 51s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/a464a2f3014343d09ce7365e01353cde : SUCCESS in 34m 24s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e3a51d8bc8644232919689135e7da99f : SUCCESS in 13m 03s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/9faaeef7511c4795a9fe19a5dcf6ce89 : SUCCESS in 20m 50s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/cc09eb68e2bf4244a600ede67650f09f : SUCCESS in 11m 21s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/92a7d9775bd34cc59e9771864cd45bf8 : SUCCESS in 8m 09s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/93e8d665ed004d3e92ddbde515695d22 : SUCCESS in 19m 47s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/4e28caa959dd408591386ff924e71fe9 : SUCCESS in 21m 18s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/1fc54b5afa84482daddb20f07537e352 : SUCCESS in 11m 59s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/bc93e1e386ac416e875696a016bd531a : SUCCESS in 9m 50s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/1218510a0ba24bc7aece8e5b24df1142 : SUCCESS in 9m 55s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/f65015faf9c64c288b7ad38ad0bdfd2e : SUCCESS in 16m 14s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/92a03b05ef5a49d9ab784d8f9dcf668b : SUCCESS in 15m 48s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/29d69c3803af43a69ce85c8f3b5bb103 : SUCCESS in 8m 56s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e15180d1d81348a8874105ea6c3b0b44 : FAILURE in 7m 20s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/50da959fa32f4736b63f7d95d0b588f5 : SUCCESS in 9m 39s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/781339291e424cadba2a206d6febcf7e : SUCCESS in 1h 02m 02s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/f55c752fff5a43598390ea37cc11bd2f : SUCCESS in 50m 54s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/53b7c238793940da8a9eff49e42acde3 : SUCCESS in 37m 20s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4a033cd3143241d89a6ab5a56aadb4c0 : SUCCESS in 28m 41s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f9f89f812a214eee942f26d1e6245054 : FAILURE in 3m 53s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/ed6b56fbf0f2428c82b6080be3a530f7 : SUCCESS in 18m 34s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f50f560b80f0483b88eb3fbd28d6b72a : SUCCESS in 54m 57s\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-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-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-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":46},{"id":"0f4e350c722111d9815f8d19293990cb20bbf59a","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-21 21:50:26.000000000","message":"Patch Set 46:\n\n(2 comments)","accounts_in_message":[],"_revision_number":46},{"id":"8ba449a10e3aa63c1a42e4fc791ddbe93725f146","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-21 21:53:34.000000000","message":"Uploaded patch set 47.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":47},{"id":"50d0dae24756634eb953ae67e50c1d6405c74ac2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-21 22:24:22.000000000","message":"Uploaded patch set 48.","accounts_in_message":[],"_revision_number":48},{"id":"ef50fe0123e57f2e36b78ffbf2df7e963eefa99b","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 22:56:03.000000000","message":"Patch Set 48:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/66a638f17d934820b9d88881904dd13c\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/3dc7453e1a114770a6881bc371051257 : SUCCESS in 29m 42s","accounts_in_message":[],"_revision_number":48},{"id":"7ad0f07d3161aa994fd06e0e294103aa74c7f417","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-21 23:36:08.000000000","message":"Patch Set 48: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/8fda5be9d823450f8a8402e5c349cae6\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5df731d5d8644c8d804d0e907d29fb0c : SUCCESS in 6m 09s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d189b77b0e3f4c31a9ba12573f2947a8 : SUCCESS in 7m 10s\n- grenade https://zuul.opendev.org/t/openstack/build/827342c375784db1b381b1876e37366a : SUCCESS in 1h 04m 26s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/6020e87c69164ab0b063ec7501750749 : SUCCESS in 1h 05m 37s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/34b7a41851124d84b342b3f74e5a45c5 : SUCCESS in 40m 03s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/25a93058b1aa4c0c8b3e831e6eea5a1b : SUCCESS in 48m 47s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/bb37af08a39c4e51be6fa50ee4e6be0c : SUCCESS in 19m 29s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c467a27cfc0a4274b3edd068fddd4b7a : SUCCESS in 12m 56s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/67471666b1aa420d85b6d4c93db1b02d : SUCCESS in 20m 31s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/a184d377fe694fb2b44e8ef8101d4027 : SUCCESS in 6m 26s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/145bf0dc8e2049948aa6c65c0e96bcf0 : SUCCESS in 18m 29s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/6f8f9c9571ef4ea2b68a481e8031d514 : SUCCESS in 23m 31s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/db8decd7b38248c4b25e94000e043376 : SUCCESS in 14m 55s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/c125bc17995842ceb33ac62d9859a7f2 : SUCCESS in 16m 10s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/5ebfd73d9cae47f1a6a9b87d56444542 : SUCCESS in 12m 24s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/e8ef0b0a207d476e88beb85a08caba04 : SUCCESS in 15m 58s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/fa506a35ba024191b327af46567495f3 : SUCCESS in 15m 32s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/4c7fd4181b994b2db20ca33e65e8a280 : SUCCESS in 6m 54s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/9a8928fc2a3c496683fbc787b4bd4a30 : FAILURE in 7m 01s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/3c74ec7ad41b4da2bcb010ad5c4a29eb : SUCCESS in 8m 45s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/ff68cafc17b7414cadb0bba3571021a1 : SUCCESS in 55m 50s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/77a676d90f0e4fcab5e72b2a2037c840 : SUCCESS in 1h 00m 03s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/6ace98b8decc4728b2c77a0c442548fa : SUCCESS in 35m 15s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4726d636a9e44ac58de0d552b536edbc : SUCCESS in 10m 58s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a05c7b0996854af08914a695806c48ea : SUCCESS in 2m 31s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/e56bc167f311489189575943fb406efc : SUCCESS in 18m 47s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d4900303ed9d46309cec8e029704ffef : SUCCESS in 46m 12s\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-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.\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.","accounts_in_message":[],"_revision_number":48},{"id":"a7a352bfb91c2c470b7f4c35102c911e502b9c90","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-22 16:41:00.000000000","message":"Patch Set 49: Patch Set 48 was rebased\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":49},{"id":"e44e8a01ebe99a5be3dd3cfa011cd95fa83a567d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-22 16:55:48.000000000","message":"Uploaded patch set 50.","accounts_in_message":[],"_revision_number":50},{"id":"4c24c7f5e161b9d3266ad772879ca4defe8a5920","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-22 17:43:14.000000000","message":"Patch Set 50:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e3111a125a6c459cacdc7f4857766639\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/4e8620659c8f491281e4ffeb9616e74f : SUCCESS in 44m 04s","accounts_in_message":[],"_revision_number":50},{"id":"d0541b2a795171014a071360b33f29a26c698f89","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-22 18:10:51.000000000","message":"Patch Set 50: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/cbdfee7a75ef4754a9182b54975a6dc0\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/619c8b249db74aea8f55d2c0ab2dd280 : SUCCESS in 11m 49s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/eb2c50f43d394a6ba633b3df328fc7d5 : SUCCESS in 10m 11s\n- grenade https://zuul.opendev.org/t/openstack/build/693060a3bb5c4198960fc6874d79b940 : SUCCESS in 1h 05m 00s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/9ca73a1abe1748b3b7ebd3b402ae94fe : SUCCESS in 1h 09m 59s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/656c955e3b264e46a0c154d544a8a6ac : SUCCESS in 54m 31s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/e0b9d0fc47c34505b633048c97c368d0 : SUCCESS in 52m 49s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5c64e1468e8f4679b1cdb916edb5817a : SUCCESS in 20m 32s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/9ce91fee103a4801b8c7bbf211ff7d2a : SUCCESS in 17m 07s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ae86078d4a1242d98502b8eeaccae1cb : SUCCESS in 21m 59s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/b316e8a8234e4528bb14fd65ea8f9ad4 : SUCCESS in 8m 48s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/a217a1c85b344dc9b513a386e8ffbebd : SUCCESS in 19m 21s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/69445f4c595b4c2f956fc4fb868e3c7e : SUCCESS in 22m 27s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/b58ed1e5d39a41c799715c5794ebacfe : SUCCESS in 39m 16s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/c909145e0fa845d99139a309f1421551 : SUCCESS in 17m 29s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/9f0dea43bb9341528fc4be9b62bef321 : SUCCESS in 14m 31s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/c56f18d223cc4336bd8d8f3aa1f8b1e2 : SUCCESS in 16m 35s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/96268ae1ed184991b3c1f24d808ade54 : SUCCESS in 16m 25s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/29f80476e3114f20b16e57f31257dccb : SUCCESS in 18m 56s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/fda7b548fcf246dca9616fd32dd24342 : SUCCESS in 9m 07s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/56718c41906e4d01938d65ad42d182e3 : FAILURE in 8m 00s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/3bdbe74eb36641108e34df73e543db4b : SUCCESS in 10m 04s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/1a61f3db97f644229d6e3393e16b7213 : SUCCESS in 59m 50s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/4a8fbc63fffc450da7581ec51cf9be0e : SUCCESS in 54m 16s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/eb5b5878190c442aa30f6b55f7b01914 : SUCCESS in 44m 20s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/f00046381c4348899faa2b5ab7e7f391 : SUCCESS in 30m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6e4ee4ff3373402bbf30256b13755db2 : FAILURE in 4m 10s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/6849c81aaf78419cb0bde2d374755e45 : SUCCESS in 22m 32s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/2c8d3d6c9ba04268ba7dd52550fa4f14 : SUCCESS in 59m 09s\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-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-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-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.\n  Comments left for invalid file swift/common/middleware/s3api/controllers/obj.py","accounts_in_message":[],"_revision_number":50},{"id":"770e9cea70ade5b638fe6b4a35635970b515503e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-22 18:26:22.000000000","message":"Patch Set 51: Patch Set 50 was rebased\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":51},{"id":"5228297323d400b3e18a7dc18e68a9c07a4adcf1","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-22 19:02:09.000000000","message":"Patch Set 51:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b5e5b7fb3e0d4859b72c30b312600478\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/d859b02787c94f45bdc1b4768607d959 : SUCCESS in 33m 30s","accounts_in_message":[],"_revision_number":51},{"id":"a90a21e6b91f0c97b9966a7509f08c23a8b65684","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-22 19:50:55.000000000","message":"Patch Set 51: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/90029419707e430188822bfb3b37f6b4\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0a02313b68064bfcaa10df78b7999b07 : SUCCESS in 11m 17s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/2288a335007a44b093e1c2b509919d82 : SUCCESS in 12m 03s\n- grenade https://zuul.opendev.org/t/openstack/build/eb4f56b9f7f94d15a30190dc62c5ff44 : SUCCESS in 1h 03m 55s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/2ce410e6f6e74fa988ece93240f6a8da : SUCCESS in 1h 17m 52s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/36efdaa447d3469c9aa80b22ca65a088 : SUCCESS in 1h 05m 05s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/88820a23989e4f35b10edd6e766e812a : SUCCESS in 56m 51s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/2e1a005f29084fb4b30b6eab92d4e449 : SUCCESS in 20m 46s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/142190c585b246d29e05690919574abc : SUCCESS in 18m 19s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f12c6f1409064922b608919eb631ebfe : SUCCESS in 20m 35s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/568815936db94b28aa3d62af5af34d8a : SUCCESS in 7m 16s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/8a029b16e6974ba1823f945087e88be4 : SUCCESS in 24m 09s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/0f5f2823dd3944ea82a1dfd8b608a0d1 : SUCCESS in 23m 36s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/25918b57f35b4525b5f9cd6e2b2e3595 : SUCCESS in 31m 09s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/27126cf8b9124f34a0b6bb0c498ff062 : SUCCESS in 21m 48s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/838c481e6210436a92ba7ec1df269f52 : SUCCESS in 14m 16s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/221982903bbc4c81ac03ed55940db704 : SUCCESS in 13m 48s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/0a2b97d7f3ef483ba5be24e5367cc76f : SUCCESS in 12m 08s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/0c067fb793374a7d84bc05be8d9420f9 : SUCCESS in 19m 16s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/ecbbe635ef4b473196053434def41496 : SUCCESS in 6m 30s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/2dcecb1395824705829a8c525217646e : FAILURE in 9m 34s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/3d05558bb2fb4ec0a70d3ec9d789ea49 : SUCCESS in 9m 49s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/ab9e0de1692d477cb2264f4166e37388 : SUCCESS in 1h 05m 46s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/8a9bf4555abf49ed8b99f21fd265c04c : SUCCESS in 39m 38s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/27a7f6f0e1aa40c09de42d193e2601bf : SUCCESS in 42m 04s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/32676ad135734310b11456b07f19660d : SUCCESS in 27m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/af158937bd084c438b5f14c6861570e0 : SUCCESS in 4m 32s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/1fadb352bb2a40c58f35756964b2ea35 : SUCCESS in 19m 44s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9510c7a79c904a7887068e927558958f : SUCCESS in 38m 14s\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-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.\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-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.","accounts_in_message":[],"_revision_number":51},{"id":"95959c47ee163534bedb26aa3601f56402e6de69","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-22 22:18:00.000000000","message":"Uploaded patch set 52.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":52},{"id":"d5fa7637be28aa87d790fdb97d80951b540f1f4b","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-22 23:17:00.000000000","message":"Patch Set 52:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fcf7485991ef4eb78021630d9b6c2b8a\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/270a30eee2464bfcbbe4b7b151ac253b : SUCCESS in 57m 10s","accounts_in_message":[],"_revision_number":52},{"id":"b46e911c7cb45d7b01acc569b32d9990a21312a2","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-22 23:28:09.000000000","message":"Patch Set 52: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/75b6ce2433c74ed4b5d107f0b1d9a1f1\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/33bbdc70ca6c4a1e82e8fbd823dec247 : SUCCESS in 10m 39s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8f98008257294884bb343b14dd149d17 : SUCCESS in 9m 40s\n- grenade https://zuul.opendev.org/t/openstack/build/b9fd3d92543b4c138a95935886fac372 : SUCCESS in 30m 49s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/c73f72482ca04634b07782128d48a13b : SUCCESS in 1h 03m 47s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/60e51d086f124f87bb944198a42b903b : SUCCESS in 53m 07s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/3e6bb062f0154442af1a54adf314d3dd : SUCCESS in 58m 20s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1b774834bdad4dba8d9afea5c1b57103 : SUCCESS in 22m 26s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/a6139659625e4e7988cb748dcb5660dc : SUCCESS in 20m 25s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/9df5feeb877f4b0fb82debf33aa827dd : SUCCESS in 21m 51s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/7fc801dc20854cfab8e418c36a0df462 : SUCCESS in 4m 25s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/1f11d0d98a1942eb88050b1137569066 : SUCCESS in 26m 34s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/521efc11e37041c6b27314d5c2f96305 : SUCCESS in 16m 11s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/fb7729d225c64dfaa9074bbca7396b9b : SUCCESS in 33m 19s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/e316c6435c5140c6a39247e5f901b5b3 : SUCCESS in 16m 37s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/059a1c945ab542a2b04720462b0120e6 : SUCCESS in 16m 46s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/425c53e5ff754a7d8858d89cf2be964a : SUCCESS in 8m 28s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/a2d5355546e84045813e716e743c2c05 : SUCCESS in 13m 23s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/3264045b4d824646a546f59c39917276 : SUCCESS in 20m 22s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/1e682d1c0d424bab92581976a40734db : SUCCESS in 6m 14s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/d734bbf7059f42a1b8e8da49d91acd52 : FAILURE in 7m 55s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/152bfe6e9c8b40199c1d2deffaa578c9 : SUCCESS in 5m 25s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/1f80452476b0474985ba6b28d4c13462 : SUCCESS in 42m 21s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/d586ab78a4d04c2b808de9dd8111bfe4 : SUCCESS in 25m 13s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/36646e81227f48f48281ffe73cba1c1d : SUCCESS in 30m 10s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/6992ea48aa1845048a0acaba9ef63f83 : SUCCESS in 28m 46s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8761859e75344ff3b8b85d8776bb8076 : SUCCESS in 4m 29s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/13b74902fd164893bfdd161c3985189d : SUCCESS in 10m 14s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/33a3cf68c29c4642b6bb7191ba251f61 : SUCCESS in 36m 13s\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-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.\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-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.","accounts_in_message":[],"_revision_number":52},{"id":"f8f2884ea13cc884091f2e533eb89c79c11399e2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-22 23:57:15.000000000","message":"Uploaded patch set 53.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":53},{"id":"e8af080a70d9c9e035f94a92b4f5880dbd69c558","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 00:55:33.000000000","message":"Patch Set 53:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/17972b7686374c00936b3f1949335dcc\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/51877f3127814fb7928c4a124b9211c7 : SUCCESS in 56m 36s","accounts_in_message":[],"_revision_number":53},{"id":"da52f9513519982f695f56a59a6e88d87a2e758b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 01:24:18.000000000","message":"Patch Set 53: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7a6e2fe45e6748acbfc9a06eb2190a41\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/295f44261fea4c8cb3a99a2c24ec2d83 : SUCCESS in 8m 57s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a0a83a6b65d54b0baa84c02b0d659f2b : SUCCESS in 10m 55s\n- grenade https://zuul.opendev.org/t/openstack/build/03043c3b6fc4474e8e062787d46fc1d4 : SUCCESS in 37m 40s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/8db81210610e4dfdb1d1f2c0d5427ee5 : SUCCESS in 48m 44s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/a00cb30da2eb462bb393f22c1ef3944b : SUCCESS in 36m 21s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/5a469e54409c4fc78936d36c1432a945 : SUCCESS in 1h 01m 30s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/60e6648ec65341be828f5478d5332342 : SUCCESS in 20m 11s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e71017519ede421f84866532ed60da86 : SUCCESS in 18m 20s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c883f9ea5fa845e5a4c07252181b10b1 : SUCCESS in 20m 44s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/8fd6716a4fd9461583bd1a88503ba697 : SUCCESS in 11m 01s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/da27adbf56d146f898f5bf79741d23f8 : SUCCESS in 10m 51s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/032e6f8593f04d47b2c5ee662010add5 : SUCCESS in 13m 53s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/99940dd31513425596ee83408ba4e7a2 : SUCCESS in 18m 01s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/ee0c434732f44bbf92522ea31fb2bf8e : SUCCESS in 21m 57s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/167278c2a8394fc8affd33cf46aa2022 : SUCCESS in 8m 25s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/52d6fd8533e84e50b89d03ce603f237c : SUCCESS in 16m 12s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/13059fc6b2e343de99c4cfeb07afca46 : SUCCESS in 8m 53s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/35d8b0eae6cc4753964ec7bc2673d9c9 : SUCCESS in 11m 56s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/40a717e1550643b58ee78cd6c8bf603c : SUCCESS in 7m 23s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/c246a3a4e80b4dbeb1941d3f38f84900 : FAILURE in 7m 48s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/f71e0ea4f0594fdf940d4ae79a85ce22 : SUCCESS in 6m 42s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/eeb68577008547068c897b6dd8f351cf : SUCCESS in 1h 19m 20s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/a5953f002e914b97a02bbf29775a600d : SUCCESS in 54m 32s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/efc1701687b24e179797b08f6b6a66c7 : SUCCESS in 51m 12s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4dad4b59b3bd4f538bceb3d0bc189e50 : SUCCESS in 28m 00s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/26868bc915154b83b3d509f53625a8b7 : SUCCESS in 4m 24s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/879d7f07c40f4ed891be54aaaabfb9f5 : SUCCESS in 18m 24s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/cbf1371cd1fa4e85beb8a216895f50cf : SUCCESS in 58m 01s\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":53},{"id":"d5a3d0b48159dc830e35c57a8ac7582e8997d901","author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"date":"2026-07-23 21:29:19.000000000","message":"Patch Set 53:\n\n(1 comment)","accounts_in_message":[],"_revision_number":53},{"id":"c3983e2a16b756de8109d90cc8535dcc05e056e1","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-24 18:24:25.000000000","message":"Patch Set 53:\n\n(1 comment)","accounts_in_message":[],"_revision_number":53},{"id":"e8432a6f2f4f8a152c8a3b8a40db9a9bcba381dc","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-27 15:34:10.000000000","message":"Uploaded patch set 54.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":54},{"id":"1bf8d7fe1db8a32411f51d3a32080a5db91b8745","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-27 16:48:49.000000000","message":"Patch Set 54: Verified-1\n\n(2 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/55fcf8ac8a36449684fa48165b0bf6dc\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/eab601dafd1d485dadeeaca39878ea91 : SUCCESS in 15m 10s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/3aee45479abf49f5b16a38048087abf9 : SUCCESS in 9m 46s\n- grenade https://zuul.opendev.org/t/openstack/build/603f892946214ae09f34aceb4250abda : SUCCESS in 1h 11m 29s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/94a348960f9b41429113bf76472e86f7 : SUCCESS in 48m 26s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/563e6dea466943ca8f07f67b9dfaa5f0 : SUCCESS in 55m 26s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/ed25577b4e6c4d11b18d20c9081a5400 : SUCCESS in 56m 26s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1f5a8cd6aed746f596d4224366ea8c0c : SUCCESS in 21m 01s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/de602bafcc8f46dda2530bf5fc57f491 : SUCCESS in 20m 19s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/06d816c6340c4dcd8218695b8d8cb2a9 : SUCCESS in 19m 13s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/de4993952e03486daf25325f4f6457ac : SUCCESS in 7m 43s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/4d7281ffc71f4a5aae63d7433091ce40 : SUCCESS in 28m 09s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/a0385df3ad3948d7a6680f8a6a87a586 : SUCCESS in 18m 34s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/fb70254b180242e5a5bad5d50fcf27cb : SUCCESS in 30m 15s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/ffbe25b2713b4075a03b0eac356ad1b3 : SUCCESS in 16m 07s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/ff827de4665e450d8211cec44503561f : SUCCESS in 13m 30s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/2493a81484504242a3ce87c0414e39bc : SUCCESS in 15m 10s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/265bba21f8ac45d480d11cf07cbd3aee : SUCCESS in 14m 25s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/6c5ebe7766f547199630037ab1741bcb : SUCCESS in 19m 02s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/3e07c99a80274219903e23bc3b0daea3 : SUCCESS in 6m 20s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/b019c544b0d945e7a3ba209a3f4e38de : FAILURE in 8m 40s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/a82a6e5294744c0092a9753c0a4592c4 : SUCCESS in 9m 10s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/018db01a1a6045c98d3d0eac0f8145f4 : SUCCESS in 54m 41s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/192484d508044b77bbae356a01c247d2 : SUCCESS in 41m 52s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/3dde7d6cb5c84a20aa48960e86089d2e : SUCCESS in 55m 01s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/e4361eff263742e78c899b3365118b69 : SUCCESS in 27m 59s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/59d65dbc1893484ebdc09e4301491ea4 : FAILURE in 4m 33s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/82efc5ff1a644bc28cc7922c8b07d4a4 : SUCCESS in 17m 46s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c89c6a823af449ee9dc0b195da7b8632 : SUCCESS in 52m 27s\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-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-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-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":54},{"id":"ba18097ff891caf7452ee9886a889019c14b5db3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-27 17:05:47.000000000","message":"Uploaded patch set 55.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":55},{"id":"943b8c76bccafe6297c0906732152aa26cb64a2c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-27 17:06:17.000000000","message":"Patch Set 56: Patch Set 55 was rebased","accounts_in_message":[],"_revision_number":56},{"id":"91c385779bf4adc320009d09645384e9383bfa87","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-27 17:08:09.000000000","message":"Patch Set 57: Patch Set 56 was rebased","accounts_in_message":[],"_revision_number":57},{"id":"8f5b7031ca68e9f41190e3e576cc0df3aa51c681","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-27 18:29:03.000000000","message":"Patch Set 57: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/dc3af6193b4a40ab9e7ce0caf1b60f7d\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0585bb98db34430787f21fb1fa625196 : SUCCESS in 10m 25s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a7f1c3b76c9c4b75964f7402b30bf7f7 : SUCCESS in 8m 28s\n- grenade https://zuul.opendev.org/t/openstack/build/2fc8e649f96849e3945b6766aad304e5 : SUCCESS in 1h 00m 12s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/4ea1313851a249be9dad3b338f3676df : SUCCESS in 1h 16m 00s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/c513227dabf744629c7db1270332af06 : SUCCESS in 1h 01m 37s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/db649febe73042f2accfc3d44530e2bf : SUCCESS in 57m 34s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4732dc94bd2d4e3aa99fa1b1d3a086c1 : SUCCESS in 20m 09s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f5aec8445cd24372b4af0dbc54ffd0f4 : SUCCESS in 20m 28s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/a7049fd7193748b690e8ad364f3fd0ca : SUCCESS in 20m 20s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/88790f8ec2de4952b2530a56afc51b42 : SUCCESS in 7m 06s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/029ded4ceca943e9b1a7fccefcd5a763 : SUCCESS in 33m 01s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/873c073735174a8997b50323416f1842 : SUCCESS in 21m 50s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/6d97f203749a41c694c2b8b43ca3b391 : SUCCESS in 21m 14s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/d645c967baa241c0b50a8e7a7d872d90 : SUCCESS in 19m 54s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/e7e3b466d21b4908a17e5c1fc8adc41a : SUCCESS in 15m 21s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/963e88d3b8d74157a70f3b80342f5b42 : SUCCESS in 15m 06s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/852d9f3ba0034cdc8dae40c2779ed8c6 : SUCCESS in 16m 53s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/3c659c2775ec420aa96306e6b16d851e : SUCCESS in 15m 17s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/1f7def55ba2640209725c428ca7bcaef : SUCCESS in 8m 50s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/9f806013fc5d40a9becaeccb7e3a9224 : FAILURE in 8m 00s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/06dd2fe0fcb94d65be998da100139370 : SUCCESS in 9m 33s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/054cf9b4810e4c5cb1e2da9c7c1258f3 : SUCCESS in 1h 03m 54s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/862f38e4e6f64691b1dfff6590c1c770 : SUCCESS in 57m 19s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/4c5773620cd84537bf03ab7f16a8b8e6 : SUCCESS in 1h 00m 02s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4d9c34d5e5174ba7a68fbd768c67269b : SUCCESS in 27m 35s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e8a2aecc29ea49989e43894d8e5d98db : SUCCESS in 5m 44s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/1edc82545278414f9cf5f46cae41efd1 : SUCCESS in 26m 07s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9c6b62dec61c40b9bf01b6774f188c69 : SUCCESS in 40m 17s\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-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.\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-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.","accounts_in_message":[],"_revision_number":57},{"id":"4c68036749a048139a9aa8f079650437fe7c3111","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-27 20:01:45.000000000","message":"Uploaded patch set 58.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":58},{"id":"8eb6be141bdece167ad811e656af1bc4b352882e","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-27 20:03:41.000000000","message":"Patch Set 58:\n\n(1 comment)","accounts_in_message":[],"_revision_number":58},{"id":"a64485d5aca6caae2f4a30aff7e7671c96ac72a3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-27 20:33:40.000000000","message":"Uploaded patch set 59.","accounts_in_message":[],"_revision_number":59},{"id":"ffe613f7454d8a4d66f16a70ea54995bdf508ced","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-27 21:45:41.000000000","message":"Patch Set 59: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/cd7aeba260f94c1c84916000f116206f\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9c835969486647578e2c29a70f379ab6 : SUCCESS in 10m 00s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b9293efdbd974355beada0f5ea1b76cd : SUCCESS in 8m 22s\n- grenade https://zuul.opendev.org/t/openstack/build/4efc2d13f733436294202bf17986a284 : SUCCESS in 1h 03m 09s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/91782cc8bceb443db08fca24d51ad086 : SUCCESS in 1h 06m 20s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/b2233c48bccc4d8a9702e8e787e5f0d8 : SUCCESS in 40m 51s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/f05158dc22834c39b6aed293c96fe500 : SUCCESS in 45m 59s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e1d29090512d46099608c46cdbaf012c : SUCCESS in 19m 17s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/723c8c22f6864c169fdfbd9e14d401b9 : SUCCESS in 23m 50s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/47cba170af544f8a9b6eca74b036069a : SUCCESS in 20m 30s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/c50b1ced30f6464abf20725f3a8010c9 : SUCCESS in 7m 47s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/1788bc1dda384d79a216dcc6074ac6e9 : SUCCESS in 26m 37s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/c5ef29ed0a434adbbd6047c55e9a3869 : SUCCESS in 21m 59s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/af62d0cb6b6d4f3a9ac525dacc74c498 : SUCCESS in 33m 01s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/1140db45d18443848f446579e04306fb : SUCCESS in 17m 12s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/5583cacfb00a4c39898fa160b59c1653 : SUCCESS in 15m 33s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/7278f3cc0a124ef2b3d52272e7ac1194 : SUCCESS in 15m 27s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/e9097fc33ed94a67939dfe18b0002100 : SUCCESS in 16m 33s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/e44ff72112a14351af08d66af920b359 : SUCCESS in 16m 41s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/48e46bdd71334056a32e56a30a154aad : SUCCESS in 6m 21s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/27acd4c076674d9ebad4c92eedc4a15e : FAILURE in 7m 30s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/aa3d369fb2a04cf887a361c79757083d : SUCCESS in 8m 05s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/a961774d87574d93bf31bf98850cdb7e : SUCCESS in 1h 00m 31s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/ddad1d34187146938c6a279561be2112 : SUCCESS in 59m 51s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/04353fa2e35c43e48f1468663c0e3e5e : SUCCESS in 39m 51s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/bf4cd28e8dc44f9197f653ba596c8f9c : SUCCESS in 25m 53s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1b54a7b835ba421baeece6d0761be3de : SUCCESS in 3m 57s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/c36eac180a494f62a1ead3c5cb5a5414 : SUCCESS in 16m 25s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/6f9ac9085c6043c98548d4ee8be2152b : SUCCESS in 56m 06s\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-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-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-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":59},{"id":"4211e44b9f87e0b296ff9cf627765b19e1d71e88","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-27 21:48:18.000000000","message":"Patch Set 59:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/67b705b1cd674e9c849a2b06e88e6565\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/742bc70260414066b77ca3aec1b1a0fe : SUCCESS in 55m 54s","accounts_in_message":[],"_revision_number":59},{"id":"de54ef28c0ce8abcd8b850bee11d062465861f6a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-28 00:00:01.000000000","message":"Uploaded patch set 60.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":60},{"id":"8b285890feda965c783df498772ecc3ab25119a4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-28 00:00:16.000000000","message":"Patch Set 61: Patch Set 60 was rebased","accounts_in_message":[],"_revision_number":61},{"id":"8180298c7100d65d138f5a035584d7e091495294","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-28 01:02:41.000000000","message":"Patch Set 61:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3d5e74d7d79745cfb57d2da106eddfa2\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/d41ff306040b43df93cb59e27140a50d : SUCCESS in 58m 53s","accounts_in_message":[],"_revision_number":61},{"id":"a09c557001df765130c9895ac69ffe8d7eecd3bc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-28 01:08:20.000000000","message":"Patch Set 61: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/89c8894780ec4740b5cd2b1d215319f7\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c140a1ab25614c36ad78fcc32bdfee5e : SUCCESS in 11m 15s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/42626066e2d44534bb217d3990b19d30 : SUCCESS in 7m 17s\n- grenade https://zuul.opendev.org/t/openstack/build/1b2fe79468054ed8bb8b03a4def49300 : SUCCESS in 1h 06m 26s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/2bcc332dd35842339421db8d7ce2ae01 : SUCCESS in 1h 07m 00s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/4584b96ccb544c97a3ae8d22cd6fe5d1 : SUCCESS in 1h 00m 05s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/cb81edcc081f44418d04e4640ea9d260 : SUCCESS in 1h 00m 51s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/14f362c9d378409db0fc6b76fd574dc0 : SUCCESS in 19m 41s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4987b6e035ae4092b9196c0047dadba4 : SUCCESS in 17m 11s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/eefb2f3a6dd64e3d85b9ab4856271f16 : SUCCESS in 10m 58s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/dac08d29c2f14536a0faef8c9eaa14a1 : SUCCESS in 4m 56s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/8b3e10f74683489bbec26e883a3bd392 : SUCCESS in 10m 48s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/6b9909252c524d00b9f57784625015da : SUCCESS in 17m 19s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/4a22dad72d124de5969eee54f82e46c1 : SUCCESS in 12m 18s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/eed403d26e16455ea6254c68bfb42098 : SUCCESS in 21m 27s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/ca0a48d3f31a48e7b0a3718cc35ab8af : SUCCESS in 15m 22s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/94a06cd4a7974a4887449b6f5847ed56 : SUCCESS in 8m 47s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/4a7bcdd1a3124e40a0207f9f00db2489 : SUCCESS in 12m 31s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/472dcafe59c94114883d86518202c2f9 : SUCCESS in 16m 05s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/ab09203e44ad44509a2d1072bf3c6f97 : SUCCESS in 4m 12s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/f755232914b4443cb9b3b403ac3016ff : FAILURE in 4m 43s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/81f14392d6ba4c84808f30b49ab6b3bf : SUCCESS in 5m 32s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/c979017e41c94c91b5541cba7c008a7a : SUCCESS in 49m 46s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/64db93cc398a48d2b23d302b59f135b9 : SUCCESS in 49m 34s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/7c8e6a086ea045d8aab633482fc59cc0 : SUCCESS in 52m 44s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/bb3e153431f941cca6c77e657a28c05c : SUCCESS in 13m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/418eb81b05f94a5499c3bdefa0969e89 : SUCCESS in 2m 51s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/39c81b0045a94208962a39af0bede5ce : SUCCESS in 20m 55s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ffc3726af11c43c5b0a331db529e5a9d : SUCCESS in 58m 58s\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-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.\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.","accounts_in_message":[],"_revision_number":61},{"id":"7af0bd9e65127345a12bd5ef84fb39b432e1ae2d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-28 17:27:40.000000000","message":"Uploaded patch set 62.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":62},{"id":"379fdc37f94a7a1793f33c2e0e789c9b07fcedc9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-28 17:33:33.000000000","message":"Uploaded patch set 63.","accounts_in_message":[],"_revision_number":63},{"id":"8516b9e7a365fb6077034d67884cc729d2889f79","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-28 18:12:52.000000000","message":"Patch Set 63:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3066722ad4714aa686831a6f8fa0746a\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/18bec7f8380f4ff9bc314d03641b33c9 : SUCCESS in 34m 08s","accounts_in_message":[],"_revision_number":63},{"id":"8cac36e9117e7b85caad471786e98c5fe9cd2a2d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-28 19:06:11.000000000","message":"Patch Set 63: Verified-1\n\n(1 comment)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/a9b36537339249c1b02dd514a67ca06d\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/369454d9f3c248258b75bf25c93f99a6 : SUCCESS in 7m 49s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c986c0ad5b1547dfa5e46b9842a6edc0 : SUCCESS in 9m 21s\n- grenade https://zuul.opendev.org/t/openstack/build/83a872717c444e91ab18194ef9a041ea : SUCCESS in 1h 26m 02s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/f54cf4d80c0f42ba8905f515a6b0dbcc : SUCCESS in 1h 10m 01s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/c90006f193b74acb9e7c71e0f6a7a25f : SUCCESS in 54m 21s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/4e76852fa1814d70855e30efef184a89 : SUCCESS in 1h 02m 11s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ccf1061477c6472caf09713cca541ce7 : SUCCESS in 21m 00s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0850be918916439e9b246a1f7f232547 : SUCCESS in 11m 11s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d9b8b2edc0864cb0944fa2f19d274663 : SUCCESS in 21m 48s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/2ebb7d13d7e24e1b987fbab53ccf1ac5 : SUCCESS in 7m 21s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/780c953c70f04338975a2d48e2da61a7 : SUCCESS in 17m 32s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/d5c37e50125e4785aea6e988e4508c9a : SUCCESS in 18m 04s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/b0cc00f35b494d0ba5a5063f2190ef1a : SUCCESS in 24m 05s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/656073cc3a69440f90e0353eeb3df1f0 : SUCCESS in 20m 24s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/8be59f313db04751b565cf79c929e469 : SUCCESS in 9m 28s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/4d69025bb76744919277083707c76701 : SUCCESS in 9m 32s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/928287f6f7da44e9b04c66a86ed667b7 : SUCCESS in 9m 46s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/535e3bdd08d24bbca5e1dff94c48bf80 : SUCCESS in 9m 27s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/9ff9b60722884cbbb6ac6a18f6cf44fe : SUCCESS in 8m 27s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/5b9cebd4b6814c6f88227a8a0b8a91ca : FAILURE in 4m 31s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/f40001ac210e4f8ea45878e336c91199 : SUCCESS in 11m 48s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/c8214673500842439ecb659556aa9b37 : SUCCESS in 37m 00s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/c0476b7909664e08a3a7733c8a17aba7 : SUCCESS in 29m 16s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/a128599eb9ee41ca9c54be6ceadba479 : SUCCESS in 54m 00s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0b72ab9d1c08427393ed87ea8de0eaf1 : SUCCESS in 11m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1e8429e0569c4b5baa6db0c2004b86dc : FAILURE in 2m 36s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/bf8911fe3c634d4192affc9abefe415c : SUCCESS in 19m 34s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/3328dd740c7e48199b2e559a8774bd32 : SUCCESS in 53m 43s\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-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.\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.","accounts_in_message":[],"_revision_number":63},{"id":"4dd0a018c6c099a088b66bed576a8a9be49201ab","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-28 20:40:52.000000000","message":"Uploaded patch set 64.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":64},{"id":"48a8ef6e1c182224034f31fb2954f6560abcfe34","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-28 21:13:47.000000000","message":"Patch Set 64:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9c655cbd9382435d9069dd4c86cc1f3d\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/e3689237f7cd4649add99e3a6b9537a3 : SUCCESS in 31m 12s","accounts_in_message":[],"_revision_number":64},{"id":"ddc27a50bbbe3cb956e7ed71d248bcb240c04522","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-28 21:48:56.000000000","message":"Patch Set 64: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9feb79f6dd4a459894bc5e7d9c986d61\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3923ba0174564725b27f8119e4f4fe11 : SUCCESS in 9m 50s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/12daf8a5f20542169c6700e6c9e29770 : SUCCESS in 8m 08s\n- grenade https://zuul.opendev.org/t/openstack/build/7f3ae0f4e4dd4974b8849930f7cf7721 : SUCCESS in 48m 28s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/87d01386e1d84130ba15a8f0953a0bad : SUCCESS in 52m 09s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/a07562242b284715a66d6ddf85a525f0 : SUCCESS in 49m 25s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/6416a56dd113485c884fc7b5b65d8011 : SUCCESS in 1h 02m 31s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e7745c776e5b430c93e1d2976df72a7f : SUCCESS in 19m 28s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/9bccbc7df70844379c89d2997799b20a : SUCCESS in 19m 08s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/555e121f0df54e76bcca19dc7c6b848f : SUCCESS in 21m 42s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/04a3686b4a514d60b030bf3aa6509920 : SUCCESS in 6m 34s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/12b233ffca844bd9a6fea99b5ba49db8 : SUCCESS in 10m 35s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/1359f48ad0d44a13987090519bc103d5 : SUCCESS in 20m 12s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/812b176d30cf45bf8855a2962ba49637 : SUCCESS in 29m 56s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/5924abc714674c9eb0492d2b43150a9e : SUCCESS in 21m 30s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/6092b757bb3a466eb3e2cc0d36c7c818 : SUCCESS in 14m 14s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/4aa8128a83114b98b6378b1ad06aede3 : SUCCESS in 15m 03s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/91e2e50343e74a939840bf0b0a8c322c : SUCCESS in 15m 44s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/0a680645b75242eba39ea6d4ea1b4c5f : SUCCESS in 15m 43s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/ceceb27fcd2e4be9beda1183ec990e16 : SUCCESS in 3m 22s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/6e082b86a7044c3691b653d4d5d8fb5e : FAILURE in 8m 24s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/9ed4afe8fedd40f588a1d736b0f19b7d : SUCCESS in 10m 34s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/439964782c32482099ab05682d70816b : SUCCESS in 1h 00m 15s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/a01ea00eb5e04cf3847bdd8e014bc49e : SUCCESS in 55m 40s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/800007cfa92a4927a54da4521163aa86 : SUCCESS in 53m 42s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/50f15e211b2547519933f483db7b4bcb : SUCCESS in 26m 33s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/301513946e5a4cc8a8a722d032e0679d : SUCCESS in 3m 25s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/48783ca52faa42529b5b79e5c5c32338 : SUCCESS in 22m 23s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/2c78d12ba65647ddaee538c6668eb9b6 : SUCCESS in 48m 25s\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-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.\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.","accounts_in_message":[],"_revision_number":64},{"id":"adcb15bb087eeb5663047ef2e3b3b8bc49d05823","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-28 22:50:48.000000000","message":"Uploaded patch set 65.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":65},{"id":"b63b13e861b49bfdabbdad77107dbd00bb028d42","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-28 22:55:54.000000000","message":"Uploaded patch set 66: Commit message was updated.","accounts_in_message":[],"_revision_number":66},{"id":"ea265aec6429f1bb88d7fb51d59b08d463110a0f","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-28 23:30:36.000000000","message":"Patch Set 66:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b721781e5ae0495e9dfad8dee91a89ae\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/bf1963bcfef34204950328b87fb66115 : SUCCESS in 33m 13s","accounts_in_message":[],"_revision_number":66},{"id":"ac09e49ec1ffb8363154e60ec7cd55c290a72850","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-29 00:13:16.000000000","message":"Patch Set 66: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3d03c516eafe4a74b5fae2950a86893f\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c977c6996184497e97594873d080fda5 : SUCCESS in 10m 00s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ca8db2d5cb5f411fa5b2ceeb48f726ed : SUCCESS in 8m 24s\n- grenade https://zuul.opendev.org/t/openstack/build/633dff3bbc0a4d84b9f76173ef2fe226 : SUCCESS in 1h 02m 59s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/53e8e015ec0d4ad68ed11308dea93c2c : SUCCESS in 1h 16m 27s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/32198299d7d64b4a871a82cce6f8afca : SUCCESS in 52m 21s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/6a2f150ac0044fb29d63588725957ce3 : SUCCESS in 30m 26s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b28d61a53d6a44e1942fc210ecb8de6e : SUCCESS in 17m 57s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d101a47e4a5a4245a09aeb636afa69eb : SUCCESS in 19m 56s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b3c783629eaa4432ae68ccb67e172042 : SUCCESS in 15m 48s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/a203e9d60424446cb5a1cfa453bde485 : SUCCESS in 6m 31s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/b4c745be5ce6475da2d6b455248ca5df : SUCCESS in 25m 54s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/564e67291b71411c956b99f977c468ca : SUCCESS in 21m 46s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/5182cfbeb4654668a2c64d710040841a : SUCCESS in 34m 26s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/f9bb756b365d454baafa3bbcad16ce74 : SUCCESS in 10m 16s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/f3401abc40174231b4e0f7e1c8e6c00c : SUCCESS in 8m 46s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/b00aeb879b784d60a208ba74ce3ba5bf : SUCCESS in 8m 53s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/03919781c35f4fbb96a6a60a956572dc : SUCCESS in 9m 03s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/0f72461117614967a8f7929137f41953 : SUCCESS in 13m 22s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/e40bcdd9c7ca4fc5963a21142a9243fa : SUCCESS in 3m 20s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/fda6b0a00dd64877a457cc99a35145be : FAILURE in 6m 52s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/e7802c5b738d4cb1b7d14cfb7ff04625 : SUCCESS in 7m 34s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/478860c45a1a4ecf8fb5f714e86ddc4f : SUCCESS in 49m 48s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/17e6e2de009a4411be0af44316ea1f29 : SUCCESS in 53m 31s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/98ffc13c20314ac187e3711963faf2e0 : SUCCESS in 51m 08s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4696271e8dd04cc89f540067fa5f2b8c : SUCCESS in 21m 17s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9537d67b149f4b7886dfdcc5b2b7a74e : SUCCESS in 3m 44s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/a3fa0129a16c4131a1da808fb71fda93 : SUCCESS in 15m 57s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/09c6cfc6ebb34e24ba2cdb4acdab9761 : SUCCESS in 25m 28s\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-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-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-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":66},{"id":"664312352ee8e2a7335ce67c0e540631f1bb33f9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-29 16:20:25.000000000","message":"Uploaded patch set 67.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":67},{"id":"d89fcca45532cc4e55802c7280c98b2823396173","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-29 17:34:58.000000000","message":"Patch Set 67: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/88a4be646d384aa699b0a515232fa529\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/be3fd763cddd481b82b8681e56d78052 : SUCCESS in 9m 33s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f2319ccd9c3c46418cde50cb24cacc1d : SUCCESS in 5m 28s\n- grenade https://zuul.opendev.org/t/openstack/build/4592b2da26b44808832398404b84d336 : SUCCESS in 35m 05s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/0e5ac5f7fca34b559713afbdb7abbc4b : SUCCESS in 1h 07m 36s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/a751ae7401174f649f58a8722df06e18 : SUCCESS in 54m 50s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/1dd6cb5c6100455a811d6f524b8fd317 : SUCCESS in 1h 02m 44s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/a3030a1324244b3cb8fa6cd1d27e617e : SUCCESS in 16m 45s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f1d8a0f060ca435999872083aa916680 : SUCCESS in 19m 23s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/58019a8dd68d4041b5f27ac60c590625 : SUCCESS in 15m 04s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/18a103c3bccd401383d535f60a25d9df : SUCCESS in 7m 48s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/7c313e1a1e9f432493050d40760b6d10 : SUCCESS in 27m 27s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/7a3efaf89154449891da5d9dc3be94b3 : SUCCESS in 18m 14s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/c7af9f142c34473c92e7e395d4aa9688 : SUCCESS in 12m 26s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/4c17193d86c74a838f7543407827a58a : SUCCESS in 16m 59s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/e53f495166a44165b9701462c6e02299 : SUCCESS in 16m 01s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/3ccc80b3e875470785daf95f455dea7e : SUCCESS in 8m 20s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/63dd801ca70240e3bba6002b7d0d4169 : SUCCESS in 16m 18s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/84186d887f804e7692fe27e921a6e6c2 : SUCCESS in 9m 34s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/378176e15ba642f7be5f3ff550c000f6 : SUCCESS in 4m 16s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/56399ab40fd94db9bab73b979da781b0 : FAILURE in 4m 23s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/22c03df6e0c7432490b950141e068eb7 : SUCCESS in 8m 36s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/1bf53b4e0a2d40d9b0db90f5cee65bf9 : SUCCESS in 1h 02m 26s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/5502449055284c029fccdaec4a6d9daf : SUCCESS in 58m 28s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/eaaa61a2be9a4a74b87d339488c0e615 : SUCCESS in 53m 31s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0e4428f4eb664d979de3446482888efb : SUCCESS in 27m 51s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9965fccff50f44d5b0d740fd41e595a8 : SUCCESS in 6m 34s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/b79b0d9e69004b60beed200758ba2028 : SUCCESS in 25m 59s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/19a24dffe1624174bcb5812d8223929f : SUCCESS in 1h 08m 16s\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-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.\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.","accounts_in_message":[],"_revision_number":67},{"id":"e170b38fe6cdf6743cb404e48fa8cc0cd09a1f72","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-29 18:20:51.000000000","message":"Patch Set 68: Patch Set 67 was rebased\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":68},{"id":"f1fe07af6c778fa5550fa6e5e5df8dea701767bf","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-29 19:35:12.000000000","message":"Patch Set 68: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ac6de5a010fe41c2b262f4e8902ceaca\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6cce8fe09ab9446eaeef710f0dcefc44 : SUCCESS in 10m 21s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/22c5352851e741c59694e3ebb3a31450 : SUCCESS in 4m 56s\n- grenade https://zuul.opendev.org/t/openstack/build/0b68e9c6bf584a079797f29252e4608d : SUCCESS in 1h 03m 55s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/92b04ef5d15d42e8b927c4765564c8d6 : SUCCESS in 1h 07m 53s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/e10fa06b05284eb08a45739f5f369a4e : SUCCESS in 56m 39s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/4b8f041f4cdc4222b05f9bd04673cc19 : SUCCESS in 59m 59s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/319f88e970884f98a23a89f2a4f7691d : SUCCESS in 19m 36s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/aa2120d42aa34150ac886f3c722f421a : SUCCESS in 24m 02s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/6cdbdb54d72148499a6938909cfbc1dd : SUCCESS in 13m 28s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/1fe3d81703ef41c7a9078cfa0c663aa4 : SUCCESS in 8m 08s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/344b2bf6701946809fb092903f23aa9a : SUCCESS in 26m 17s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/974dbf4d97a74f1e910c1361308b5468 : SUCCESS in 28m 11s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/1c24f7b8be694c9f9df343a687be81a0 : SUCCESS in 32m 26s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/a0a9a128352c4c9e8e42a674dd45ef4e : SUCCESS in 22m 31s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/08761c4e5d574090903ed86e8346e11b : SUCCESS in 17m 07s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/a04308912131436dac1e78239cf4f5e1 : SUCCESS in 15m 09s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/f7a384d9862c4527a7084e7098807e18 : SUCCESS in 16m 11s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/3a1414b9f0334d3f8144a757c2470d3b : SUCCESS in 17m 37s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/45548558b49746a887f83011c54a8d8d : SUCCESS in 6m 34s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/f041a84ded4e476f86451856a1d11050 : FAILURE in 8m 01s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/1c87e8bca8b649829f80a0c3d45eedca : SUCCESS in 10m 08s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/991b62731a1f47728ad36d3bd4647643 : SUCCESS in 50m 27s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/777da84435a9421a9abf6e17fc002c58 : SUCCESS in 52m 17s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/28cfaf79a254485cb4a2b8cecc80a0f3 : SUCCESS in 57m 52s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/80d50812a5334a62a7b0d3fc8eb3ea71 : SUCCESS in 30m 19s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/127312c8cfe3459f805f9f1cb433d657 : SUCCESS in 4m 40s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/8a2369550ba64d0a9d0e95b0379cd41e : SUCCESS in 20m 52s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/28f18ca71ff8427aa8ffd8cd0e6a19c0 : SUCCESS in 57m 11s\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-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.\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.","accounts_in_message":[],"_revision_number":68},{"id":"6d2706a113e7ddd9ad44ccff819347d0185c9368","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-30 00:44:45.000000000","message":"Patch Set 68:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/bcb4a6e6f6c94d7dad034e9f9ae36ef3\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/f62a7482d0bd48899fc14470d3c45ce0 : SUCCESS in 1h 18m 56s","accounts_in_message":[],"_revision_number":68},{"id":"2a1bcdeb7316d93c2920d6c9ad0f36c96ba0bf48","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-31 19:55:34.000000000","message":"Uploaded patch set 69.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":69},{"id":"8fa2d4f5d2d857fd993c58179334f957db9f9dd3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-31 20:11:24.000000000","message":"Uploaded patch set 70.","accounts_in_message":[],"_revision_number":70},{"id":"c12bfd7c18f340b8ddefd39722da6f3db5e391f9","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-31 21:16:25.000000000","message":"Patch Set 70:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/35b710cf5f2d4f2c850c4eba4805d214\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/1f640edcbe7344be909071315a4fc5d8 : SUCCESS in 1h 02m 51s","accounts_in_message":[],"_revision_number":70},{"id":"f8fafbd456d535caf70da25890202a94deb2af89","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-31 21:23:32.000000000","message":"Patch Set 70: Verified-1\n\n(1 comment)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/67443c7f97694addbe277ab77919573b\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c6c4bb22b0954dfd93141f03f427eb7e : SUCCESS in 9m 44s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/965588f3fc00437db8a969af9323f60b : SUCCESS in 9m 28s\n- grenade https://zuul.opendev.org/t/openstack/build/8313ecd2d2ab4218bf0f3e3cc630cbf8 : SUCCESS in 48m 32s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/8a6537d776d74323b1e6945e43a44795 : SUCCESS in 1h 04m 21s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/83d28b4bc7f54a4d8112a05396fed80e : SUCCESS in 55m 37s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/9934a493ffec45b39f064db4bb1ef6b9 : SUCCESS in 1h 05m 52s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/344606b6d65b4510a4fdb6f3b182bc2f : SUCCESS in 20m 18s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/9aea90af759542a6bc07f929c17acd3d : SUCCESS in 21m 25s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1585cc20c3d0496aad02474e467f3a4d : SUCCESS in 20m 40s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/aaa35503a46e47cab8fb08ba0437dddc : SUCCESS in 6m 29s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/1c5bca343eb8463297b5c89b4fdb9ff8 : SUCCESS in 10m 31s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/741f7cb8c9f144c48573c1152401e8dc : SUCCESS in 16m 25s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/aa1191204ff74635bb68782e3cb5ff71 : SUCCESS in 14m 03s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/b6f6589a6383438a91abc0108f861264 : SUCCESS in 21m 09s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/178a44f89a4b4e8ebcaf8569d8701ccb : SUCCESS in 14m 51s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/8562c151a3e648d4b8877cc209035d9a : SUCCESS in 13m 27s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/f5a5b6441551454d89ecdf6f8363f112 : SUCCESS in 9m 51s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/435616a6627b4325a520293fbbfec238 : SUCCESS in 11m 40s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/67c39e49942c41f7a30d2bec5820fc63 : SUCCESS in 6m 20s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/921ff71a55784bea840b609efbc7e97b : FAILURE in 7m 54s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/cc611b5ae5a8434f9b32d08423fe4818 : SUCCESS in 8m 55s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/98f5b194a02f4e0dba3adbe2369a14ef : SUCCESS in 44m 38s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/eadd92434d7c48c69ce5286f0baf58c9 : SUCCESS in 30m 13s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/d2e5445e9ae54d8ca69cba4ccee04af1 : SUCCESS in 52m 44s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0dbc6858b1cb4ddeb9c333b0199da162 : SUCCESS in 30m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3b3bfbd19a89463783b491c743e9d136 : FAILURE in 3m 40s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/23000fdbb2464d289f0267db2f8c30b4 : SUCCESS in 15m 14s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/7d5ef3cda5df4445b3e465bc07ca3617 : SUCCESS in 26m 04s\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":70},{"id":"18fa41392daeadb8108158750ff634699670b348","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-07-31 21:58:41.000000000","message":"Uploaded patch set 71.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":71},{"id":"4cf7f62ad70d4e5b7158aab82b1091d501d92bbc","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-31 23:14:43.000000000","message":"Patch Set 71:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7a2b01aae2e44b6aaaa3eb329579b799\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/72119e89e10d40de8c2a7225ed9fb9ea : SUCCESS in 1h 13m 25s","accounts_in_message":[],"_revision_number":71},{"id":"83ff14b0a1a2487291dba16d433bed3db1c9d4ae","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-31 23:16:44.000000000","message":"Patch Set 71: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/f902e274e1b44ce3bfafebc05b99ea5b\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/034de0908f99437a9dfa9f0d1a761a78 : SUCCESS in 11m 00s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/65b39bc1cdc542e9b00ff86c65d61b02 : SUCCESS in 9m 15s\n- grenade https://zuul.opendev.org/t/openstack/build/a770c25ea62f4b35a7ff250f50ae1d9f : SUCCESS in 57m 57s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/aa17b697fcff41ea97d5ea5d27993dc6 : FAILURE in 25m 06s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/ab0e00d1252340d0a0e38354e4e431d7 : SUCCESS in 59m 21s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/4072bf85ac1748d7be0cfd5d3da8ca84 : SUCCESS in 1h 05m 41s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/a0c357fefd7c4124acddc3a4cb1eb21f : SUCCESS in 20m 30s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c8ffc0328cd041068d3e6e249e64cead : SUCCESS in 21m 50s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0bd10593a7be47e484f430108a673dcf : SUCCESS in 22m 35s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/b33c49ab48724002807197a8f75360de : SUCCESS in 4m 48s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/a39e1e8e247f461eb7b8c1bf72f550c0 : SUCCESS in 22m 11s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/2a03526e93834286b508ba6e07c1028b : SUCCESS in 20m 54s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/bc849f6ebc9446b3b722c894a2482287 : SUCCESS in 30m 39s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/da5ee7bc100043a0a24e15686e81a595 : SUCCESS in 23m 40s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/6d011787651148a8a3303f420f609b50 : SUCCESS in 14m 32s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/4d3c5c59a832461689a174c1160ef855 : SUCCESS in 13m 43s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/4fb96e9305f648f5bb2eb12e85b0b3cf : SUCCESS in 18m 45s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/be2052448473472ea3d6739273e72c7b : SUCCESS in 17m 27s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/7786529498394faf920f55ed9ff77544 : SUCCESS in 6m 32s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/7aa61d5707f4409a8b8d810da767c251 : FAILURE in 7m 33s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/5b27255cec5d4355b656400dadbc5084 : SUCCESS in 6m 33s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/ffc074cf5e204e11b71ded3effad0c95 : SUCCESS in 1h 08m 23s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/24d3b4ae97344f2d87bee0f96cf09087 : SUCCESS in 30m 37s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/b0eff1d279694b71bd928a5857851f1d : SUCCESS in 54m 38s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c0d9c640a881460db41c66f1cf35f837 : SUCCESS in 15m 10s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/64742e9f72c645f2b4aa78b0b96d219d : SUCCESS in 3m 05s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/03bb6b7d4ee4467bac12cf8f3725f023 : SUCCESS in 21m 40s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/a457d569fa4d413ea0f2c185b57117d5 : SUCCESS in 54m 26s\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-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.\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.","accounts_in_message":[],"_revision_number":71},{"id":"0cced6023445a9cc3af5e6ed5245765e9953dbb0","author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"date":"2026-08-03 03:51:31.000000000","message":"Patch Set 71: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":71},{"id":"65819a6194cd47a03da59a3ef48271d6ad409bb3","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-03 15:57:27.000000000","message":"Patch Set 71:\n\n(1 comment)","accounts_in_message":[],"_revision_number":71},{"id":"bb9fef74274f73e9268c54e4b3c8e9e76623803b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-03 18:38:22.000000000","message":"Patch Set 72: Patch Set 71 was rebased\n\nCopied Votes:\n* Code-Review-1 (copy condition: \"**changekind:TRIVIAL_REBASE** OR is:MIN\")\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":72},{"id":"e527a0f5d354d73d5ad01f262562948d749198e2","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-03 19:16:28.000000000","message":"Patch Set 72:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7ef05e17707745b392a337d2a2c01783\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/6112f9aee2e947dc9fb57be82a08be8c : SUCCESS in 34m 56s","accounts_in_message":[],"_revision_number":72},{"id":"a505a3e7dd85a83e94aee46eb4e69db0ced5d8ba","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-03 19:57:35.000000000","message":"Patch Set 72: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f4ecceadcc3042d3acdd62bb450e3206\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/77909f2c3f874306bbf85f8ed1bff897 : SUCCESS in 10m 42s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/5c6fd52552814f9e80ec485514fcb24c : SUCCESS in 8m 45s\n- grenade https://zuul.opendev.org/t/openstack/build/66ddb06c15e84b00b15d98b11a704c0a : SUCCESS in 48m 48s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/7b7248209a7649d298f3de1020245f58 : SUCCESS in 1h 02m 24s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/aa20462421304aa5b0e8c934b6fc0737 : SUCCESS in 43m 02s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c1ab8bc7567742eb9a3586f505efb066 : SUCCESS in 42m 59s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/9ecf39f16b234a2b92449c094aeb3451 : SUCCESS in 13m 36s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/730fbcd058f5482e9b995b4404d4eed4 : SUCCESS in 14m 03s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1277df207ad9427783bc657145f45e94 : SUCCESS in 21m 56s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/2129f6fd482b43fa9f6ec40dfe6e26c8 : SUCCESS in 9m 00s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/29628512c1e047a49ae2b7c6ded1d102 : SUCCESS in 16m 43s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/f4b94ce0ba704daa94125fcda6eba95c : SUCCESS in 12m 49s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/b498238bad4447648a8afcccb1451978 : SUCCESS in 36m 20s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/ff8806f108bf49c5b13c248bf7b956c6 : SUCCESS in 14m 33s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/d0de3de1db424c8eb90020a9b07db265 : SUCCESS in 15m 33s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/34e04cf88fb34dee8546c01bf92ddbef : SUCCESS in 8m 23s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/33252225295a430091b10c16f3a9c687 : SUCCESS in 17m 21s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/dd4b214ed47c40f887eb31340935dc6b : SUCCESS in 17m 29s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/6c11984110eb43438bc7146c065159b8 : SUCCESS in 6m 39s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/7c3e5dc3cf954277a37feee2fcdde3d9 : FAILURE in 8m 07s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/2c29252f1f9644b985f16095d103b948 : SUCCESS in 9m 20s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/4a774a2fbf864b91a0a824495f6152cb : SUCCESS in 1h 05m 56s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/b898a134673e4d1696b9aff1d38388a5 : SUCCESS in 53m 50s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/d3019fc8af7845e2a74e774f4b378313 : SUCCESS in 51m 13s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/572b04d9229a4e6a9bc82b359239ce09 : SUCCESS in 17m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/aed07cd6f64b4b72a748b45e15eea0a3 : SUCCESS in 3m 44s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/46e32415ad5f44e6baed9351fb416f2a : SUCCESS in 21m 24s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/64acf8e185eb43888e3bdcbcd68ccc3c : SUCCESS in 1h 03m 59s\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-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.\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.","accounts_in_message":[],"_revision_number":72},{"id":"02368d60f360de4e1c9da2a7fd5274450acedcc2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-03 20:40:29.000000000","message":"Uploaded patch set 73.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":73},{"id":"62e30271fb64ae343946453054002db35613f8d9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-03 20:44:43.000000000","message":"Uploaded patch set 74: Commit message was updated.","accounts_in_message":[],"_revision_number":74},{"id":"c9f6e66eae71acbd0fd46babe8db3ab2931ef7c7","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-03 21:37:20.000000000","message":"Patch Set 74:\n\n(1 comment)","accounts_in_message":[],"_revision_number":74},{"id":"b1a4a30a23bf3d2c50ccc130c3c1e5c9864cbc2d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-03 21:54:50.000000000","message":"Patch Set 74: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0f769f7d5118408ab3586b589fc77695\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b86786a31222444b8e5d5e72638a982c : SUCCESS in 9m 56s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0d3359855baf4ea2b48f24a5c7a8507b : SUCCESS in 8m 59s\n- grenade https://zuul.opendev.org/t/openstack/build/3f2998cc1a524a8e8065bfdf83e1dd4a : SUCCESS in 1h 05m 37s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/08e731cdb20240d1a59bdd4a46e15d7d : SUCCESS in 1h 02m 25s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/d8ecc7b6ea604aadad0049d34253d5c6 : SUCCESS in 59m 42s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/43b2bcb891b0437aa372491acb203eb3 : SUCCESS in 1h 00m 12s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/7fd5e23bd2c14cbf988394796b74fbb7 : SUCCESS in 18m 11s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/46dd891d56bc42fbbce6a0711c961fca : SUCCESS in 20m 42s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/fda9db8beca64a8c94b064985522a065 : SUCCESS in 20m 39s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/3cc93455bee3409891b80d9e972e717d : SUCCESS in 6m 36s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/48003c46eacc44e3aef5096f3fb4a7df : SUCCESS in 16m 45s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/a26ca6d314034ac7a4214f2f4bd08658 : SUCCESS in 9m 21s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/d98441273ea644dbaf2fd3cc6db18033 : SUCCESS in 31m 37s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/21e08875ecce4ba593d09d5ab2774d4b : SUCCESS in 17m 21s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/8a4dcbd8053f4c4183d28f4717b2e093 : SUCCESS in 15m 56s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/7a14f1dac6b94c47ad316dfef61532a7 : SUCCESS in 14m 33s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/14db535b48764d42a2230dbe5512b0e0 : SUCCESS in 14m 56s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/bcfb21d769bb4f9baedbc0bc0d1c329e : SUCCESS in 17m 51s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/2561ecb931714699b3ba1df8a4ea667a : SUCCESS in 8m 00s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/9752e301674148ac8149ec16c9f83839 : FAILURE in 7m 39s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/bdd7708f53ed47348cd0863b728d7449 : SUCCESS in 11m 21s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/5fd94cd78cd344a1b81c23807593bcc4 : SUCCESS in 1h 04m 11s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/6c5314fba41c4f758a14f0a2d1651eb8 : SUCCESS in 53m 24s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/ffa33bb5b326479fa4894850be37c957 : SUCCESS in 1h 00m 07s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/654d8e6f3a2f492bb81fba46c2e5ca5f : SUCCESS in 25m 29s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9f8aad4fa216451f8c3ef88ff3b21439 : SUCCESS in 2m 33s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/6b9b4e27ef5247f4b82949517c18202e : SUCCESS in 21m 12s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9e6549e128ae4e2c98e50eb10cc4158b : SUCCESS in 57m 17s\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-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.\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.","accounts_in_message":[],"_revision_number":74},{"id":"c9e0635ce7d49603044b67e48b833e09cddebbcc","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-03 22:06:23.000000000","message":"Patch Set 74:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/be2bc9f93ee54a2fa7cf1a893e585d0e\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/089dadeb3f284fd49d5f9fc38dff13e0 : SUCCESS in 1h 19m 51s","accounts_in_message":[],"_revision_number":74},{"id":"c7ff777301b1f80e1f4bb3620e13eccecd8c65e7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-04 21:14:56.000000000","message":"Uploaded patch set 75.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":75},{"id":"3fd36f31f58f8eb909dfc5d18763319c68527e6e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-04 22:20:54.000000000","message":"Patch Set 75: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4880ba9bd8084db7862a633c8539e2e6\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/271ea301dfd447ac99d6a877617fefe1 : SUCCESS in 5m 08s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/38672445963b422aad4493ed672db716 : SUCCESS in 8m 03s\n- grenade https://zuul.opendev.org/t/openstack/build/9bc15c5f4c914857ad0faadef6ce99ad : SUCCESS in 50m 59s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/d4ec66b5cc13445bb585258b672ff65c : SUCCESS in 1h 02m 59s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/9b6ebae20c4844e3b1a33938a54c617c : SUCCESS in 1h 00m 20s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c8e7d276af2f477b937b9501df8b88d8 : SUCCESS in 34m 59s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/57d4841f2e9c43268ae6848215c9063b : SUCCESS in 20m 01s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5547e3d3d07e47cab04cb56be0e53200 : SUCCESS in 17m 20s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/8dfa413fd40b490c916a34157710f96b : SUCCESS in 20m 58s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/27d3f2a49f214b90b54a26418c156a8f : SUCCESS in 6m 23s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/f3fe98f2e5434f70a9a18af10f422ec3 : SUCCESS in 30m 18s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/6a1dd994ab044f5a920e3772c4d2bb70 : SUCCESS in 10m 47s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/e9bae4f825db47cabc33b77b8d352c77 : SUCCESS in 26m 21s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/d6cc223dc82d4757aaf2ba6caafaa0fb : SUCCESS in 19m 34s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/4c6bde57ab714d41a94e559e0f48a9ee : SUCCESS in 13m 32s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/1b045fd26f9847f39ba2290cfb5b5ad3 : SUCCESS in 16m 03s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/b7be08e1e35b4db983f4a990374bd270 : SUCCESS in 9m 37s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/28ee6b1007b4428d906850da886b71f6 : SUCCESS in 20m 39s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/6667933feb754a228cdffa02248c92a3 : SUCCESS in 6m 35s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/cd51063e2fa04d9fbc2ea6e7c2170c52 : FAILURE in 10m 04s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/f66d6bb79c244b85bfe9a6fc0e14cb66 : SUCCESS in 11m 25s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/79c2034a953f40df925763ae8fdad9a3 : SUCCESS in 37m 02s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/6011b18b2f3b4dabaee797a074f046d8 : SUCCESS in 33m 29s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/f118966bd2f749cdb6f4714ce0e1ef58 : SUCCESS in 40m 56s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/cbd091e61df0422b9624167c5b2c9d7e : SUCCESS in 31m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fa15ba2916194ae7b80a12df9cb19e2f : SUCCESS in 4m 11s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/7cfce5f2fdf04162b2e0325e6f3443cf : SUCCESS in 18m 58s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/a713ecd24437444eacd237f10f4dae5c : SUCCESS in 54m 20s\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-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.\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.","accounts_in_message":[],"_revision_number":75},{"id":"cf5ae9d8630e1b6c1041346f9823a79e08f3bacf","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-04 22:22:11.000000000","message":"Patch Set 75:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d2b5c23623d147e89e964cc435be47ff\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/7482ca79e38e4127a09b0621f0efd8d4 : SUCCESS in 1h 01m 34s","accounts_in_message":[],"_revision_number":75},{"id":"439a20e36637f926094e89d5d5923138df3ea713","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-04 23:41:58.000000000","message":"Uploaded patch set 76.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":76},{"id":"c63b4092e5ccf7f4ea1386367875c91212c0db14","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-04 23:42:26.000000000","message":"Patch Set 77: Patch Set 76 was rebased","accounts_in_message":[],"_revision_number":77},{"id":"7cb5fbd48b482df44ae02fb2fe14ae3af3d2383d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 00:38:04.000000000","message":"Patch Set 77:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e15df21473ad4363b188c53860aa17d8\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/f6dad5bc130c48d5af513fb65475a81b : FAILURE in 53m 54s","accounts_in_message":[],"_revision_number":77},{"id":"2c1ed7d70a73ccbfe377b6d9a10cbef4166d5055","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 00:52:25.000000000","message":"Patch Set 77: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/d0074548ac9e4879b1341954c7404183\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a1a8511ad90643b9bfaa7459fd087c75 : SUCCESS in 10m 34s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/4e671849599b48abac769dc9f23b8687 : SUCCESS in 8m 39s\n- grenade https://zuul.opendev.org/t/openstack/build/12616c62c46b4a44964ff7ecbe74f55e : SUCCESS in 31m 40s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/6ead474025e446799d8d032fd521cc11 : SUCCESS in 1h 04m 19s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/1971e182575c4d71ab1bf38912c786f1 : SUCCESS in 33m 53s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/0ad4f54497c84186830c2b9fba37612e : SUCCESS in 32m 44s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/56a4e0392dcd49a19a248d8dc35f1234 : SUCCESS in 16m 16s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/293407179989403d9fd958b3de7182ab : SUCCESS in 19m 31s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c8f73185fded4ec98f0bd09dcc12d4e8 : SUCCESS in 20m 26s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/957ecc352cc94a459c5281a5b7a8ea80 : SUCCESS in 6m 42s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/ffab3aca1c39430cba10f55ae0b6d70d : FAILURE in 27m 07s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/e427eac2c70a4e18b53e3cf6fa210ef0 : FAILURE in 10m 29s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/65daf515d6f34e52881b1a926afc9f19 : FAILURE in 33m 47s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/6fcc374afe1c49bebd6440249f26b54a : FAILURE in 20m 34s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/fae35602c58f43429aff29a08534c8b8 : SUCCESS in 15m 32s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/5e0b732f2f164acc9ca62466d31ac7a2 : SUCCESS in 10m 17s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/1b6bf5a3d36146aca0bc69796d5aa5d7 : SUCCESS in 16m 32s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/e6d3d0e9280e4e6a8de412ca25569bbf : SUCCESS in 18m 10s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/b987497fe8ac4e2dbf15073b742394b3 : SUCCESS in 6m 33s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/3a5900d7ca6144ba9c7eb73900b1b9a1 : FAILURE in 8m 27s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/0723818aa786446db9b6983f0a58bd28 : SUCCESS in 9m 16s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/a8a65d12787b47c9b3719cfa598603df : SUCCESS in 58m 38s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/e85ab525ca3c4158aa1a1d520acec219 : SUCCESS in 49m 06s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/049eac957367409d9680f5db2efa1de5 : SUCCESS in 53m 06s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/b245fff40f6b4dfb9b80e2c60129e129 : FAILURE in 28m 48s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/619e907ec5f248a58ac6431a933a6b7b : SUCCESS in 2m 33s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/289c5e7a72fe4363b69b8e69642b021c : SUCCESS in 15m 40s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/4d050591e2084c10b1fc6ab4ff94eff6 : SUCCESS in 54m 35s\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-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.\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.","accounts_in_message":[],"_revision_number":77},{"id":"e4be464d59ce15e7022e0a4d66a415da32a946aa","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-05 01:52:17.000000000","message":"Uploaded patch set 78.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":78},{"id":"214b35625353b0c5b3d4e46543e54b19da828145","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 02:39:30.000000000","message":"Patch Set 78:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/40e9fee92e134f1da3c7ad1efdf504d7\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/cfaad5346af541d69a14f4eb16d5cf89 : SUCCESS in 45m 21s","accounts_in_message":[],"_revision_number":78},{"id":"59c2598db5c049d31555e0c16c1daba53c4b61d2","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 02:59:36.000000000","message":"Patch Set 78: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9820804b581443cdaac6bd1eac9dd6dd\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d1036dabcb2c41a098d96d9f412d6c1e : SUCCESS in 9m 55s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/213ac38d7a64465aa59267821696a897 : SUCCESS in 8m 11s\n- grenade https://zuul.opendev.org/t/openstack/build/6c33e43c9ba742919415a5d6e3188f1b : SUCCESS in 39m 36s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/cf970034f91b438bb29cabce36274b93 : SUCCESS in 56m 44s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/d79b668667b247af83021c446790b893 : SUCCESS in 57m 36s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/8bc106e4f96c42738a8fb5ae9c23123e : SUCCESS in 42m 51s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/7948f469c004445890e9be627224f6eb : SUCCESS in 21m 38s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/068ed3760c814871bd2279e407d02eb5 : SUCCESS in 17m 54s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/fc05a9ac06a1448fbc567f2b0a7465d4 : SUCCESS in 20m 05s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/240b307737f243b0a390b2dc19e48b4b : SUCCESS in 6m 40s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/701e82cf17064a2293ad910d3f74a158 : SUCCESS in 26m 47s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/745472ed10a749939d44db20c27c9176 : SUCCESS in 10m 02s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/a43234af052c4e5e9b5dde10a5d6efe0 : SUCCESS in 13m 51s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/ab8bce0b35144dda9b54f084bbb04dc2 : SUCCESS in 22m 22s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/32757267449e4d09afe6ef138c698a02 : SUCCESS in 15m 32s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/1e87b4ba78c1440a8844ebe709e6fe34 : SUCCESS in 12m 57s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/8f277c3a2ec04f7da1eaf3b21b102508 : SUCCESS in 9m 33s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/472e56a9b4894eae9328f32e124d5c44 : SUCCESS in 9m 16s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/3a517e1270174c70bc3192c37b6ae6f6 : SUCCESS in 4m 20s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/a944ec2dae264ceb97577b1985e1dd9e : FAILURE in 8m 01s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/3a3979a653fe40c692419729ed519d86 : SUCCESS in 7m 21s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/bd9309cf4bba432dbda456f1cecbe7d9 : SUCCESS in 1h 02m 08s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/50fb76c6f9ad4c458d3bb8ab7631396b : SUCCESS in 24m 09s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/edd0b1d64356480380a72a291efc923d : SUCCESS in 31m 17s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/8e188fc7e50b4647bbbc38582bcb1e6d : SUCCESS in 30m 03s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e03b97d63c684635be4846f0179ff49f : SUCCESS in 4m 21s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/f94f9c4ab17a4d7bb4630a02b7c43f8c : SUCCESS in 27m 31s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/58496991558941ecbcbe23f4aec4385b : SUCCESS in 33m 27s\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-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.\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-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.","accounts_in_message":[],"_revision_number":78},{"id":"a7f160698242b166aa396eb4059a3131de38b772","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-05 18:25:36.000000000","message":"Uploaded patch set 79.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":79},{"id":"ff481ed5b38f9e4f0e4c9f28358c50aea4f9e016","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 19:01:44.000000000","message":"Patch Set 79:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/98498a012488400fbd85aaed4eada471\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/b2a22d16cc7c41c495d797e6fc69da47 : SUCCESS in 33m 53s","accounts_in_message":[],"_revision_number":79},{"id":"45ac1ada2f721485eb61fbef90b73cae7f11852a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 19:29:45.000000000","message":"Patch Set 79: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1b8329a9264e41028d30085049ac39ce\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/43aa80b8e1b046d38c6a5398e6920e90 : SUCCESS in 10m 25s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f491c0f5f9624ffab201a3e1935ede45 : SUCCESS in 6m 36s\n- grenade https://zuul.opendev.org/t/openstack/build/d483e842510542cf894a7bd978b567f8 : SUCCESS in 43m 50s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/1361ba91c5d8451ea0bacc412c92ad38 : SUCCESS in 58m 45s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/4e1b87a09ce94b839a3620d564ef7393 : SUCCESS in 30m 39s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/2c5a4fb2a5e04a2fa10549b47769776a : SUCCESS in 39m 13s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b39e070a858c4bd7a125796995491b4b : SUCCESS in 21m 46s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c0f99453c71a4b57b81f255d4883f065 : SUCCESS in 21m 24s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/3acca0ebac684983896e9ac19e3cf79c : SUCCESS in 23m 40s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/5c1034c472c644ef9ea56f20c3ffc0a5 : SUCCESS in 6m 45s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/13673d22db1846a88de184e31f7da3c7 : SUCCESS in 25m 57s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/99e6da7b9f58405a9d37aae52f5c0b57 : SUCCESS in 21m 58s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/6303dcf0ab7a43bcabb1c5f16074438a : SUCCESS in 13m 25s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/2034e4ea2e2847518464b484b83510ed : SUCCESS in 10m 38s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/d320f2cfba3b4c02829d3b9c9bef5e89 : SUCCESS in 14m 24s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/b209daff47874acd9fd4946f5e9b3458 : SUCCESS in 15m 48s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/80f21b409b184298bd57b5a332aeabed : SUCCESS in 16m 41s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/6b5a69f2bfa2441783a16a804a9a1b1c : SUCCESS in 16m 45s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/636b254eae8244bb95cc6b8909484b7a : SUCCESS in 6m 49s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/38e0f058686a49dd87389730737d43ae : FAILURE in 9m 21s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/e958d3e0f25448f2a7f687cc08205284 : SUCCESS in 10m 23s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/8059c957a3ca4f92a127b7eb3e76b160 : SUCCESS in 57m 23s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/48b8a37ffb074d8dabb892820e74de38 : SUCCESS in 53m 42s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/0580e7d4e46244b8b6ba88be460e250f : SUCCESS in 55m 38s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/884ce5e68fc34f2e885f62dc6cfac709 : SUCCESS in 29m 07s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fc0f1c822c254500a2fce7472a47209f : SUCCESS in 4m 59s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/8137b1acf7d8489f91df308862ec4fa8 : SUCCESS in 17m 40s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/05eb84cc43b240fab309948ae9ae6fb2 : SUCCESS in 42m 43s\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-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.\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.","accounts_in_message":[],"_revision_number":79},{"id":"38cef286c932a14a6affa9ca76c31d28e07d2213","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-06 23:28:09.000000000","message":"Uploaded patch set 80.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":80},{"id":"dd55fadc3946f0f664c100c616720df497fa824e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-06 23:28:35.000000000","message":"Patch Set 81: Patch Set 80 was rebased","accounts_in_message":[],"_revision_number":81},{"id":"5e4eab24090f05cd3686adffb12f148f8ed547ec","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-06 23:28:54.000000000","message":"Patch Set 82: Commit message was updated.","accounts_in_message":[],"_revision_number":82},{"id":"024aef9438a163b8e1f5cfb68727691ee5dbe02b","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-07 00:35:32.000000000","message":"Patch Set 82:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ed46e4330c5d49f0a6a7c83da24c48c0\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/7c941bdd604c40df813618c4ec872215 : SUCCESS in 1h 04m 29s","accounts_in_message":[],"_revision_number":82},{"id":"b3292901bba5412b21ec9280b53dd428c8efba51","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-07 00:41:48.000000000","message":"Patch Set 82: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/815c8e90b5524874b668122ab49db91c\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/82c107825e474a339027eda7d4272530 : SUCCESS in 10m 11s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/cbcae313a48c4bacaa641b61e22001dc : SUCCESS in 9m 08s\n- grenade https://zuul.opendev.org/t/openstack/build/37c86eec61dd4ca6a7936a478918b903 : SUCCESS in 1h 02m 50s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/e9f9fd3225bd4abaa395efa41bec32f9 : SUCCESS in 1h 07m 19s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/bb17948cfa0d4f9aab24b5e028c48c15 : SUCCESS in 55m 34s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/49d8ef6927cb407e874e05e08a0def8a : FAILURE in 56m 43s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d53e738ed79148ae82377686a5bacd02 : SUCCESS in 20m 53s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ed9d60f755c84397ab38c632f923edbc : SUCCESS in 19m 47s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/a9056d80f4ac44acbe5874b1fb1bd3a7 : SUCCESS in 21m 30s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/1f4e37de1eb24e5db96edfceed859d03 : SUCCESS in 6m 35s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/20dc02d3369842d79826249dae4d0c2b : SUCCESS in 25m 07s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/eeb466ac977f40a6b01995400fc4ccab : SUCCESS in 21m 38s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/485945db64de4ceeb4cf7b917c1282f2 : SUCCESS in 31m 36s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/67b36a5648ec4208b37489ffa4301897 : SUCCESS in 20m 34s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/cd33615760c94f4e861c0c166630ebef : SUCCESS in 14m 08s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/9fd864e9a45443bfad668612ef7e770c : SUCCESS in 15m 15s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/4fcaa641a1574e6aa7154aa60882cef6 : SUCCESS in 14m 42s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/819c573528fc498cb5492fe74623dbed : SUCCESS in 16m 43s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/e8aa43266c144e3caa70a1affcad9153 : SUCCESS in 6m 19s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/3973750f923e4d408323633ba519d53e : FAILURE in 7m 59s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/96ffd29378d7401d814e80539864f849 : SUCCESS in 8m 51s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/bbfdb73b0fc34321a9f116bd0d5ccefc : SUCCESS in 59m 24s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/a850dad18c284ef7b287a7d42d77ae73 : SUCCESS in 57m 50s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/c62685ea99284275b429821328466502 : SUCCESS in 27m 10s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/2d98dfff6cca48818ff9e77e104a80fb : SUCCESS in 13m 38s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7a3635f9b52d40c9878ded5cc9dbfff0 : SUCCESS in 4m 16s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/b870fef0830541558e348e7f39f2979d : SUCCESS in 25m 33s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/a8356c2a6afa49d499f2acb6eb01b619 : SUCCESS in 36m 12s\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-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.\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.","accounts_in_message":[],"_revision_number":82},{"id":"45e2843772a83ce91bb1b21c7897f3f09e8a3c08","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-08-07 11:23:34.000000000","message":"Patch Set 82:\n\n(1 comment)","accounts_in_message":[],"_revision_number":82},{"id":"bcc5808fb0893941942d8ee4d42d9c22d4742afb","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-07 12:40:19.000000000","message":"Patch Set 82:\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/8486df427fb94a14bc000b174943b71d\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/00b90d4cbad34f0e92920b4fcdd585b6 : SUCCESS in 7m 10s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a1b0721a0491487c89d66eef277ecdb5 : SUCCESS in 9m 51s\n- grenade https://zuul.opendev.org/t/openstack/build/dc2d6e477bc74bfab235f7d8a2a18723 : SUCCESS in 36m 43s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/858f0dcbf08d435f8aca5a28303b55f9 : SUCCESS in 29m 52s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/6995f88c0b904997bccae03a65f9a9df : SUCCESS in 35m 34s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/1f867a6ddb464fa3a06b7191d49232e4 : FAILURE in 38m 44s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/20c2a53259394cc0a61ccd452883c997 : SUCCESS in 12m 23s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/3cd4683dea124dff84dad66d08cdeeb8 : SUCCESS in 19m 19s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/56b17410b9b34522a46f57bbf37630d6 : SUCCESS in 16m 51s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/8bc338ce75d54acc839e17064898fea2 : SUCCESS in 7m 42s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/c396e644ef424faf89978ce0971247d4 : SUCCESS in 26m 32s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/00445279575e4c9e99799a27ed98a966 : SUCCESS in 22m 56s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/51c2a3ce4fae4c40b2f387b3e596f32c : SUCCESS in 16m 42s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/63ced5f707824e9b9dd4919526f8305c : SUCCESS in 23m 18s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/513407c77c694f27b85eea23f1473e83 : SUCCESS in 14m 02s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/6f98653f5fd249a4a44d21f07df92837 : SUCCESS in 11m 00s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/bca89388fb434fd0bff2278df7298bbf : SUCCESS in 10m 59s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/cec90376fabd4dd48c3784538f1e0523 : SUCCESS in 15m 41s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/49fa648df00b46bfbdcaeb64fba7a3b8 : SUCCESS in 6m 19s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/3b41e994fbc543c0b8a354b1c8774554 : FAILURE in 10m 17s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/0bd27a9e73d0472eab3500acaae287d2 : SUCCESS in 12m 05s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/71cadb2466a34db7be96224ad7083c70 : SUCCESS in 55m 21s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/f08cfb98e24b4e8a9595cb40bff42252 : SUCCESS in 58m 31s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/1bf0d85717f14a5d82f9c9194c52cfba : SUCCESS in 33m 25s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0f06d6f1930c4099a098938e2257537b : SUCCESS in 17m 52s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7eab6cfe304040869d94020b512c1bfd : SUCCESS in 3m 17s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/da6803865439439eb69f070e6043d88d : SUCCESS in 19m 11s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b041d088dafc44da9c46d06c3e11e1c6 : SUCCESS in 38m 22s\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-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.\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.","accounts_in_message":[],"_revision_number":82},{"id":"7f8536da40081565aa52a46ad2aa2aca5f3c5e12","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-07 12:44:57.000000000","message":"Patch Set 82:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/76dcc8338b214a55ba1ac27ad94689d6\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/6e55e1f928264b6a9e7ed094138b7fd4 : SUCCESS in 1h 07m 15s","accounts_in_message":[],"_revision_number":82},{"id":"80b4addee102da2f3d57ee5a86b450670531f376","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-07 18:35:26.000000000","message":"Patch Set 83: Patch Set 82 was rebased\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":83},{"id":"1ff13595d589f5ff712627fbc6340b3d780911c3","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-07 19:34:03.000000000","message":"Patch Set 83:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d7ecceca938e48b6ad67653f76283ded\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/cde3c76995be49da82bf2a3ed87dc030 : SUCCESS in 54m 26s","accounts_in_message":[],"_revision_number":83},{"id":"5c21361ed113b7fdb6f1d9470e0caad0cc6847bb","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-07 19:49:13.000000000","message":"Patch Set 83: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/4cf58c5c586d47eeb55655cef1dade85\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8902ff876a0e46138931876110ec1689 : SUCCESS in 7m 45s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/deff41e73ba047288343ae5b6108d09c : SUCCESS in 8m 08s\n- grenade https://zuul.opendev.org/t/openstack/build/e4238227e62a45e59c90e35c60da9636 : SUCCESS in 1h 02m 04s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/73a67b50fda844c7860cd4560dc5d905 : SUCCESS in 1h 04m 48s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/cbf9295a70e94cb9aa2298f76e14b16c : SUCCESS in 53m 48s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/415e8fb207ff41f58b10af9a52e90a6d : SUCCESS in 1h 00m 34s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e6c30f39447b4b899b3770154d023fb1 : SUCCESS in 19m 35s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ac78fe13c27c41daaaa90b109a6bc530 : SUCCESS in 15m 49s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5ab4f710cfb1418c8b9850d83ae6b72f : SUCCESS in 16m 41s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/a3c5c61ada1843bdbc9d8d4bd107b75b : SUCCESS in 8m 14s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/fa37834c17a347b29adea1dc2ff934ab : SUCCESS in 27m 32s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/2ac0eae8a6f844189872ab72add13e9e : SUCCESS in 15m 18s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/c2d64c42062f4ee8865a44ed393cf1ce : SUCCESS in 20m 40s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/366ce2fa29be4a25ab3d2ae4b382f313 : SUCCESS in 16m 16s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/a3bfb531da224cc1986a35e9a605d157 : SUCCESS in 14m 36s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/709a6bfe12944ad3acd6ed5e4f9f98f3 : SUCCESS in 12m 49s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/2f023e3178d4435abf3881f4ae8bfe5a : SUCCESS in 8m 22s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/11930b46f1a94241a4bf29c94723c871 : SUCCESS in 16m 41s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/b556374db04841ca9eb34dfc172e3116 : SUCCESS in 6m 07s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/17df749ffe554faab6111e75cd65eb2b : FAILURE in 7m 05s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/2684bd25afe5456fa0951e5e784d8aa7 : SUCCESS in 10m 53s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/46167ffb973b42369260cb61cfc6c457 : SUCCESS in 36m 05s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/5a8b71400f9b425d932fc487a0fe30fe : SUCCESS in 34m 46s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/5e8e72ad7778416d9add7bbb45c0db2a : SUCCESS in 38m 58s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/2649ef411282420597ad7491a9b47243 : SUCCESS in 30m 45s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/819a0837e36040858e4b800528052fa3 : FAILURE in 3m 52s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/e41348ed211846a7ad3a5eb22a6a8444 : SUCCESS in 18m 46s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ac8364c6f37145af96edfde94498b4c1 : SUCCESS in 1h 00m 43s\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-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.\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  Comments left for invalid file test/unit/common/middleware/test_slo.py","accounts_in_message":[],"_revision_number":83},{"id":"44ace42356d9d36373c8cdea9ced09ead44b0340","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-07 20:16:48.000000000","message":"Patch Set 84: Patch Set 83 was rebased\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":84},{"id":"9b8db89106f76da74e928af84aa929ca09774e50","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-07 20:54:24.000000000","message":"Uploaded patch set 85.","accounts_in_message":[],"_revision_number":85},{"id":"f01462db6a5f53e38d896eddb2c2ac9b4ae82a29","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-07 22:02:45.000000000","message":"Patch Set 85: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/6223c09da51c4c19b3b8152392f728c5\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/959420ceecaf43cbb552432cbc8bb21f : SUCCESS in 7m 44s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/bad880d41f754a108023bb8663b8cc89 : SUCCESS in 8m 24s\n- grenade https://zuul.opendev.org/t/openstack/build/433e092bb0c043b2ba5a7267fe003231 : SUCCESS in 50m 09s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/0ddcd791e4ba4ff39d24d661de158f78 : SUCCESS in 1h 02m 20s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/d465e33c8bf2438c8587287c5fa67350 : SUCCESS in 48m 01s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/5151b1b04adb454d8f6cbdc2fb642d75 : FAILURE in 50m 17s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/eee70541a79a44f38773435e025b87f5 : SUCCESS in 10m 53s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/479f7bdbc96f4baf8af29908c64e1ef8 : SUCCESS in 19m 44s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d883917d450c4846948826269d9a4400 : SUCCESS in 21m 35s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/87fc8f2eab1e45cc8f276dab512df239 : SUCCESS in 6m 44s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/319f9aac2c9b43d9a3c2245d96e55bff : SUCCESS in 30m 03s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/d178691a3f9c413091cb63d0f9ef4837 : SUCCESS in 22m 16s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/d5753f9d45184ea395d3c010229f6b76 : SUCCESS in 33m 34s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/7f1495a6202041d387a8f0af5369557d : SUCCESS in 22m 39s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/e12b46484e86476dbf805b0db09a4a92 : SUCCESS in 15m 59s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/5bb9353b0d1945fcb8ef5eb3faec6688 : SUCCESS in 15m 16s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/0893dc83c7c84b6a8a44e737db62b159 : SUCCESS in 15m 30s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/d3e1bb6c6f0e447ba59772b1a7d1383e : SUCCESS in 9m 35s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/81c374fb1c374e9cb4b41061a69707dc : SUCCESS in 9m 03s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/5b72c5ff74f6488681263547f60cf195 : FAILURE in 8m 35s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/d2742cbfd2474157a63576e584f9a73f : SUCCESS in 11m 22s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/d250cfcf36ef4c4189a34c7e18d1f038 : SUCCESS in 50m 06s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/24bc1ce14124493f870b0a084a395d96 : SUCCESS in 35m 12s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/a9c4d7a1510d451a9d35aeb75311165d : SUCCESS in 56m 24s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5bc69d51f0464d92954df2e1a6779001 : SUCCESS in 27m 58s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4dccdcd38a764dda86bd05ed01c17024 : SUCCESS in 2m 30s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/ad281d3193004bcc8ca5968abc8fb873 : SUCCESS in 20m 25s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/4a1ef8834c494ce692528aebdcb7d0ec : SUCCESS in 47m 47s\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-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.\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.","accounts_in_message":[],"_revision_number":85},{"id":"cd517ffd7150da5435a053af4e777b8dd34c96c7","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-07 22:09:19.000000000","message":"Patch Set 85:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/93233e97e3b441c69e2856e40b1777be\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/92cab56bdcf242f4a520feb9beee707a : SUCCESS in 1h 12m 22s","accounts_in_message":[],"_revision_number":85},{"id":"e77db9068446174a5eef0915dadd1e1b8790f3d7","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-07 22:26:34.000000000","message":"Patch Set 85:\n\n(1 comment)","accounts_in_message":[],"_revision_number":85},{"id":"feeba652e1a0a2de9ea95159ecbfbcc05be53efd","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-07 23:13:30.000000000","message":"Uploaded patch set 86.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":86},{"id":"bc6cc186c36538d04608bf02cfbf5a9aecd8818c","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-07 23:57:20.000000000","message":"Patch Set 86:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/436e27b45f5a4d97ac9a625f0f004eed\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/9a62574f3a1943b9860ddfeb3926f6f8 : SUCCESS in 41m 44s","accounts_in_message":[],"_revision_number":86},{"id":"72c9c1893f0a987fbaa2e9b60d51fb6462cb7064","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-08 00:18:42.000000000","message":"Patch Set 86: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/8fea872ab3034c6a971f586240838056\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1c704a7cf6834eeea5963db6214acb66 : SUCCESS in 6m 02s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/bd024ed675984456881dd954642a4ba6 : SUCCESS in 3m 25s\n- grenade https://zuul.opendev.org/t/openstack/build/1cf86b276fbf4de6aa24c51bc2bdd139 : SUCCESS in 1h 00m 34s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/d2e1be59dcb441cd90d3ab96154f49d5 : SUCCESS in 1h 00m 34s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/4dcc2b7ee92e4a01a04ad453149740db : SUCCESS in 31m 49s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/24abfa2ce9df45aa9a7ddbb1cb2b0c01 : SUCCESS in 32m 58s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ff02c68877ba4b6bb684b1bbd5e80fff : SUCCESS in 19m 30s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0b128c040e4f47669ecbbb856f5bbc04 : SUCCESS in 19m 32s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/67ac4eff92624816a7859744d3ad058d : SUCCESS in 10m 36s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/bf46298aad344eee8de68ec8cf9e5775 : SUCCESS in 6m 55s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/812c6e96be4d4eb791e00ac72970567d : SUCCESS in 23m 54s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/d5a2087c52e843d89df28ae2b89a97e0 : SUCCESS in 23m 32s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/767066a126044c949979d2f30e9864dd : SUCCESS in 30m 01s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/f12a316db5aa4b65b9f537a7164d7d70 : SUCCESS in 20m 48s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/ffd581eae450460f8ec0e110d46c1022 : SUCCESS in 14m 27s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/1b49e4da89e347e1b07d86713c37c144 : SUCCESS in 15m 37s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/e4309476d96d42e0bf434d2fd17b0460 : SUCCESS in 15m 49s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/296ee6f3887d43c6bfc6d8906f73a7a1 : SUCCESS in 16m 47s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/d6176cb68e484c3f95a33b65ecf211fa : SUCCESS in 6m 15s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/41f8ab897d93489fb13457df18dd27e6 : FAILURE in 7m 53s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/be3e46b2027047d2bd67b6aaa351b0e3 : SUCCESS in 8m 24s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/830327dfaf14400da3e7ae26517f3736 : SUCCESS in 1h 00m 14s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/cc133766ee8f4857aaea32c1b1ecb163 : SUCCESS in 51m 05s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/a80358df34054a0caaf01d16ee70aa65 : SUCCESS in 56m 03s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/f3dc573ba3664b99b4f230166ccf480a : SUCCESS in 27m 56s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9f1f43042fc74bab84cd974e1c3f0429 : SUCCESS in 3m 50s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/0182eb372fb343fda9f9aca3fdade213 : SUCCESS in 18m 53s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f981b1acefcd484e939597b511e07572 : SUCCESS in 54m 04s\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-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-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-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":86},{"id":"8113a28b84c8e404c768e7e740ec89c50a38c586","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-09 23:53:06.000000000","message":"Uploaded patch set 87.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":87},{"id":"932557afc254cd9b1c531dcd1f7e1bf1496d89cd","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-10 01:01:25.000000000","message":"Patch Set 87: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/09e8bf3e2bdc410baa486c810471d9d5\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b5ea119a0e1d4056bf7263c0108a873d : SUCCESS in 11m 13s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/77cea90ca2674befb191c02a1279ca2b : SUCCESS in 9m 33s\n- grenade https://zuul.opendev.org/t/openstack/build/3bcde3c2aae649d098d4962fc1b6eb5f : SUCCESS in 1h 01m 49s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/d6789fdd5c0245dfb9c0ef0e9b6b8453 : SUCCESS in 30m 49s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/009df4396f5d45a6869887bf5884a03e : SUCCESS in 37m 13s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/b40ee2205a2b44f1a5715314745dd53e : FAILURE in 58m 31s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4034c0d2ba22491ea19bac68928acf35 : SUCCESS in 18m 59s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f346ac5b17fc473ab2ca26e6b5655e3d : SUCCESS in 12m 11s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/bd8022e8630d4cb1ba298888a80a0029 : SUCCESS in 10m 29s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/015a97af98084641a57a2fd8c38809ce : SUCCESS in 6m 44s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/e86fb743db95496cbbf05e84cee742a1 : SUCCESS in 25m 38s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/432872a2e26c4a4d891844a6162b7b97 : SUCCESS in 18m 07s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/19ccfd8d16ab442bbecb5e3d1364295f : SUCCESS in 19m 52s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/bc44ba21d67843bb89aacfcd14de1c6d : SUCCESS in 20m 53s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/6f6bdd8db96a4a4b8f9554032435f5b2 : SUCCESS in 14m 27s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/0cfb2caa502c4f4e9e9c549edc64311a : SUCCESS in 14m 31s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/b778e6d938e34011b5def84880cc0df4 : SUCCESS in 12m 46s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/98f3d75acef24047a89b20756aba6887 : SUCCESS in 17m 37s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/f9759d2d6a784a5b84b01429d79499d7 : SUCCESS in 5m 51s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/33f6dd5ef7a948eeba48ca615b39ea62 : FAILURE in 8m 01s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/d1a585e5cb0946bd98ce33fe48958cfe : SUCCESS in 8m 52s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/f9dc9bfb6c7d4700a597fd95ac3d7c40 : SUCCESS in 59m 06s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/58e35c2dfe914684a93ebaff32dfe625 : SUCCESS in 52m 48s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/4c253f4541154e2db33f2dd9aa9581ae : SUCCESS in 51m 27s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/3e1cfaa8f1ea48849fd37d58943e42f6 : SUCCESS in 13m 45s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ec715b962d004bb4bbebaf42fc4b58e7 : SUCCESS in 4m 13s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/7136e72daff8486c86d0fb34360dba7c : SUCCESS in 18m 23s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f4de945d64e1441d85d52722a4a20d64 : SUCCESS in 55m 41s\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-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-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-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":87},{"id":"e8ae67d8e0246efc80fcb936883e4b901095cc93","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-10 01:08:37.000000000","message":"Patch Set 87:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d60a605c480e4d54b6f45903ab4304c2\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/81cf9186906c426d8381bfcf78007805 : SUCCESS in 1h 13m 10s","accounts_in_message":[],"_revision_number":87},{"id":"6beb8672d82037259a6fc1bb23f34cf84be83293","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-08-10 11:36:43.000000000","message":"Patch Set 87:\n\n(1 comment)","accounts_in_message":[],"_revision_number":87},{"id":"b3f0325d98898ef10cafa16f01072afca6c0d941","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-10 12:43:30.000000000","message":"Patch Set 87:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/18bc9002dbb648b9800c6f22eb32ff51\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/12972446903e4fd488956e8de48b41fd : SUCCESS in 1h 06m 29s","accounts_in_message":[],"_revision_number":87},{"id":"b1a95fd9b5c3dd9afc23b69650032c73c6a4555f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-10 12:45:19.000000000","message":"Patch Set 87: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/11363f61bcd64646b895bbac2d7360bd\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d010ebc5293140c8be2fe66a1578dcae : SUCCESS in 10m 14s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/dfbcc4c30e4b4261ba89f307e8ad0e45 : SUCCESS in 8m 37s\n- grenade https://zuul.opendev.org/t/openstack/build/300bdc78f3af47d78fef17820d120f9e : SUCCESS in 1h 00m 19s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/d916724cb80e47409a8d05bfb39ec40e : SUCCESS in 36m 12s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/0ef532cfa7234e7f85ae76d82081f9e6 : SUCCESS in 32m 50s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/e377aacf421148808568e01cd84e1473 : FAILURE in 45m 15s (non-voting)\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5a192bca99bf43cc9743b66e13f52aa4 : SUCCESS in 21m 37s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d7baa45f0ec940d1811d48c3bee7ff6e : SUCCESS in 13m 37s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ef2831c528324911a1a6cb763467f058 : SUCCESS in 13m 54s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/9eea132cdc5c41a997a2612913ada498 : SUCCESS in 11m 56s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/f5d928a1ce464b4a9ab01df04871d626 : SUCCESS in 20m 39s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/c0583a97be40451fb625b4d5cf1c9d7a : SUCCESS in 24m 54s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/db5778f438d4432b9bda9f50b755baf5 : SUCCESS in 16m 00s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/9437e0d4112b46ac834984b802ec7281 : SUCCESS in 20m 55s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/51784d8ef8ce47b7b2bef88850bf559c : SUCCESS in 16m 31s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/12f1d82d270c45f79e4068fb2afe66c4 : SUCCESS in 15m 13s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/2effe5bbb9824bb48f8b022ef12bc83b : SUCCESS in 16m 10s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/503fc9f755b248a79b56fac53542b3b7 : SUCCESS in 17m 43s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/0a014996a48842b08836c3c6081cdd8e : SUCCESS in 8m 34s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/5eadfac49249422c99b79510f8da7d66 : FAILURE in 10m 39s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/3736f0ba397243408e2d18ba4e99d3f6 : SUCCESS in 8m 07s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/a631e883172a4bb592724c9dd6dd95ed : SUCCESS in 1h 03m 22s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/16d249bf880649fc9b622ba096d8e83e : SUCCESS in 56m 51s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/a966ce36cb824244a5cf718d7079d754 : SUCCESS in 54m 11s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/44c7609d49664a088f9242ebdda23359 : SUCCESS in 27m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/db833d55fde24bcba78eed5df4cb3303 : SUCCESS in 3m 05s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/96c5c3a9567f4d7ba0a6465eade8e57f : SUCCESS in 15m 50s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/34496721ddc6476a9b64d1f55677d360 : SUCCESS in 32m 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-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.\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-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.","accounts_in_message":[],"_revision_number":87},{"id":"4aedfa7f72f686fbeb303dbd4a062e26ba0d744f","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-08-10 16:59:30.000000000","message":"Patch Set 87:\n\n(18 comments)","accounts_in_message":[],"_revision_number":87},{"id":"0ba1b4deda92153b40dfa74e5e5b90380aa260ae","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-11 00:51:03.000000000","message":"Uploaded patch set 88.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":88},{"id":"d76b6068a8fab172f2186030fbc535bd8f4ffda8","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-11 01:02:48.000000000","message":"Uploaded patch set 89.","accounts_in_message":[],"_revision_number":89},{"id":"a45afcbc18484bf75bd5a2bfcf8c54771b701177","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-11 01:06:16.000000000","message":"Patch Set 89:\n\n(15 comments)","accounts_in_message":[],"_revision_number":89},{"id":"a5c494e9fb2539aeb1d797c0557d6d391acc79a0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-11 02:16:45.000000000","message":"Patch Set 89: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f1628c9a751e42feb9c8ee8dad656aa9\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e6fe3a687a7d455191b56eb71d706fa4 : SUCCESS in 5m 27s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/3cec0b2839cc44e3906b47b51353d135 : SUCCESS in 5m 50s\n- grenade https://zuul.opendev.org/t/openstack/build/1542ca0d622a41bc81b41a951a68da85 : SUCCESS in 1h 08m 17s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/ef8762610c6249fb8794f2bbb13d535b : SUCCESS in 45m 37s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/2f535a372b314726bd5f1213b2b55761 : SUCCESS in 37m 41s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/e420db5b966847b496615bed41b92c96 : SUCCESS in 41m 26s (non-voting)\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c761e47445054c97b709ad360ed4b118 : SUCCESS in 19m 33s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/7c2fbe44c2d8497b9c2a54c2e714fda7 : SUCCESS in 20m 21s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/bb643e108722496b8ed79fa90c151fa6 : SUCCESS in 15m 33s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/5c4a82b925f9443380ff6e2e5bfae8f4 : SUCCESS in 8m 12s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/8aef6e56eb5e4698a737bda5d7681151 : SUCCESS in 10m 24s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/5ca909e839584a208a7efaead077affa : SUCCESS in 10m 06s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/6552c9dd26ff445e8f17ae4175863f2b : SUCCESS in 11m 31s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/ac8d829557dc465bace4cd13f780c3e3 : SUCCESS in 18m 57s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/9cde3b08f71b4660b6179fe00b7aa523 : SUCCESS in 14m 21s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/217e8374c2f443d991b83cc8cf345682 : SUCCESS in 15m 29s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/17ec2a3e45a5494bb201eb82c6d4b031 : SUCCESS in 12m 16s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/45b5bad2e45b4d18a35df90d0ad9a57d : SUCCESS in 16m 43s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/477c53860ab54470b6bd9b203b37fc3e : SUCCESS in 10m 45s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/c281fff667334304a3719ed9f671e374 : FAILURE in 7m 33s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/7c10fc255b5747f88aa55f8b88773698 : SUCCESS in 8m 21s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/5a3e52d2373e45b9ad6bf302d7121a61 : SUCCESS in 58m 47s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/cc7dfcdb04754e49995997e2a9f3a727 : SUCCESS in 22m 49s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/f0684a5c136a41f7b0c75edf6ee56d33 : SUCCESS in 34m 31s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/cccde2e3f1984095b9d6cd3f6aa8a676 : SUCCESS in 19m 38s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/54e44ca88d3a4afcae41d90746571bac : SUCCESS in 4m 02s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/528b6e386d714700ac717e0ed37c4be7 : SUCCESS in 18m 06s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/32b86f325f4e4c5c81b939528dc40b73 : SUCCESS in 59m 04s\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-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-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-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":89},{"id":"beab39e01ef9c3f520525c2a0a85ae9f80787638","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-11 02:22:30.000000000","message":"Patch Set 89:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e013343439564e5592eddca498856a11\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/2ce44c2665234782a9bd2eb2828cf16b : SUCCESS in 1h 17m 12s","accounts_in_message":[],"_revision_number":89},{"id":"ae3cd1c8faffeb36634f6ccf0cb58f460d9a1cf8","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-08-11 13:42:10.000000000","message":"Patch Set 89: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":89},{"id":"0fb1488ff44d7f17b94f849522dd844307517003","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-11 15:58:45.000000000","message":"Uploaded patch set 90.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":90},{"id":"c43e33e36ab46d3d31001b91ab9b2a64bbd54057","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-11 15:59:03.000000000","message":"Patch Set 90:\n\n(1 comment)","accounts_in_message":[],"_revision_number":90},{"id":"26b9238fc9a59406fc149c8fc323a2443c0c1e73","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-08-11 17:04:46.000000000","message":"Patch Set 89:\n\n(12 comments)","accounts_in_message":[],"_revision_number":89},{"id":"aa0a4b5a53a68a7495af5514e656575e08ce2531","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-11 17:10:14.000000000","message":"Patch Set 90:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ab34ceec8b3a4229af3a5bf80c15ed3a\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/f3104dfe42a34b98a052d441fd92d43d : SUCCESS in 1h 08m 44s","accounts_in_message":[],"_revision_number":90},{"id":"2f8f6fb08c4965253acb705a506228636e3b3f47","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-11 17:11:01.000000000","message":"Patch Set 90: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/510595e7febd4efa832289f758f63573\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d5d42c5ed6cc4f9585547daa2d4b0e87 : SUCCESS in 9m 45s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b466193615524510bf1762ecae74e36e : SUCCESS in 5m 58s\n- grenade https://zuul.opendev.org/t/openstack/build/11b0f070d912471eb61c21ea9819e657 : SUCCESS in 31m 33s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/751a9d5a345d4385b059524ed036dba5 : SUCCESS in 1h 05m 56s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/4b13fb77615a481384118db89a095560 : SUCCESS in 53m 21s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/d874698c2e134cd4982834ec7d74b8e8 : SUCCESS in 35m 07s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/aadb04cb4d124429b91a870f02e6b5ba : SUCCESS in 20m 40s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e888db4ea5f34607987eb3a20d1ac8ac : SUCCESS in 15m 24s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0fd48af94b204354a0ac4b4f6490880b : SUCCESS in 23m 31s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/7333ea66be8546fabf6e4ca61278e4a4 : SUCCESS in 6m 35s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/498378d9f16c4914b77ee44099acb2d1 : SUCCESS in 15m 32s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/1b57fc30631144a8a0957bd4daa6a409 : SUCCESS in 13m 17s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/61ac5c9c324e4bd7b74b9026a4639e85 : SUCCESS in 16m 44s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/992b884447ed48049ba8ce5f43934573 : SUCCESS in 22m 17s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/f8daf81fa3b84aecaa5d0b724ddaefce : SUCCESS in 15m 25s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/046b75f803ac4dd4aa56ef6300bba89b : SUCCESS in 16m 08s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/6abd20ec20cb48d5919dae87add42b48 : SUCCESS in 10m 57s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/883e33352f8f4dffaca4e4971b85dca4 : SUCCESS in 17m 31s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/8760ad5111644368a545b960e59778ce : SUCCESS in 4m 56s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/2296d692a5bd4108afb69520e643d1d5 : FAILURE in 7m 07s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/55376008ba95425bb2b4d8599295e2fd : SUCCESS in 9m 11s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/986d18851d8b4aabb3bbd3e354e3e803 : SUCCESS in 1h 02m 14s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/c0b9cc18e47c498796f6438d22decfae : SUCCESS in 53m 14s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/66fffe9bc82247f3b417d225048252f7 : SUCCESS in 48m 57s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/e47e5a8020984ebba11ceea25a936977 : SUCCESS in 33m 44s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/81d25d3d285c417bac4e24c3ae8163ea : SUCCESS in 4m 15s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/20f29cd8c6de487297175bf0603ec4b9 : SUCCESS in 20m 01s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b855ca5dc4bd4fa58e570387bd120057 : SUCCESS in 33m 35s\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":90},{"id":"385de76840867e04deca3fc9fe6fc3b1e098763b","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-11 18:17:44.000000000","message":"Topic set to s3-checksum-persistence","accounts_in_message":[],"_revision_number":90},{"id":"0fddb9372577747b685986ac2c5c634396f2838e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-12 01:25:12.000000000","message":"Uploaded patch set 91.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":91},{"id":"c5ef7a3e3f42c4c2c081ba3fd2d775df4c36b2a2","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-12 01:33:28.000000000","message":"Patch Set 91:\n\n(12 comments)","accounts_in_message":[],"_revision_number":91},{"id":"def90498db0528d690bd6d2257738471d27d010e","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-12 01:37:20.000000000","message":"Patch Set 91:\n\n(2 comments)","accounts_in_message":[],"_revision_number":91},{"id":"05a88ab97156257fcb1a560e7b6536cdba8931c2","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-12 02:13:16.000000000","message":"Patch Set 91:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ff9bd6ac02dc474c9e135e017bf33c9b\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/d0c3e204ca184c29bf3f15ab4598ab4d : FAILURE in 46m 13s","accounts_in_message":[],"_revision_number":91},{"id":"68b9180e6a4508e9c4848d26437bf6aa94c6b6a4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-12 02:32:13.000000000","message":"Patch Set 91: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/dee50047545b499da805719a9103f07f\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8c0581bfd3b04d67a64962b514c62ce5 : SUCCESS in 10m 24s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/88071d6230dc448c81a2254bdf58de5b : SUCCESS in 5m 33s\n- grenade https://zuul.opendev.org/t/openstack/build/91884bb83b304dc0acc270ca93e5a2c5 : SUCCESS in 29m 34s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/227ec8becb98453ca7e3bee55b12bbbc : SUCCESS in 45m 54s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/430b883a3c5d4a48a5ef67817549ae29 : SUCCESS in 57m 10s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/27d03dc180354ff39b36296afce62dcd : SUCCESS in 42m 25s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5f6a3cc3365f491ea87e5578a8534a34 : SUCCESS in 19m 49s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c78deb0a738844e2b8a76523148186eb : SUCCESS in 18m 31s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f0a20f8a17dc4ded939275b650f0988c : SUCCESS in 20m 08s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/124068fae2a84a458001ee7e201f6937 : SUCCESS in 6m 15s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/df6b49ca6b05420395e3a495d751d322 : FAILURE in 16m 43s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/ee057c5f359d4db2a674cc5b5e934656 : FAILURE in 20m 51s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/f7005965bc0d49cc8cb28fe0e4e03308 : FAILURE in 30m 00s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/14a5f994747d4f03b1e8b126e1d039e7 : FAILURE in 21m 21s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/d818ab8990a043a392869b1b57c9942e : SUCCESS in 13m 14s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/7d02c4ef658f420cb77938de775ef16f : SUCCESS in 9m 03s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/6438edc67c9341f1be20d315273e8622 : SUCCESS in 15m 54s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/4a5d56620d704664ab4a78bf5b9e5fbc : SUCCESS in 9m 08s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/8343437778884823b4c109eaef07f350 : SUCCESS in 5m 58s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/9772faf91158418cb5d0de36391d4d59 : FAILURE in 7m 11s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/6813656d996744a29833f9c8ba08599d : SUCCESS in 8m 54s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/0c801fd6cc10427781d983cf4650e42b : SUCCESS in 1h 01m 50s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/2f8b88257cdc4a6a919dd9605ebc6228 : SUCCESS in 22m 47s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/98d4f9167ce345e088c458f033253de7 : SUCCESS in 22m 55s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/1c68349a5d0c422eb89f47808b9b4852 : FAILURE in 13m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f5c0a2b1a78f4b4eb2e4848c7fda614f : SUCCESS in 3m 55s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/79bd6f6e290347d9be906ba818f1d162 : SUCCESS in 8m 42s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f8f3e5ab907d4fb98029459df71e59c7 : SUCCESS in 57m 24s\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-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.\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.","accounts_in_message":[],"_revision_number":91},{"id":"8d57554d292dadb6fc744f48137050e1cba52ce8","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-12 06:05:16.000000000","message":"Uploaded patch set 92.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":92},{"id":"c74ab94bbfc973233b6c90d477ba552bc098e909","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-12 07:20:56.000000000","message":"Patch Set 92: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/41b7c1d471fb423cbf1ebe66c7c289a9\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c3f3beec15054755a1b7cf6b854ab2f1 : SUCCESS in 8m 04s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ef053f76fcf24fb1b01833fc5e246101 : SUCCESS in 8m 49s\n- grenade https://zuul.opendev.org/t/openstack/build/817552938c074f07967012e58093e8a2 : SUCCESS in 1h 02m 13s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/b085c0f8a74a4516a557ce711047e192 : SUCCESS in 1h 09m 29s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/446d9cf0310b4c62bfb8b0425366e21d : SUCCESS in 53m 29s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/22dca3570f1e4583abadb9926e91e107 : SUCCESS in 45m 05s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/883332ae3c684ba08e8da8e348ca97e6 : SUCCESS in 11m 48s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d24ebca1c14e4b79b505aaa5051c0b0b : SUCCESS in 19m 39s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/9d76e03bf04a4c358b696c0d27775fde : SUCCESS in 20m 13s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/9e306234bc7c4c0c87ff04c552f90087 : SUCCESS in 4m 57s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/bd57c6b011934920bcc081301f6ddb66 : SUCCESS in 25m 12s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/c44551297c7641ab844ed7ad9c0b05a3 : SUCCESS in 20m 10s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/f3c29e3cbb134890bc2e7678573d3815 : SUCCESS in 32m 30s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/77cb190c30034d108c95d08d9cc6dd9c : SUCCESS in 21m 35s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/387929d61efc4adb95f956f87499499d : SUCCESS in 16m 04s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/9ae37366072b4b7396cc462377e29710 : SUCCESS in 14m 53s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/ec6eb36f28ef49398f1873181c340282 : SUCCESS in 15m 05s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/cce6eb6578664b33a335ea0ea6018ff6 : SUCCESS in 19m 06s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/0eb3b8123e88422d992a391fd5a8bbad : SUCCESS in 6m 14s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/bf8d23624728405389bc237fe3ea7bcc : FAILURE in 7m 52s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/a21347a844114770bea226748c8fe700 : SUCCESS in 5m 53s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/7cf282023fc34ab9b0382d4d2a5e2c22 : SUCCESS in 57m 43s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/e1e49584b1054ec0ac989640ab02831d : SUCCESS in 26m 51s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/bf011d6c29954611aa709ae16f5aa388 : SUCCESS in 23m 57s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/d20505b295f84f60b6805bd28a961e38 : SUCCESS in 29m 33s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a06828b95fdf442d8f0dfa6078040bc0 : SUCCESS in 2m 49s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/dc3b5592fe5f45f5a628499f7fc1e1e5 : SUCCESS in 19m 47s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/a95063610f2140c0a24e25034fa1fd5a : SUCCESS in 26m 37s\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-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.\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.","accounts_in_message":[],"_revision_number":92},{"id":"dbfffa40b635a5efb0be8119974a3d6aa3522f4f","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-12 07:36:02.000000000","message":"Patch Set 92:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/32d793348a864bd78aee77e8a0ddbf7b\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/a83d7d96644245aba990ffac4845c435 : SUCCESS in 1h 28m 19s","accounts_in_message":[],"_revision_number":92},{"id":"be0b03b9d892243685506a1483fdf8bfbc904f74","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-08-12 16:06:26.000000000","message":"Patch Set 92:\n\n(26 comments)","accounts_in_message":[],"_revision_number":92},{"id":"587fba2cba11a1b955733c7d612587177ea4babb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-13 01:16:55.000000000","message":"Uploaded patch set 93.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":93},{"id":"7c1846e16387106b661b43dd9c2919d8ca460721","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-13 01:17:17.000000000","message":"Patch Set 93:\n\n(16 comments)","accounts_in_message":[],"_revision_number":93},{"id":"eb4ff861e36b482c3709e329ddc204bb2ba75b55","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-13 01:18:56.000000000","message":"Patch Set 93:\n\n(1 comment)","accounts_in_message":[],"_revision_number":93},{"id":"bc2409bca81cd23ba3552a0cfbb4a366e1a89c3b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-13 02:26:08.000000000","message":"Patch Set 93: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/230dc48aa1cf45dda50de14438655631\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/486d239f0c4f4d00b99fc9ba209ac680 : SUCCESS in 11m 03s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f6caba85e1aa437ead272b74feaf8da0 : SUCCESS in 4m 00s\n- grenade https://zuul.opendev.org/t/openstack/build/0455a35f41da41c6940d573055bcfd2d : SUCCESS in 47m 18s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/19efae23cbcb4f27a41e1b499f36f313 : SUCCESS in 41m 37s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/bac2d7976a964054812fa05f0666cf69 : SUCCESS in 54m 31s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/91a4a2c7f9e74a3898b5035409cb84ca : SUCCESS in 59m 01s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/9b77fd185e2845b7ad325a61e7eac433 : SUCCESS in 20m 25s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d29e81b60a10448fbac83298146736fa : SUCCESS in 19m 43s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e5b7b70ede3247dd98da567fb3e79a99 : SUCCESS in 21m 36s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/228f0dfec0bd40c394e2b6f8eea48184 : SUCCESS in 5m 57s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/2fef24ac9f304726abd4404e3ba179e3 : SUCCESS in 25m 20s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/34a0cf4d2b914476a3d1c26efa8968c5 : SUCCESS in 21m 52s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/00c5c43e39f94cb58fb90a83f427c64b : SUCCESS in 31m 45s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/3460012b86bc472087149f330225ebea : SUCCESS in 14m 06s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/3a2f9306e2664aff8d1bd75ea6935987 : SUCCESS in 15m 13s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/17588c9b1e76442f97d36d5c50821239 : SUCCESS in 9m 09s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/33ff244fe2b743c0ae3508b63f744ba8 : SUCCESS in 16m 31s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/ebda8c39c6494b63810a56825b08a194 : SUCCESS in 13m 47s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/8f38df39afd64e2c948569c2da863bd2 : SUCCESS in 5m 54s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/50c6afe7ef194375b035d77b7fbd2f9a : FAILURE in 6m 50s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/8e12fc4958bd4eb88e9bc01d89c21e96 : SUCCESS in 8m 49s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/29b4a35cfe704ad6820429c6afcaa742 : SUCCESS in 1h 01m 25s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/37504febaf4840d392c3d5b0be0cd77e : SUCCESS in 35m 18s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/4408cf52dc7542aea6b6d04be4498b06 : SUCCESS in 52m 20s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/213c55c8fb6c4e67a64fabda5b6206e9 : SUCCESS in 10m 43s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6bf2904f57f64e3b89fff8b532fe5a16 : SUCCESS in 4m 10s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/40e067b7e57b468dabafa4de61b8e162 : SUCCESS in 15m 58s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/2c0c80b2bc87491fad83525485047253 : SUCCESS in 28m 48s\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-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.\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.","accounts_in_message":[],"_revision_number":93},{"id":"1fe0653b4508767d65c37d4d4710df2bd102622a","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-13 02:38:09.000000000","message":"Patch Set 93:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5f35d28d6c3240d4b30291c86260bf39\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/f331d56c4eae4924b76226dd5eea9742 : SUCCESS in 1h 18m 43s","accounts_in_message":[],"_revision_number":93},{"id":"5c088400f7f645e4903a28581405d46f30ff288e","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-08-13 16:37:29.000000000","message":"Patch Set 93:\n\n(6 comments)","accounts_in_message":[],"_revision_number":93},{"id":"9e08296463c839ce65222e3e2c1f58f9034aa1a7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-13 23:40:42.000000000","message":"Uploaded patch set 94.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":94},{"id":"10549e86d6d3089d9b2b2cd1f6887275fb5f8971","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-13 23:44:06.000000000","message":"Patch Set 94:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/270ced6e4a9a4fe3b649a2f56a3d9ae7\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/a817de922e174ecca04e8ba39e74e81d : NODE_FAILURE Node(set) request 7792de69ff55438291b05cbbe4142eb8 failed in 0s","accounts_in_message":[],"_revision_number":94},{"id":"3e05b45c3062aeed117e41f50c3cdb33487a532d","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-13 23:44:17.000000000","message":"Patch Set 94:\n\n(8 comments)","accounts_in_message":[],"_revision_number":94},{"id":"bfc1e3bccce1089567dda3bed44806b9977891a8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-14 00:49:34.000000000","message":"Patch Set 94: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/017ea08ff5954ab7973a14da6b10761c\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/68e7cb330b4b4ae2be8805dc0e15d2e1 : SUCCESS in 9m 59s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1598313b34f44a899c284227023de3b9 : SUCCESS in 9m 02s\n- grenade https://zuul.opendev.org/t/openstack/build/dd28bffd68784decbd71b0bd9f55596b : SUCCESS in 1h 03m 16s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/31183591e5fd4b9680b5b79913fa8e79 : SUCCESS in 30m 44s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/93337ef4a8d741398276dce1a84776e9 : SUCCESS in 47m 50s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/a63da789a5b74e749cbc7263d75c1868 : SUCCESS in 32m 56s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d46b54bcaf8d40daa63103c33fec68d0 : SUCCESS in 19m 12s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/73f42efa2b904cbfbf057551c7b47c59 : SUCCESS in 17m 36s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e4bb732d20124fe89c6385d45711030b : SUCCESS in 21m 13s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/0bd84d62a0bd41a9a787fc62f5d5f4ce : SUCCESS in 4m 50s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/0140e7a297e348c9923f300fa990288f : SUCCESS in 23m 55s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/a4ecf3805f984dc5804774276974c986 : SUCCESS in 9m 01s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/9bc9b82d5be941b9916b5bd357423dc2 : SUCCESS in 11m 33s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/8238e79dafd64d2c96588572da8c833a : SUCCESS in 22m 59s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/99a3b877b3c44ddeafd80a83e774e7d1 : SUCCESS in 8m 20s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/20b1ee0696124139bb660c06ed387848 : SUCCESS in 8m 15s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/04baf1b1d59f4e468848adc023755f3b : SUCCESS in 9m 42s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/448f97fcdb57474f852f00d3d1b4393d : SUCCESS in 17m 25s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/a6c8f3c39f374245962c718866614a21 : SUCCESS in 5m 14s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/2d1119d41c534db3bbcc2965de5f05c2 : FAILURE in 7m 25s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/2c6a726188dc43e1b7c33573c1e33ef5 : SUCCESS in 8m 24s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/b8e0aa6e549f409a8b36fd9cde9633cb : SUCCESS in 45m 34s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/54520082485d4d9ba1ba2c919ca7be87 : SUCCESS in 51m 49s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/b1d2d901dd8742799b3418d015b355f5 : SUCCESS in 54m 02s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/7dd7af5623f546e48b26851c71936b29 : SUCCESS in 19m 57s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d2749cfd4f374910a62b8c3d1c9722df : SUCCESS in 3m 52s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/21a9ca5cebd4479bb051bb12588992b9 : SUCCESS in 15m 43s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/bdb8525debe149199b6767f519cef889 : SUCCESS in 56m 42s\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-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.\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.","accounts_in_message":[],"_revision_number":94},{"id":"78252a5289684d5435216957464d52ad9239fd41","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-08-14 14:35:38.000000000","message":"Patch Set 94:\n\n(26 comments)","accounts_in_message":[],"_revision_number":94},{"id":"752a457d201f9340308461abf4617001837e1b03","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-14 22:41:03.000000000","message":"Uploaded patch set 95.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":95},{"id":"2c9f758a650e1c43e6f7a25ec28acfe17ffc33f0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-14 23:08:13.000000000","message":"Uploaded patch set 96.","accounts_in_message":[],"_revision_number":96},{"id":"cef56ee55508854a15fafd0a01fbca848840e228","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-14 23:43:24.000000000","message":"Uploaded patch set 97.","accounts_in_message":[],"_revision_number":97},{"id":"010621ef8337f9eae1cb8e1ddaebffafe261c28b","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-14 23:44:06.000000000","message":"Patch Set 97:\n\n(7 comments)","accounts_in_message":[],"_revision_number":97},{"id":"50cc5e40e9730777530ac67b031b08e5e1456043","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-15 00:50:30.000000000","message":"Patch Set 97:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/11cb06425a2a4164b5925f6dc7cc9666\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/e87747ecfa0d4f74852a2ad25c598f95 : SUCCESS in 1h 04m 36s","accounts_in_message":[],"_revision_number":97},{"id":"fd2e8561e8d6018292a193de37ee11bc8b48fc3e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-15 01:01:51.000000000","message":"Patch Set 97: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e734241d64874dc6b8382805583b33b7\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ad63b509f1fc4c33b2edf0e4d4860421 : SUCCESS in 8m 07s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b2e8680f7bcc467aa961db31f5a851b3 : SUCCESS in 9m 14s\n- grenade https://zuul.opendev.org/t/openstack/build/9b1670a35b294bddab08d678ac862842 : SUCCESS in 1h 01m 45s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/e1b0b992131a4eca83b0ddf1046f16d3 : SUCCESS in 1h 07m 18s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/bf976908910b4f008ae91c0577a999c9 : SUCCESS in 1h 00m 21s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/e2b6fb3537e84fae9873c9c4ecf42be7 : SUCCESS in 40m 12s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/362411adc6ec4d57b8f7e2eafe25ca64 : SUCCESS in 10m 14s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/73824b1e19a24a3bb87426a86b1622f7 : SUCCESS in 10m 32s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b9a545b2dea044c68562a6427d57d20a : SUCCESS in 10m 21s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/53b53dc698034cae93ba33145d2de46a : SUCCESS in 6m 18s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/bcf656c70af843d9a3c609fa07417722 : SUCCESS in 20m 33s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/d68c512aac124a05bad5521436945e44 : SUCCESS in 8m 57s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/5c68a643451d4c95b75875cbf8c2e0ea : SUCCESS in 14m 20s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/0038360117c24fd4b2bc80bba0d126f5 : SUCCESS in 11m 10s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/5c57515071d74911ad81ab0fcba9d5ba : SUCCESS in 14m 52s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/fb762883e8b442ce94cd5d47e7db1f5d : SUCCESS in 13m 01s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/cc0ea20d1e814b67885a58083b38b9a3 : SUCCESS in 8m 14s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/0154985ba7cc46928700f038544d53b8 : SUCCESS in 16m 33s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/fd8e22afcd4a4cd2bf8a4af77fff54ad : SUCCESS in 6m 11s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/d1c3d9d415de4ebdb7161e7b78642e9c : FAILURE in 7m 23s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/37a25be05fd8455e81072aea35895447 : SUCCESS in 9m 00s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/2c20f8244fd74d55a89a8904723f301c : SUCCESS in 36m 01s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/a3700cbedafa42fdbfc8742e47f67051 : SUCCESS in 52m 28s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/08076224305b4a5681c20d068d60da94 : SUCCESS in 28m 27s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/ee13ac1e8ca548d88734cf4f46e68e93 : SUCCESS in 28m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9e97dd324cc4457ab5b7fae9a4e97417 : SUCCESS in 4m 57s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/ce3fb9872b164ce9964b6932d6c807e1 : SUCCESS in 10m 02s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/8b44ba9cfe1f47dcb30dd87dc9793ac7 : SUCCESS in 1h 11m 37s\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":97},{"id":"ffeef0ac8aaf250246ff7c8a8fd06ea8dbe46fee","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-17 15:10:11.000000000","message":"Uploaded patch set 98.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":98},{"id":"86ec044b89b13c3ed5b751e7f46fe39a7386d858","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-17 15:16:54.000000000","message":"Patch Set 98:\n\n(1 comment)","accounts_in_message":[],"_revision_number":98},{"id":"831676e8a2c5d83317d1cd207585bc32c30a85ca","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-17 15:36:54.000000000","message":"Patch Set 98:\n\n(1 comment)","accounts_in_message":[],"_revision_number":98},{"id":"006a8510f861d81a14ea6c518d3342a7032a7716","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-17 16:20:05.000000000","message":"Patch Set 98:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7d8f5b8c1d6947a7bf44dc48f9b0b44e\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/b3ef132718be45e498d46f7b1bf16d81 : SUCCESS in 44m 08s","accounts_in_message":[],"_revision_number":98},{"id":"010f305232c2765faa22716b4a10762c8d213603","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-17 16:23:27.000000000","message":"Patch Set 98: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/581956474ee141df9b54aa95f180b09a\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/39942f895620438c9548f6915ee4fccd : SUCCESS in 14m 40s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ce56b211ea4a40699f79dc75b19d9c82 : SUCCESS in 8m 51s\n- grenade https://zuul.opendev.org/t/openstack/build/a87ce6e551184c2c9e1e02b1df08350a : SUCCESS in 54m 46s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/efcdb9d2eab94571b1e554dc74f7336b : SUCCESS in 1h 05m 30s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/8848eb561b23480ea89459e0f41a2072 : SUCCESS in 49m 29s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/a6ccc7cd4b334895ac204f0ec913e172 : SUCCESS in 1h 02m 59s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1f29c170b7354e4d870506153bf431cd : SUCCESS in 11m 43s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/56f1485da5694b839084d2afbcc4b69d : SUCCESS in 19m 46s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/3a3e2e9b21594f0a9fd57f9d58d148cc : SUCCESS in 20m 13s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/52ec5454eed5484bbe7a4a660b30d56d : SUCCESS in 6m 35s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/e507591838b14162a29939a4da3dd2a7 : SUCCESS in 25m 45s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/08619b24c4f84d9f915168fc527527f2 : SUCCESS in 17m 52s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/dd7be74f1bc64d91b7d3dafa734c921a : SUCCESS in 35m 40s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/a176a39c678e49c191b18f3b80783e8e : SUCCESS in 22m 23s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/9ec8d89bcf1145c2bebb634961486749 : SUCCESS in 12m 13s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/06538e748dff4e48bb44140c7b0b9826 : SUCCESS in 10m 23s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/3f101591a9dc4287aa0677387e72ea6c : SUCCESS in 18m 02s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/b2cfe8b90bf64bdbbc9c1bbd665d20dc : SUCCESS in 17m 22s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/ca04f1a9a6f64d479761ea973c8fd870 : SUCCESS in 4m 49s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/4378fa862bb44a539b2b6b8440eeab81 : FAILURE in 5m 24s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/078d020704b744eab5760cea77d88762 : SUCCESS in 10m 47s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/c6f151ff196740cbb9f68c69a1bec3c5 : SUCCESS in 51m 00s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/debf1008955c4effa984a727921d4ab1 : SUCCESS in 1h 06m 32s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/07c55222aa064ef29139ca86f5916147 : SUCCESS in 53m 51s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/8f2a057d17a84d349a4a202bd20011a7 : SUCCESS in 29m 16s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fdf469835cf34922b7b0742f9f15e8c4 : SUCCESS in 4m 21s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/26e4b0d56a6b4a4093f8afe0b5fab268 : SUCCESS in 22m 03s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/a1a1631c4daf4716bd20f165be887061 : SUCCESS in 40m 51s\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-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.\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.","accounts_in_message":[],"_revision_number":98},{"id":"631c414471bcfdc40e9dbadd784e59fb07340166","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-08-18 14:49:44.000000000","message":"Patch Set 98: Code-Review-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":98},{"id":"586820f611a9f8aa1f45c9b0903b0f452387bfd5","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-18 17:12:19.000000000","message":"Patch Set 98:\n\n(2 comments)","accounts_in_message":[],"_revision_number":98},{"id":"84a83ad1ba84b82ce801a37c60d7eed61c8b9d2a","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-18 17:15:28.000000000","message":"Patch Set 98:\n\n(1 comment)","accounts_in_message":[],"_revision_number":98},{"id":"2efae17005aba06000b9f80d78a4a43d8c106eff","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-18 18:52:45.000000000","message":"Uploaded patch set 99.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":99},{"id":"fc3080b1bd67d9d42e4e10b772455e9b3d54c2fb","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-18 19:58:07.000000000","message":"Patch Set 99:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/18a23e9f264640409808f2a172c4185a\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/e720584815964cd1b0dd97c4fdf3a98c : SUCCESS in 1h 01m 20s","accounts_in_message":[],"_revision_number":99},{"id":"3d58cac18ccb0fabcee089ed314e22b41c1ed504","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-18 20:15:25.000000000","message":"Patch Set 99: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c52e4111e3ae4d768c8566b448efa4f4\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a7c534a9a64e483aa2a63b44ae69ef0a : SUCCESS in 11m 34s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9efdff5cea124c828f245bda451018f2 : SUCCESS in 8m 08s\n- grenade https://zuul.opendev.org/t/openstack/build/e7d649f825c94d4c9ad741b57f08cc77 : SUCCESS in 50m 18s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/e502b51f7ffc48619c115bde2d716358 : SUCCESS in 1h 02m 32s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/09a55e47dd234fb58a5ca54eabf09037 : SUCCESS in 51m 31s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/cde5cfa724564383b153af3f49f3fc99 : SUCCESS in 1h 01m 58s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/8e8168cd8efa4276b0fca4be6e528e03 : SUCCESS in 20m 54s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/a31d0b3fbea04607aeca7730b8553f5a : SUCCESS in 19m 48s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/82540c5ae3c5401f8c6ddaf52ebf1d08 : SUCCESS in 12m 39s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/8a957a2468f14b9b849b60964069b28b : SUCCESS in 7m 37s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/8e37518221784f43a54836f880c902af : SUCCESS in 11m 50s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/3c58581783ed45bdace6a3fb80400cd7 : SUCCESS in 17m 09s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/a1e7998d5f264a8ca1b45dd54d283774 : SUCCESS in 21m 54s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/56daa0372b83405e8f0b276af40f6cc4 : SUCCESS in 10m 53s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/4e318fb635784ec3b1a1610328f711c7 : SUCCESS in 15m 03s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/728de9d94d684c28962641d2f176f340 : SUCCESS in 14m 23s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/6e232c1d2c1e4108a8e4a39ef95ebcbd : SUCCESS in 9m 34s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/150f3553f9764d0fa448de632c486827 : SUCCESS in 17m 30s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/dd30e0eb02b34042b781b156f62ee0ff : SUCCESS in 6m 43s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/6afe8218422e4effa035dadd3ab1d4b5 : FAILURE in 4m 33s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/1bb797832e1947ffb9226162d634203b : SUCCESS in 7m 11s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/0e69a43449214d30b607bd5fb087bc65 : SUCCESS in 49m 09s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/7b59812dd5054ab990ae388beba12730 : SUCCESS in 55m 01s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/bf9a0de73df6468388bca723251fefdb : SUCCESS in 56m 51s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a49a0c66829b4ddf88fb01b541a9d032 : SUCCESS in 30m 38s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ec2becf71daa4287883bad4c7c54c2ee : SUCCESS in 5m 20s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/2741f7930d7b47ab9798b53da9adfdb1 : SUCCESS in 20m 48s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/1ae418936f66404e9782e8aac97c36ac : SUCCESS in 1h 15m 23s\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-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.\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.","accounts_in_message":[],"_revision_number":99},{"id":"5896003b649e6b32eef3dfe1c3b5f671629fc36e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-18 21:44:13.000000000","message":"Uploaded patch set 100.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":100},{"id":"02a98a16c7da01f9991a0dbae95ef7c2f04b7563","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-18 22:28:32.000000000","message":"Patch Set 100:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/140fa39e772c4b32b03af8ecbfe5e69f\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/92bee39cda8446b694c6e69d4f365353 : SUCCESS in 42m 36s","accounts_in_message":[],"_revision_number":100},{"id":"df22e25f7fe6ec926f23e41090cbf1d9527e9c8b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-18 22:32:30.000000000","message":"Uploaded patch set 101.","accounts_in_message":[],"_revision_number":101},{"id":"cbdf64d16d7cfed8b1681eed2dd57f45eed8f672","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-18 22:41:53.000000000","message":"Patch Set 101:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3967680e5d514648ad86e8275ce712c4\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/b3d4672214464c80b04c130ad74f09a7 : FAILURE in 7m 11s","accounts_in_message":[],"_revision_number":101},{"id":"05d43b7815da26252cb704d9a6679addfa90d354","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-18 23:46:44.000000000","message":"Uploaded patch set 102.","accounts_in_message":[],"_revision_number":102},{"id":"06039f4d50c729a3849723057bd92f8c99efea8d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-18 23:51:19.000000000","message":"Uploaded patch set 103.","accounts_in_message":[],"_revision_number":103},{"id":"6e58b90181e62f4c9ddb36bc77a60a980def9f2d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-18 23:51:47.000000000","message":"Patch Set 104: Patch Set 103 was rebased","accounts_in_message":[],"_revision_number":104},{"id":"bb2d8157857e22cc4185df73cb209ffbcca293c6","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-19 00:01:58.000000000","message":"Patch Set 104:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/67942f33d9fa4df2ae369b271cd938f7\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/9d58c51dcd7c4c308e0abaad37c5a16e : FAILURE in 8m 41s","accounts_in_message":[],"_revision_number":104},{"id":"0d760a211129c848b1debbeaaa059c7db18b30e4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-19 01:01:29.000000000","message":"Patch Set 104: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/51b04bdbcc2a47ce92280d6476017f89\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1ca62cbce81b4a77b1e75590eadd2061 : SUCCESS in 10m 14s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1bf375c2158c4f9e8a9d0caeb699851d : SUCCESS in 9m 31s\n- grenade https://zuul.opendev.org/t/openstack/build/001aa9a146b64d6dad0b02194b21d926 : SUCCESS in 1h 04m 32s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/f17f856aebf543d29d6aad6424609068 : SUCCESS in 1h 03m 41s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/b68f1dc3e54c4ef399da29f394e7436a : SUCCESS in 50m 20s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/3b45767bb7ce4b0e84d0dd3cc27f6f94 : SUCCESS in 1h 01m 00s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b66b6331fdbd4fbd9c989291b3e6bc04 : SUCCESS in 16m 05s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e6370ee6f79b4714ac2e7655d7a7ab4c : SUCCESS in 15m 31s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/8736aa41cadd422f868e480a6e597a57 : SUCCESS in 17m 52s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/4a7af8036ef64770b7c61060cf657f31 : SUCCESS in 6m 34s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/1d75116e212f4facba0cb60ca3d8618b : SUCCESS in 26m 55s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/94c0e6666bd54668b2bbf940297fa238 : SUCCESS in 22m 51s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/1fe6c9b9f7c342608b2f109de741cf39 : SUCCESS in 35m 20s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/3fc77b4d107042bd8dd466f98c090200 : SUCCESS in 20m 33s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/1891c14c6dca4087b0ba568391ea0dd9 : SUCCESS in 15m 45s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/3ebef8539d5348f4b17eebf49e12d077 : SUCCESS in 13m 36s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/1a66dd6e7ae04d90a9b18ff6cb422f08 : SUCCESS in 8m 33s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/39aed5ce81cc4a569e40ac269cd8dfe2 : SUCCESS in 10m 21s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/832577a9f5bd4da4ab6eb050a562a999 : SUCCESS in 6m 12s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/f3835a84a7884f0186e9f2d8c6415015 : FAILURE in 7m 35s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/caa26436573f4225ba6011eb3b6983cb : SUCCESS in 9m 51s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/3fe269587724464d926e91decb30a571 : SUCCESS in 50m 57s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/357eff262c95479bae5b938860bc20ab : SUCCESS in 35m 44s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/f926410510eb4c5688b3e1b38461663e : SUCCESS in 53m 29s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/6c2320bc9bdd41dab8f33117b2dd330e : SUCCESS in 22m 42s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b7fe44c0f894490f8a19e37d629dd386 : SUCCESS in 5m 19s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/7bc846de4eb24d8182d410910237a1ff : SUCCESS in 20m 07s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/da015a3cd6de4c15a21ce0916901f2cf : SUCCESS in 1h 03m 35s\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-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.\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.","accounts_in_message":[],"_revision_number":104},{"id":"b566a25026cd063a76db8aa85d9fc0b69af296b9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-19 22:49:24.000000000","message":"Uploaded patch set 105.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":105},{"id":"ba1f15c045dc35c9169ebf1122da1b6e1fb0867e","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-19 23:49:24.000000000","message":"Patch Set 105:\n\n(35 comments)","accounts_in_message":[],"_revision_number":105},{"id":"3cb1deb7a746ec8d85b40a8e68fad466a35a4779","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-19 23:53:10.000000000","message":"Patch Set 105:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1ee4bfe3e1d24e2dbe8ac36d43760d66\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/362bbd91f737402b9765a1e4dcdea67e : FAILURE in 1h 01m 35s","accounts_in_message":[],"_revision_number":105},{"id":"702e2321dd306d505ddf281e1e9d570bdf333cdf","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 00:12:33.000000000","message":"Patch Set 105: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/46050d18080b4974bf7278efb38ef3a2\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8b3274894bd0458fb410998ec8996fb1 : SUCCESS in 6m 34s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/4613cc83120142e0ad46868767dc4b13 : SUCCESS in 8m 52s\n- grenade https://zuul.opendev.org/t/openstack/build/1ef03e1daba44115920b05fc96c14378 : SUCCESS in 1h 07m 25s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/e8209d4df14f4dab9ede56a570c530a5 : SUCCESS in 32m 22s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/1ac3a22c876249d4b6a3e22be8babdea : SUCCESS in 49m 19s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/57f74c8502084e6d83d3541fedf014f6 : SUCCESS in 58m 16s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/61bd031688ee45db87544a3e75ab57ff : SUCCESS in 10m 45s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/519054632b1240e09b4006ce83958f30 : SUCCESS in 18m 53s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/eabc41d9ba994af4882070318acfc1b7 : SUCCESS in 12m 20s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/0dcff965ad4b400588ae70fb7824d5a2 : SUCCESS in 6m 37s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/6e9dfbefd2b441359b1f52108a95c47d : FAILURE in 20m 53s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/8750db6f9b754efcbc94d82da6b33562 : FAILURE in 17m 50s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/01a01427724144e6b54cf904464988cf : FAILURE in 23m 03s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/901d1762e0ce4343ae944f12bc666fa9 : FAILURE in 16m 21s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/5f61032e8eee47368524d4f53bf97743 : SUCCESS in 15m 00s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/9db8e3144953419093498af7e3479713 : SUCCESS in 15m 15s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/04d417642ff0443ba37311da66621ff0 : SUCCESS in 9m 43s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/d7c4b295a28940c9a7b9afcd926bb8dc : SUCCESS in 9m 28s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/955f7dccc5734daa90d1aa225082f123 : SUCCESS in 8m 29s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e40a5ddd8e3449eea4133391f1d4ac9f : FAILURE in 7m 32s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/beb914338ef648f3952c2a158d98123a : SUCCESS in 9m 57s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/c5f69c307e004a2fa975c1a05d051c67 : SUCCESS in 57m 04s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/47ecebf0051346f887e15884e0a381fd : SUCCESS in 53m 00s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/f7d02f32c376476e8362e3ffeab8f85d : SUCCESS in 29m 34s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/fec864ec388c4bfca5de6d18be273a54 : FAILURE in 23m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8dfd520f87b84589b2a4ac5b465581cf : SUCCESS in 4m 43s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/04df7cbac2e841459b64def698113ff8 : SUCCESS in 19m 41s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0ac285ca2f18453bb9c3dd9d5610996a : SUCCESS in 55m 23s\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":105},{"id":"3710338a3cedb7fb6f18d1730866dde1eff90ff1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-20 01:39:52.000000000","message":"Uploaded patch set 106.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":106},{"id":"688d5a088327f33e971977195172f25f2580a0a1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 02:44:59.000000000","message":"Patch Set 106: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/876c62bd128d4e2ba6fb382e6303de0d\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e6f5e83a5a4847fc9f5e4c16790e3e6c : SUCCESS in 5m 09s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/09958ff30e9d4ceaa59666c335d2a90f : SUCCESS in 9m 59s\n- grenade https://zuul.opendev.org/t/openstack/build/afe740993b464c349a40c1873c1e796c : SUCCESS in 58m 22s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/8ba54a6270b544f983ff6c22032e04ee : SUCCESS in 58m 07s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/122d15371df944d3931846b96784cdd4 : SUCCESS in 36m 05s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c5e24fc272ce42839b0909e881cd3370 : SUCCESS in 59m 21s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/eb6eaa11ca1f42198a052e2a59445731 : SUCCESS in 16m 39s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1326288a096944d39ee7c3a4c94c21cd : SUCCESS in 20m 14s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/fe66d1e47e6d45ec9aa7859f0d89e0f1 : SUCCESS in 11m 16s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/3e1f7642b30d402ebe020cd77f017724 : SUCCESS in 7m 02s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/5bef501043dc4f419560ad730ddfae58 : SUCCESS in 19m 28s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/a59c23071e4e46fb87c834184ef2ee11 : SUCCESS in 24m 12s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/25a22150f19f4964b74cb4d9a91f5d52 : SUCCESS in 12m 05s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/e16fe422f74c4e47a1a40c3eeac130fb : SUCCESS in 20m 14s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/f7cd28ca4cb14b91a7d896d5040db240 : SUCCESS in 13m 26s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/8093d530cb114481a4ebccd6087c2bfb : SUCCESS in 8m 26s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/01a91ce10dcb4f7b87f5a112d60214e1 : SUCCESS in 17m 37s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/d9288288b3a643fda9a3903a0813b31a : SUCCESS in 9m 20s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/b4aee6cecdee4072b50b927feeb0d55a : SUCCESS in 6m 21s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/dd043a0697cf4207b1cc149db3972d83 : FAILURE in 4m 02s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/269f771c35e54ccda043884ccfa518aa : SUCCESS in 5m 36s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/2761589344fd430ab3135028565defbb : SUCCESS in 36m 30s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/86f3f96152cb484ea4fdb4ce9ec71113 : SUCCESS in 56m 20s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/b9e96f62455b4d0ab22afac580319ebe : SUCCESS in 57m 05s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/d6469a71d4be4154a80d738a700f3979 : SUCCESS in 11m 11s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1d2519cfe8d8404584d18cd15cca2c31 : SUCCESS in 2m 48s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/ec86c046f064436aba443efa2a4bbef5 : SUCCESS in 9m 15s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/36de73043a5b413987726d81389e8211 : SUCCESS in 55m 46s\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-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.\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.","accounts_in_message":[],"_revision_number":106},{"id":"34062e4f76ea65bc69e183fd70c5902058f72114","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 03:08:01.000000000","message":"Patch Set 106:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ea89411f06a54766b16cc97c8e0739c3\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/5bc2f691b6fc490393c2fd0b10c1f80f : SUCCESS in 1h 14m 53s","accounts_in_message":[],"_revision_number":106},{"id":"58307cbfc0382a32d86c92a04d4944345f5c2181","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-20 15:48:45.000000000","message":"Uploaded patch set 107.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":107},{"id":"254b09cd3d187c7e9ab3009665706a104606215c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 17:01:30.000000000","message":"Patch Set 107: Verified-1\n\n(1 comment)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/ede6982233434458bf4f3e9929be7b9e\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d4d1bd10fe914cbeb593530c5bc747ec : SUCCESS in 11m 05s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/5c565ddd81384bb2b33e49fc71051564 : SUCCESS in 7m 35s\n- grenade https://zuul.opendev.org/t/openstack/build/5198fc472d2f4332b31deec39abb7f37 : SUCCESS in 54m 21s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/20bb06bd349b459494d80ea2f359f6ff : SUCCESS in 33m 54s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/411803426bf24d7f93272fd9ac6e1ca0 : SUCCESS in 43m 34s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/1a787eb87c664f96934bd0be2f312a06 : SUCCESS in 1h 04m 19s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/cb366d7bd79347d8a17c05c9c70bb1ac : SUCCESS in 12m 18s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f26e03dc81ce442c8fba95745f47660b : SUCCESS in 23m 04s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/8ec46e85fdbb407c87c16c1d8b7a669b : SUCCESS in 12m 29s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/abee034cbec3425e9aa8458ee3162acc : SUCCESS in 7m 17s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/de403ce716cf47a8af3c0bdf8ae40824 : SUCCESS in 25m 49s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/bc0343c7a389490281f0c18f5536fb4e : SUCCESS in 11m 13s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/2fc92b476dc3473cbc1eb5cb592e89c2 : SUCCESS in 26m 35s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/a517ad3665fe427282c30e64fa1cf60f : SUCCESS in 15m 39s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/600dc030734f41a09af5b33352e1ba27 : SUCCESS in 18m 11s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/33cd6f6dbb134ac38ea8e020d04bdeb0 : SUCCESS in 10m 08s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/15846fb015d44f15a0b2ada709b23c9f : SUCCESS in 9m 11s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/d7729ef01b28471d84fc23f797e3abba : SUCCESS in 10m 30s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/46945b6e1e4d4dea9cc508872b219cda : SUCCESS in 7m 21s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e80bcba1e1da474cbe774cb08f4c40a7 : FAILURE in 4m 31s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/9fc5372c07c5460e80fb560847883714 : SUCCESS in 9m 43s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/f02f03d21d11491c8340c815ccd24585 : SUCCESS in 1h 01m 56s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/24196f10ebb54e30a3dd2abda37ac368 : SUCCESS in 1h 05m 00s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/c273fbc118374e8db8a31bc30bf694f7 : SUCCESS in 50m 54s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/efa7856532724aeb98e9c880ce05d206 : SUCCESS in 29m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9cabc986dc8c4e2bbbf9de9f27550208 : FAILURE in 3m 55s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/0561d4ef312a41dd8ced485cc4150931 : SUCCESS in 19m 18s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/2d3f107787b94958912d1ef51b2f0dd2 : SUCCESS in 1h 02m 18s\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":107},{"id":"00d333c7be98564c99a6b3d458239b85c1790c38","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 17:14:32.000000000","message":"Patch Set 107:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/dcfee4da61ce4da3b1d2386e25b12646\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/1d6b5460fc194021872eb640675c713b : SUCCESS in 1h 01m 34s","accounts_in_message":[],"_revision_number":107},{"id":"be8d1fb48901fd07d61bd1a7f3767f8528c931cc","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-20 20:25:02.000000000","message":"Uploaded patch set 108.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":108},{"id":"d88724c9b930717a61752bcaebb53b7d029b12a2","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 20:59:45.000000000","message":"Patch Set 108:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ec215fba12b047b5b395b952021223db\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/88a7705d69644d09bad7c599d2ba0984 : SUCCESS in 30m 02s","accounts_in_message":[],"_revision_number":108},{"id":"c758dbf9f4f7da12329f70748272e6a2d163e2c0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 21:32:26.000000000","message":"Patch Set 108: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/27b03612f6674afc8b0fc0df7230ea92\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/90714095f3314ffca07789c616486588 : SUCCESS in 11m 50s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/17948738ce2e4f1eaad60e939369053b : SUCCESS in 6m 05s\n- grenade https://zuul.opendev.org/t/openstack/build/cdfd49dc0e6844d19d8ab00b326f25f5 : SUCCESS in 1h 02m 41s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/0a1d995973c84cce91156fa17bb04f07 : SUCCESS in 42m 52s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/19631b963fd94e2fb761765d374393d6 : SUCCESS in 29m 46s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/b8cfc14f233c40d2ab2ae42adeeb84ef : SUCCESS in 1h 04m 29s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/cc9ae4439d0141caaca41d6e4c64b542 : SUCCESS in 15m 32s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ccc25ad825fd4229a4f3c6b160d9cf73 : SUCCESS in 18m 28s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/2c559a6241e944c1bcbafb86081ee19b : SUCCESS in 20m 30s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/a22eca930ffd433584a4eb240ccb843e : SUCCESS in 8m 40s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/e0b9534c59754fffaf5020ae381aad9d : SUCCESS in 12m 18s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/fe2f0ca2bb3648afa332c4cd48d0ac0a : SUCCESS in 10m 16s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/24c8747962e144f99c3699711b33638e : SUCCESS in 13m 19s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/d1b88994347443d39693cbefcc5ab10f : SUCCESS in 10m 20s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/7e86921398d943739b87eb31b640d1f1 : SUCCESS in 16m 03s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/790f6d2a22cf43479370aaa51cf1128c : SUCCESS in 8m 32s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/56f68045d3ca455cb9110d156f9a8cad : SUCCESS in 12m 51s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/66cb5370374b4342abe88ae4fa20d522 : SUCCESS in 18m 45s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/ced749ed727c49a881e7a25ef61d0c1e : SUCCESS in 6m 22s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/5b295624336547adbcf88e30a2127ae4 : FAILURE in 9m 59s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/001bfa51d9ad4357abcf197382bd2b1d : FAILURE in 10m 15s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/b99f8960c5eb4a9ca7c645e5573c5582 : SUCCESS in 38m 09s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/d302ac3860cf4cc69df26e37406ec9f5 : FAILURE in 30m 58s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/7b6bf8de8a754205838a610b3d3794a6 : FAILURE in 17m 29s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/9a13b8eefea94b98908d50f713ef4fa8 : SUCCESS in 31m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/afb3837280ce44739fba2eaf75ad59d4 : SUCCESS in 4m 04s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/423e6ff9fbd04d7980e72024a263c12d : SUCCESS in 18m 42s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/59def4b639ba4d9c81eb533c104702be : SUCCESS in 56m 47s\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":108},{"id":"3e9e2107edde02d1566726b14eda32df864ac1f4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-20 21:39:04.000000000","message":"Uploaded patch set 109.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":109},{"id":"503421e75cf55b891c5ea43761ac592ef47c2f80","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-20 21:56:51.000000000","message":"Uploaded patch set 110.","accounts_in_message":[],"_revision_number":110},{"id":"d537978e6b62f6d030d81d7f58c998e1da51b8dd","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-20 21:57:54.000000000","message":"Patch Set 110:\n\n(1 comment)","accounts_in_message":[],"_revision_number":110},{"id":"68b1e4162fc00167784441f44a476fb450a2fbdb","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 22:50:47.000000000","message":"Patch Set 110:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/624b73862aa645a0a41d30b9a61d31e2\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/24c02efbcb4e475388511a497a4859c8 : SUCCESS in 51m 39s","accounts_in_message":[],"_revision_number":110},{"id":"cada7f0ea8ec98899955de8d25d17cce756daeb8","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-20 22:52:24.000000000","message":"Uploaded patch set 111.","accounts_in_message":[],"_revision_number":111},{"id":"ff8d2d60dd96765d83ce3d6f2156657ce05bc24d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-21 00:02:15.000000000","message":"Patch Set 111:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e1eb2e388d024b8895d21de90a13429a\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/f7da185030ba4ab1a6aea6eb3fc6a7c6 : POST_FAILURE in 1h 07m 46s","accounts_in_message":[],"_revision_number":111},{"id":"d460357f3cef13d4caeda3662245aa1afc880fe8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-21 00:02:28.000000000","message":"Patch Set 111: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/c775237f1ae148a98432668dfaa45736\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/da737e0e5f9b460c91c1f3d6e97ccdb5 : SUCCESS in 9m 08s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1e67111bea504f42b3953fbf84b42957 : SUCCESS in 7m 47s\n- grenade https://zuul.opendev.org/t/openstack/build/69d170e379aa42efb39355fc1576457b : POST_FAILURE in 48m 28s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/a57f4acd29d447008ef42653a7871e3d : POST_FAILURE in 47m 15s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/bc1be79dfce345408e298a906176a853 : SUCCESS in 52m 56s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/153881c5d61a46eda641a6d2152ab1ae : POST_FAILURE in 1h 03m 54s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/23c3a83028364bc4a937ecb152dbe676 : SUCCESS in 17m 41s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/6ead6b03cfb1470aaee36d63206d7929 : SUCCESS in 13m 13s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/cfa01a6260dd483ab66d69a36db1a03e : SUCCESS in 13m 19s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/27d6bf48428b481b849e2a96173a87f9 : SUCCESS in 4m 59s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/c38bc68a36124ca78d94e1a2ec892a4d : SUCCESS in 10m 33s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/7264006ce1e042999768a390e59257cf : SUCCESS in 11m 54s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/24927608d23345b98d8fac4b14eeaf2c : SUCCESS in 15m 36s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/825ddcbb46b84ae688aa130ecee927a6 : SUCCESS in 16m 15s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/0e7db6ed72e4470fbde30eba7065a802 : SUCCESS in 14m 55s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/eff4fec1998647e19ee27e08f8680f7b : SUCCESS in 14m 43s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/2701b35059114cc7a7ef8385f38dc57b : SUCCESS in 10m 17s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/5070d80fb2c446eaad0aa74f7df59cb8 : SUCCESS in 18m 47s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/3636784b7666419daeb3a67522948cc1 : SUCCESS in 6m 21s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/be40cc0b5ac04fc0aadb4fb44b597859 : FAILURE in 7m 38s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/36016a96f56845cbba4780546672e30b : SUCCESS in 10m 29s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/1d81ae0c9763423788ea319d8f6e6cf0 : POST_FAILURE in 41m 06s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/9d6a11b4bb2444d0a4a8ae8cd6e073c1 : SUCCESS in 29m 42s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/665b682084e748a88c6c18edabcf30b4 : SUCCESS in 24m 29s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/2324e860140d424ca6dc57ab11f0045c : POST_FAILURE in 33m 16s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9ae2594e126e42c190487c0feeb94820 : SUCCESS in 4m 38s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/64b5b81d020049f9b3aeaf2a0e88f07b : SUCCESS in 9m 04s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/7d6d7af47a4248aeb109b53e6d27ea45 : POST_FAILURE in 58m 27s\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-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.\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-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.","accounts_in_message":[],"_revision_number":111},{"id":"4005da456d907bb205948b2d39a1e5f5f6595870","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-21 00:11:05.000000000","message":"Patch Set 111:\n\n(1 comment)","accounts_in_message":[],"_revision_number":111},{"id":"be04e12f7ccdb7471e2f6b771299d7660d9a3262","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-21 01:17:51.000000000","message":"Patch Set 111: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/de5850a30d824918ba1a71dd92640b69\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/04f8150b82cb4998beb735cc299a2ebd : SUCCESS in 10m 02s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b64328fcf8884173bb106df6e624ab7f : SUCCESS in 9m 36s\n- grenade https://zuul.opendev.org/t/openstack/build/327e73ef2bf047b59f41de6838405e8a : SUCCESS in 1h 03m 34s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/1c9a681489f44d0e9e03fa1ed34d053d : SUCCESS in 1h 01m 17s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/2009f02f2eeb41d2b642d9d530ec8147 : SUCCESS in 35m 15s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/d3433871d0884fcb84280095216d1cbc : SUCCESS in 31m 19s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4fb59fd30ecc4428a9934415d1f19048 : SUCCESS in 18m 16s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/3b22bc3833184be48b52c79f002f4bd0 : SUCCESS in 16m 29s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/275ec0f6f04e44d79631b4436645d96e : SUCCESS in 19m 01s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/12783cbf52ab4d20aa3b565be443d008 : SUCCESS in 6m 11s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/03c1bc01dda94682b4158158001a1683 : SUCCESS in 18m 42s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/4b4439496eee4da48fcdb750c8036a45 : SUCCESS in 21m 39s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/5bfe6508020d4cf896af414fdb8149c4 : SUCCESS in 22m 00s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/65e72f0c0a524937bcccdbb110c43f81 : SUCCESS in 17m 50s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/e7dfcd0c44444225a343c783facf58cb : SUCCESS in 8m 07s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/2ddc9c16db194bf28592971c2f900db7 : SUCCESS in 9m 16s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/3ca46ccd9d4f46be85b0861bd32c28e9 : SUCCESS in 14m 46s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/3ecb7f521eec4d96a56dd6ef6ddd1b31 : SUCCESS in 10m 20s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/36fd22ae6aa94cc791d0595beda686bb : SUCCESS in 5m 32s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/22c03becd3fb427ca09835dd3835d0fa : FAILURE in 4m 51s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/2aa8b3e56270493188924bb300304cf5 : SUCCESS in 5m 39s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/ad01479c2548458e914428e8f195d42c : SUCCESS in 47m 07s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/ba8756cd902e414983b28b3bc3b4687b : SUCCESS in 57m 15s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/512e94c5bed74f6cad09f98a48a06279 : SUCCESS in 37m 11s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/d789d8fde4db42f383b13f46b5df87a8 : SUCCESS in 22m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/daffa5cbc66743cdb2d0989eb34dc5ec : SUCCESS in 3m 34s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/fbf468511b914806879095e7fd19acd0 : SUCCESS in 10m 44s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/6ea674b323c04b03886e18dbe06330f8 : SUCCESS in 55m 25s\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-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.\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.","accounts_in_message":[],"_revision_number":111},{"id":"e954aefe6ba3acac9c8d4bc9486ba93774781232","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-21 01:32:17.000000000","message":"Patch Set 111:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0d5587b9566943038370579411562770\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/56770bd1f4f143c8826fcb67b2bd44d4 : SUCCESS in 1h 15m 37s","accounts_in_message":[],"_revision_number":111},{"id":"0ae29cebd7fadc7a7eeb038d9369d0db100326bb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-21 21:22:10.000000000","message":"Uploaded patch set 112.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":112},{"id":"b2069bf20a0003220e2fe7b7de34d66b1739329e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-21 21:35:34.000000000","message":"Uploaded patch set 113.","accounts_in_message":[],"_revision_number":113},{"id":"c339b95eba395e4ad87dd6e5eca09aa17ff1569c","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-21 21:57:15.000000000","message":"Patch Set 113:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5c98e813477642b3be7798b8459f70ee\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/9f94262a755642c2ab341634bb9df40e : NODE_FAILURE Node(set) request 3ba0ad0c03564812a5dc15260e8e8387 failed in 0s","accounts_in_message":[],"_revision_number":113},{"id":"024f69aa57e602773128e453d6f9fae57d7d48dc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-21 22:45:24.000000000","message":"Patch Set 113: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d05efdbe800240bb9174f87d67e6a0c8\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/87647b3634714a3ca273f91f18ef0e1c : SUCCESS in 10m 49s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/329e90fc813c4aef9c4421da6596b7f6 : SUCCESS in 3m 47s\n- grenade https://zuul.opendev.org/t/openstack/build/36daf65cdc864b10af3440cb9552be9d : SUCCESS in 32m 01s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/a49e41c44cbe4218a3cedfafaba7999e : SUCCESS in 1h 06m 31s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/b7318e72c36b4e1dafd639762c5c5372 : SUCCESS in 37m 16s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/fb5a6c102a224449be23a922aa6e01a6 : SUCCESS in 31m 37s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/99ca3e1eefe2427b95ea9ab86e6cce68 : SUCCESS in 18m 59s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d76ae2167c074a6e9913748d948c9489 : SUCCESS in 10m 44s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/afa3decf659d408c8ffa3b3ad80c07e7 : SUCCESS in 21m 32s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/b9a5c51069df43a8907cc00086c781fd : SUCCESS in 6m 26s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/2291c53f530c48d28b591ad7374048c1 : SUCCESS in 22m 17s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/5440b7374b4a437ab9780b0825db30b1 : SUCCESS in 10m 04s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/376961f87c2f492aa80b287b99333323 : SUCCESS in 32m 23s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/07238eb6271f400090d054abdc64def9 : SUCCESS in 16m 56s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/a6d169479d424f4f97ddb08c877ceb59 : SUCCESS in 14m 46s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/2c57f802c2324be2b5a904a63f425d6b : SUCCESS in 8m 36s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/d28dd927698f49afa00ae86a35cc7150 : SUCCESS in 15m 00s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/089299fa05e641fcb01f8f93f872847c : SUCCESS in 15m 15s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/9c52a35a66254b65ae716a15cddbb105 : SUCCESS in 6m 26s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/abbed6fcdf944ed7a2d2aa98fecbb3f2 : FAILURE in 6m 14s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/58d7480f52354dcf9cad4b73882f6af7 : SUCCESS in 10m 06s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/2d9da826dfb448f9b7c22b7bc3a18b79 : SUCCESS in 1h 00m 00s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/fb06c8996ecb47dc9aebcacc003c2dd3 : SUCCESS in 36m 13s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/2a8162b1a41a4d62b89b9c407961e1b8 : SUCCESS in 59m 41s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/d2cea594c7244020af84962344d9b164 : SUCCESS in 13m 10s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/30eb6831725647f1aaa6d5454bbf29e1 : SUCCESS in 4m 09s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/09181ead4a91464a94d3c9e47a023ade : SUCCESS in 19m 20s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/fce068f28ceb47958e412c6ee4870bfe : SUCCESS in 43m 38s\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-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.\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.","accounts_in_message":[],"_revision_number":113},{"id":"4e59096b272bd5380b77cad33008eac478684e7c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-24 15:47:56.000000000","message":"Uploaded patch set 114.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":114},{"id":"6ec426f5c8f3b5cb7ab9140be4b9913b62d5baff","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-24 17:23:53.000000000","message":"Patch Set 114: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/0b9f53b0288c452bb9c89d5779a8b063\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/046fc83b4e5b42f9a6d4831477e8bca5 : SUCCESS in 6m 15s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/692e0c28f0904e95a946c2567e15a623 : SUCCESS in 5m 33s\n- grenade https://zuul.opendev.org/t/openstack/build/b0cc9689887941fa890089f41a38934c : SUCCESS in 1h 01m 57s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/5d572462e76f49658049f62ae3927cab : SUCCESS in 1h 06m 10s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/aa3f34f409d94e228e08bd0c7b7acd64 : SUCCESS in 53m 42s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/038684a3ab7e4c6aa0b1ed0029ae7660 : SUCCESS in 59m 23s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/48a0663e251c4bd2902254cd53d2bb8c : SUCCESS in 16m 40s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/362e9b24bb744408a38f7112748a0d77 : SUCCESS in 22m 08s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/687204fafc154a45b01bb93b775c376b : SUCCESS in 21m 26s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/422c0f6e3bc3417f8783a62d4e83794b : SUCCESS in 9m 26s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/31d8bbad33464178942bcaab583af454 : FAILURE in 27m 09s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/acddef245b1e41279eafd6207d7eef15 : FAILURE in 9m 56s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/d0422ab2948e445c945736d7e69dc84d : FAILURE in 25m 53s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/fc9ba8d095e74085b597073a564f9291 : FAILURE in 19m 37s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/801d2491e0044589a8ed8150ecaa9645 : SUCCESS in 14m 00s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/35c75c14063542faa504af48029e4efb : SUCCESS in 13m 01s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/7b4e603d96b74f21bd4ac8eba84cc643 : SUCCESS in 13m 32s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/b4916589c7c6439eb542776684e2a121 : SUCCESS in 10m 38s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/7af2c06dbe2d4ee48194ce0af947c0d4 : SUCCESS in 4m 58s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/7e9cefb65b994d7fa82c4cdcf1542841 : FAILURE in 8m 13s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/f810235d0a574aafa8818296d2b908d7 : FAILURE in 10m 25s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/b497fafcaf644c81b2295fcfc4e98201 : SUCCESS in 1h 07m 33s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/b7e18b9bf0b948ad86668f7a19e0a342 : FAILURE in 35m 26s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/306dbc388617499eaf05726dd01c62cb : FAILURE in 33m 41s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/e75581e862164dbf9328c2b41ea97c02 : FAILURE in 30m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2346d4a492d84e67896a8a406796fb0a : SUCCESS in 2m 49s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/33dd34e95c094620aea7e4cac9216871 : SUCCESS in 21m 01s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/10d5ed35577f4b7d84a679dd0cadba6f : SUCCESS in 32m 36s\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-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.\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.","accounts_in_message":[],"_revision_number":114},{"id":"9a017c84bd71c640c525bdf9fb5824168b9737b3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-24 22:45:29.000000000","message":"Uploaded patch set 115.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":115},{"id":"f54331e64f3e82f0fde84e5d6ec5bb8985659ef0","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-24 22:46:56.000000000","message":"Patch Set 115:\n\n(1 comment)","accounts_in_message":[],"_revision_number":115},{"id":"8f843ab3bd39bf7031bc45e3ffd6eb9ac3e0963a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-24 23:45:16.000000000","message":"Uploaded patch set 116.","accounts_in_message":[],"_revision_number":116},{"id":"a31e7e0602fc89933393887bff9ecb97bdd2019f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 00:59:40.000000000","message":"Patch Set 116: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/d96b5d039914492c808429e721f37d04\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/04f258cfa014459787e30ce8ed88f07d : SUCCESS in 11m 16s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/119d4b0e472740c29a61c06c42b41adc : SUCCESS in 9m 33s\n- grenade https://zuul.opendev.org/t/openstack/build/e10ec51437c44fc49384f3820af44432 : SUCCESS in 1h 06m 02s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/ea75ca66a2914918959d508deb13ef03 : SUCCESS in 1h 03m 00s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/3b39ef4c34224085a08b1cdcf4f83afe : SUCCESS in 49m 47s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/fb6937323f7b4bc2970370f5d219bae9 : SUCCESS in 32m 37s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4f277b9442904807b423dfdd0957152b : SUCCESS in 21m 34s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/bae8c862c390473fb04f9b1cd52e216b : SUCCESS in 12m 45s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/233f5d3f591c4b399e3cecf05719048b : SUCCESS in 20m 42s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/b11d8cecde984459bd9874f339920bd9 : SUCCESS in 4m 45s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/5f4ee0d415324da6b76f698b6d16fb66 : FAILURE in 25m 24s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/0ee2f83b94ae40ba91da623598bbf384 : FAILURE in 22m 58s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/97b4116ed94e4f9184bfcdf1d7502c71 : FAILURE in 11m 44s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/d443f6c00d3a4fc7bff2997b7971cdb4 : FAILURE in 11m 21s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/dc1e4d5626544bf19b6d46b83cf36872 : SUCCESS in 8m 20s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/927b8f176e1a4048b130b6428f2d22a8 : SUCCESS in 14m 38s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/e15a5126878e4cfa921a27f84691ffe1 : SUCCESS in 17m 34s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/b6ab6b27d63d4452b0e354b535e9c2d5 : SUCCESS in 16m 27s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/37448dce02ec47b28178432d44b57b83 : SUCCESS in 6m 16s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/4df663e4c4124a7ba9b881d283aa8bbd : FAILURE in 7m 02s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/ece66621834a4667bc4925216847f32f : SUCCESS in 9m 41s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/eafae16673994196b654d5e251168eae : SUCCESS in 1h 00m 52s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/0bc9c3c8eb35470f998c05ccfeb75d93 : SUCCESS in 24m 41s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/9faffca3328e4a0fb0ab4c43da7c4bc8 : SUCCESS in 39m 59s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/99d197ec2b8546babfb16c03eb688f91 : FAILURE in 11m 14s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0f440794999d41868d383e987da720d3 : SUCCESS in 6m 10s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/69a19118858a43019e9ff3dd126b50d6 : SUCCESS in 11m 24s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/7a44af791c054dfcbfd932d6a3e3c065 : SUCCESS in 55m 07s\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-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.\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-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.","accounts_in_message":[],"_revision_number":116},{"id":"ce319a3c2ce7fb148d257a7902974701b5443900","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 01:20:01.000000000","message":"Patch Set 116:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/10d9147a7408453883b8eafd6239c0d2\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/65958bdefaed4db18eb63dcbd93e43b3 : FAILURE in 54m 35s","accounts_in_message":[],"_revision_number":116},{"id":"7d9700afafe3e7adadd7cf99ef9854411dab14af","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-25 03:15:59.000000000","message":"Uploaded patch set 117.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":117},{"id":"4c7e8224a33af9b4a76a7bd0ad460abd852f4026","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 04:23:43.000000000","message":"Patch Set 117: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e48e393902d84d239933aaadb132e65f\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/27d254b5918241df884e6ca9e3f80a52 : SUCCESS in 10m 45s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1b5659ba81124f20b582a5bccd286d35 : SUCCESS in 4m 02s\n- grenade https://zuul.opendev.org/t/openstack/build/bef84aab347f4fbd8d711434b75c2a81 : SUCCESS in 1h 02m 03s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/d3974d3ce1a240a0bd684c0717166e8e : SUCCESS in 48m 39s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/2ea60baa21e5403f8f126e46c709d6df : SUCCESS in 49m 44s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/4cfe3359e0614ca5b5edc2f6f238d103 : SUCCESS in 56m 26s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/dbe3ef6a98ff4de9a7f22d2fe98f3b64 : SUCCESS in 21m 36s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/356da438a90a4f1a886b0abd3eff3714 : SUCCESS in 21m 50s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/38eb8be7253746e2b9a33eabbcb12d33 : SUCCESS in 20m 30s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/00ef6ac54c7b40beae2a21f2a6c25b96 : SUCCESS in 6m 53s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/ba15720346ca413698b216324fd3da0b : SUCCESS in 13m 07s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/e7ad3e0b1d8243ce88fc6fe22b81e368 : SUCCESS in 20m 29s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/3f89d5c36dd04cc5ac7d5ee16582b647 : SUCCESS in 31m 49s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/25abdc5049b7405a9fed85fd89772ae4 : SUCCESS in 11m 52s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/170fa71e7e594180bc485b1c99dbb496 : SUCCESS in 13m 43s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/235b9bb670624556a0e719e206f21172 : SUCCESS in 15m 23s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/9041cc8800af45f9ad2f4f69dbcf64cf : SUCCESS in 14m 12s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/b783f265b0e844929526205b68c6746b : SUCCESS in 9m 48s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/03c6004214ef4d0f9af06e135ba77b4e : SUCCESS in 6m 37s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/659519c8251d4b419edf779af694ec7d : FAILURE in 4m 14s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/aa31a34f5669483c8edcb5dc9cf59e5b : SUCCESS in 9m 42s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/016b2b815f684b13b1f883f6cc965343 : SUCCESS in 37m 18s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/b2ed7e4db7b446bc8e72ff0e7fb070b0 : SUCCESS in 31m 06s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/cc1f8017f8c64abd8996e6f2eea16be2 : SUCCESS in 31m 34s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4d93b261be3e4e378d100d9fa0c7491c : SUCCESS in 26m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/cffe74bfd783439db886613285731137 : SUCCESS in 4m 05s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/cffe808c2f984b748d385f6c15a8345c : SUCCESS in 19m 47s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/1da16979ca8746638c5167afed1973b7 : SUCCESS in 1h 00m 52s\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-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-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-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":117},{"id":"d503618d2dc6809ac9dd5b7119477a7d2a51e44d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 06:47:08.000000000","message":"Patch Set 117:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/bb77cb18a26745f29f2c07d111bfb82e\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/87ecfb17211f4e778f4b7cba12dad9c5 : SUCCESS in 1h 05m 03s","accounts_in_message":[],"_revision_number":117},{"id":"9d9dd55b766876b16bffc59ea721398051d56c42","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-25 22:53:40.000000000","message":"Uploaded patch set 118.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":118},{"id":"3f699931942f327e44daa1a80b6a95955725e04d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 23:34:34.000000000","message":"Patch Set 118:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c85aed9502a54b929578b35ca59b07c6\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/20e427a58650490696c895577ebcad44 : SUCCESS in 38m 41s","accounts_in_message":[],"_revision_number":118},{"id":"e22e38b4cd28d0138f58bf40af462a1d0ab2e70a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-26 00:05:37.000000000","message":"Patch Set 118: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/a00bab6b3475477a93db2a20bdd3e7c2\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/309aa2c34bac4aa4a3711165a5a573f1 : SUCCESS in 9m 46s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/02871cde4c324d62bc1a94cec5128759 : SUCCESS in 7m 04s\n- grenade https://zuul.opendev.org/t/openstack/build/2f3ad7d367d049d0a29c52162fbdee16 : SUCCESS in 33m 51s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/fbc6bfda8d7447f4b9ee21b6e802bef7 : SUCCESS in 1h 03m 15s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/58a07153f0c6495db402c8556e900d62 : SUCCESS in 47m 13s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/3f00799287454fb1965f5f963ef8425b : SUCCESS in 1h 05m 14s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/eb4fcf82314c4ee886affc6246935aa1 : SUCCESS in 11m 45s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d66ced5ad39443108167ad593f8cf18e : SUCCESS in 12m 22s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1f741f8ed45d47f0beae82e8f0873d43 : SUCCESS in 18m 21s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/b1cf972bd94849ebb397adcbc4ac2f80 : SUCCESS in 6m 37s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/5205954ccef24ceab75c869e1a4a3ae2 : SUCCESS in 27m 09s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/b8f0dcb50f2e42199034bd9fd5ae34c6 : SUCCESS in 9m 17s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/2841afa50af0476fabf83c8c9fa22022 : SUCCESS in 13m 18s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/7113302474f6488b8392d115a120d4aa : SUCCESS in 10m 10s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/0dcdbce9539048feabdbcbd5f746a5af : SUCCESS in 14m 54s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/687d03d5959e475db1730121a12a687e : SUCCESS in 13m 02s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/fca748123076421caa0736281fb2f6f4 : SUCCESS in 15m 17s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/96116f4409c742569f8035af065f4d9f : SUCCESS in 9m 31s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/70a7fffdc0a24dd4a05d6a124e71c702 : SUCCESS in 8m 41s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/a6c8f95ce73445c8be856a3d80933250 : FAILURE in 8m 12s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/ca7efb7831ca4b57acb474b17312021e : FAILURE in 6m 43s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/c3e2f903df334f6686932cb7522350a4 : SUCCESS in 50m 22s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/58ed0e53c60f45048b2ca3df905eb767 : FAILURE in 25m 33s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/112a8be478554140ad23b1b2ffaeecc4 : FAILURE in 33m 33s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/da36122cfb1048e990651b6e00a8e1d9 : SUCCESS in 32m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/23f4ce3f4d5e4c498777141397d4f6e5 : SUCCESS in 3m 37s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/7dbea729c5704df2bd5b6f924b7e3de4 : SUCCESS in 10m 31s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c824c07c7c2d45e7b570097bb047b604 : SUCCESS in 1h 03m 09s\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-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.\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.","accounts_in_message":[],"_revision_number":118},{"id":"a59aa9ab67db5e664c38167fd22694e62088612a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-26 02:01:11.000000000","message":"Uploaded patch set 119.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":119},{"id":"d9d7332675f7a0582ef92b7b3a3fdb9d060f46c7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-26 03:28:02.000000000","message":"Uploaded patch set 120.","accounts_in_message":[],"_revision_number":120},{"id":"08d7e1e18db2f3e6821ee4a1f2976a1304957805","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-26 03:42:56.000000000","message":"Uploaded patch set 121.","accounts_in_message":[],"_revision_number":121},{"id":"09032b27b99467bdabdb61cb0f7fa4a2c8213278","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-26 04:51:42.000000000","message":"Patch Set 121: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6f1b6d42201c4c6c814d275298d370c1\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/38556c49c968451c9902774efae995a5 : SUCCESS in 5m 47s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/4899c746d6534b26b772322f6af3df19 : SUCCESS in 4m 04s\n- grenade https://zuul.opendev.org/t/openstack/build/591e8e7c877344c0adb5a63a3b3c54c8 : SUCCESS in 1h 07m 48s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/740c42d677c04801a98a42d433b32ebb : SUCCESS in 30m 17s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/488f68bf16e04fa78ee6c938ad2b229d : SUCCESS in 51m 21s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/bfc583200efc4ac1a97bbdb7ddc38989 : SUCCESS in 32m 39s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/78742bc23b2a41fa91a0d98193a5f6de : SUCCESS in 10m 34s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/637891c440204cb287f3897aa6ffa7c2 : SUCCESS in 20m 45s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/eb502a49e27645f1bef539f7e49691e7 : SUCCESS in 18m 35s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/15f5af5a859b4742a2d0df0e328c3f6c : SUCCESS in 5m 53s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/8e889b26c6014cd780baf06fa01c0e10 : SUCCESS in 10m 53s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/70e88d273398496a8413a27efaf2f482 : SUCCESS in 9m 26s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/5b2e16e5ecf44e678c969ae79ac5e744 : SUCCESS in 15m 06s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/fddc51e52e084863aa0bf14c4db881c4 : SUCCESS in 9m 26s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/09eb1f09185b451c8dc0e83288ececa2 : SUCCESS in 9m 25s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/07d2566504a848ffa8ca5da1af97ce62 : SUCCESS in 9m 33s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/6927d58848454d8488e9522303fca83b : SUCCESS in 10m 02s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/d9e6eeaedd664102b78777c3a790cc3d : SUCCESS in 10m 47s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/68fd5c78960e40c18ad2d81623081fb6 : SUCCESS in 3m 51s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/f25f348fbc084dbbad68694c9c19616c : FAILURE in 4m 31s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/0574dbd66b3d425c85cc2e574641b280 : SUCCESS in 7m 28s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/2d56da71407e4fb3a0866fa51b17bfdd : SUCCESS in 37m 50s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/19dcada6aa4d4d75825de927067a727c : SUCCESS in 25m 32s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/380b61653f8045d5ad4d691406eaed1f : SUCCESS in 30m 19s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/1d8c7ee257f1429d947a351e5126c1d3 : SUCCESS in 11m 14s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3c51dca7c65d40368feaf2c5c246e52d : SUCCESS in 3m 04s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/5f2e37202c9144ec90f8420880d72b69 : SUCCESS in 20m 35s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/8290dfe8088c4e49af726f2915095fb9 : SUCCESS in 31m 37s\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":121},{"id":"b1c8249fe2cc00b58873d3c989918fda2498db55","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-26 06:56:11.000000000","message":"Patch Set 121:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5406eaddee2a451db6ae5dd67662ea51\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/02da7b29baf14ea5b887841358182304 : SUCCESS in 1h 00m 22s","accounts_in_message":[],"_revision_number":121},{"id":"a848964b37814e1d241fe3ba071f27207824fc0e","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-08-26 16:56:52.000000000","message":"Patch Set 121:\n\n(1 comment)","accounts_in_message":[],"_revision_number":121},{"id":"e4d84b2c7fa04e798d57d0c80d39088029cd190a","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-26 17:21:38.000000000","message":"Patch Set 121:\n\n(1 comment)","accounts_in_message":[],"_revision_number":121},{"id":"803b145ef539fed34f62df21bcca02be7555aaeb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-26 18:21:25.000000000","message":"Uploaded patch set 122.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":122},{"id":"5e9daf6216334a9b91e7053b5312dc68a11148b6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-26 19:38:10.000000000","message":"Patch Set 122: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c763f1bb093c40e89bdaa91aa094be3e\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/18186948d97d461490ebe4e789f3ca69 : SUCCESS in 6m 38s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/446bebf2c7ee4b33bead87bd2b0d15da : SUCCESS in 4m 11s\n- grenade https://zuul.opendev.org/t/openstack/build/5860ff3c133f4dbeae06836f5b605768 : SUCCESS in 32m 22s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/b0ca106184ee4c4783abb6ba0ef0590a : SUCCESS in 1h 09m 58s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/effdae0c9c5344e0a41270632705c331 : SUCCESS in 33m 51s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/783e5846cae14ddc92d436aaf3bcf6a2 : SUCCESS in 34m 13s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/fb42c4444ece4d72a4004356517e9320 : SUCCESS in 16m 39s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/9d3fea84db84415ca638e654b7b906c9 : SUCCESS in 16m 05s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0b7f05a458ba45cab17126a47a1ca9dc : SUCCESS in 13m 44s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/0eacf936314e4166880f6130e9628fbe : SUCCESS in 8m 06s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/fac5886dabc2442a9f8e4a43c3fe2b73 : SUCCESS in 13m 51s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/abb1be2cd9364bdb922eaf2d2a15f4e3 : SUCCESS in 21m 34s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/0af6388bfc884d62a5a26afc9554d0d8 : SUCCESS in 12m 39s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/f1c089bf8cb64557af441fe7a0662e3c : SUCCESS in 11m 53s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/618e674329ef44f2964e11d721a2fe9b : SUCCESS in 8m 52s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/daf7b35377b34fc4b48dcce3546ade0d : SUCCESS in 10m 14s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/413a47c194bc41028c887abf840d3aa7 : SUCCESS in 16m 08s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/deb4130dce2148fba68bd41dd025d291 : SUCCESS in 19m 39s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/9e06b200bee14f04ac4f61b2f05503c6 : SUCCESS in 7m 37s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/082da735ed7c45b9ad9ef2afa95e18e1 : FAILURE in 7m 31s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/0987b4a0d0744de6b55d9c964e22fa7c : SUCCESS in 8m 24s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/4651444ac3e344f3a4a56cbe1e590922 : SUCCESS in 43m 00s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/5c557234c0584830ae412c181e805bba : SUCCESS in 26m 18s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/4f5580764c3444dabd4b8c1a17da34b0 : SUCCESS in 1h 05m 38s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c1c1ff1dd3454062a0aae873b1c640d5 : SUCCESS in 21m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/042cb81786554543b13ffb18bc73f17f : SUCCESS in 4m 08s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/bd57314d9fce4e7ebab783a233a899d5 : SUCCESS in 25m 54s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d0fbd8c1099f4469bc993d4a5166d99a : SUCCESS in 37m 12s\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-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.\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.","accounts_in_message":[],"_revision_number":122},{"id":"6d6c27d9d68af4c7014ed667fd0b1af16bc84da0","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-27 00:29:54.000000000","message":"Patch Set 122:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c8de9273b591462587097f033edba8b9\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/51e17191a10045fda65daa0843a7f203 : SUCCESS in 1h 28m 44s","accounts_in_message":[],"_revision_number":122},{"id":"992739e73662e9f30964e965f1257cd2efcf26cb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-27 05:56:14.000000000","message":"Uploaded patch set 123.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":123},{"id":"6c294acf8e5abfecc060380acaa71a2e8d831295","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-27 06:36:39.000000000","message":"Uploaded patch set 124.","accounts_in_message":[],"_revision_number":124},{"id":"66055382ee9cd118215902933af39fed19b92497","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-27 06:37:43.000000000","message":"Patch Set 124:\n\n(1 comment)","accounts_in_message":[],"_revision_number":124},{"id":"5ce5335588a79f07d30af3f2dabe7a50f51aaec4","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-27 07:45:22.000000000","message":"Patch Set 124:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/364e02e046ac4206bacd61bfac086f82\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/5f2dbdb38deb43659dd1dd17a7709683 : FAILURE in 53m 38s","accounts_in_message":[],"_revision_number":124},{"id":"b57de047724dbe0dab483039ac099452ec89ad01","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-27 07:48:58.000000000","message":"Patch Set 124: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/51f5f7ad33594e3fa3319ae7dafeff25\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c22b2b600a584b85948616c724def78d : SUCCESS in 12m 08s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b213ef9a9d584b518970b5b3bd72c7b2 : SUCCESS in 4m 01s\n- grenade https://zuul.opendev.org/t/openstack/build/ba7b56b42c9e48c69359d34369985ce1 : SUCCESS in 33m 35s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/e866550517664a998c042b1d16e4840f : SUCCESS in 1h 05m 20s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/f4d2f87e5ff34d7299c7ca3a22883138 : SUCCESS in 36m 17s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/108f92142a2045feb255baea886bfbc0 : SUCCESS in 57m 40s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/68b58e01f9124ecab39fd17a906af967 : SUCCESS in 17m 02s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5bb9964a5d684601ac390e6414114f45 : SUCCESS in 19m 44s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/7c196a06735a4d8293e55867f70d1222 : SUCCESS in 22m 39s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/cd820c4e99904899902e67a812170472 : SUCCESS in 6m 28s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/8bc324f5d46849a0a510aa9ea8324666 : FAILURE in 19m 29s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/ac4581aa7da84b71a2b34a54b0ae47ef : FAILURE in 23m 21s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/46554c8d98ba4f2393ff2a5ea2654386 : FAILURE in 31m 44s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/af717b551ffe4223b42bf03c8e19fbb4 : FAILURE in 21m 13s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/e258f3107ba340a1a8c69b22a8d9816f : SUCCESS in 16m 54s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/0aeb8f9e9e054beeb8986aa797570f96 : SUCCESS in 13m 19s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/55c14a4bb8874217abce1dce81e5b24e : SUCCESS in 16m 08s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/94e39a7aab7240b3908e994bb3e06904 : SUCCESS in 9m 23s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/146602a878454774ae23cf9bd54cbf25 : SUCCESS in 4m 14s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/3996c18796934517b97bc2a2086a4fee : FAILURE in 8m 05s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/a4903c82ac204b32a9edc4bc0f1d5452 : SUCCESS in 10m 29s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/913fb101153b4e5a9720ec6bfbff792a : SUCCESS in 1h 01m 15s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/baa47eb7e5df43ab9eac34f40284930a : SUCCESS in 54m 37s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/1a7e2d4985e8482f87fa86a7853e9cc0 : SUCCESS in 57m 12s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4243eacee6224861b0033c60957a974d : FAILURE in 22m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/84e228d77e9448559005871fbfb53f15 : SUCCESS in 3m 00s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/709d690b59f441cdb4de0ef915410bae : SUCCESS in 20m 17s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/170335e7dea24b6d941727851d0347ea : SUCCESS in 56m 30s\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":124},{"id":"3c2540b883dca7a4324282b5b1da70711d615426","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-27 13:56:13.000000000","message":"Patch Set 125: Patch Set 124 was rebased\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":125},{"id":"a778a4e8e21698e136fd5047cd8ec3bd83662579","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-27 15:13:09.000000000","message":"Patch Set 125: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/963e1acd9449487e86e22b90cd0fc583\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a442e9642bdb4359a52dfc4b76813749 : SUCCESS in 11m 29s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/67293216d49c479f8d4897871c9a0b2b : SUCCESS in 10m 48s\n- grenade https://zuul.opendev.org/t/openstack/build/d16cb268cf904595863061962f98d366 : SUCCESS in 59m 26s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/ea414e70ce90457ba4a8161e28fb9bf1 : SUCCESS in 1h 05m 50s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/75c6ff4fdc884679a65cdb334a0b2487 : SUCCESS in 53m 29s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/a3c862808ba34a68904aa4ad683431c9 : SUCCESS in 1h 05m 23s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/83263cad2dfe4e248407790cbc0bae43 : SUCCESS in 21m 13s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/7869a90ba9394709aae447610210a9f5 : SUCCESS in 20m 20s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/fa9d92cbbdc34c67ad2b2e38ec263681 : SUCCESS in 12m 28s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/23a2cccce5bc4aedb0d1a19bbf0910e7 : SUCCESS in 9m 25s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/768c5bde6ac848b1be08c788039c05b7 : FAILURE in 29m 40s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/1cca14563fe348368410a722d933e442 : FAILURE in 13m 05s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/26649185525b423dbf6f4b7f2689dbc4 : FAILURE in 33m 48s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/c5f19524d7a449359f67fb9669ee0096 : FAILURE in 10m 04s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/3ca6f3c78b99406bb202cb5aa7294e24 : SUCCESS in 15m 06s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/75e2e8d2a9b0449db4657dd7f5e49afc : SUCCESS in 16m 16s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/e060e2e73cbc42e2be30995fc2148193 : SUCCESS in 8m 59s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/7958cd0657e847bf8f6c59ad298f8aec : SUCCESS in 18m 06s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/5e0f226c673c4488840d54c8db401dd9 : SUCCESS in 7m 01s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/613afce74c3a423ba9a0852a41865885 : FAILURE in 8m 17s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/c4777e0e0a9041e484ba51c7d4932eb8 : SUCCESS in 11m 05s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/dea04ddad17045a98ba3e79ec52a6d2f : SUCCESS in 1h 04m 53s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/035dde8bda8c4a1caa0310bd46552d1d : SUCCESS in 1h 09m 19s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/6ed76e5156b0405680b6207ad82c4322 : SUCCESS in 1h 00m 42s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/6324166c98af4ab68791f5904a0df234 : FAILURE in 29m 29s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/dac25e6678c94be58bb10f89c864662f : SUCCESS in 5m 06s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/a3b55e46b24a4c8e99c2e6b81226a584 : SUCCESS in 24m 08s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b52e6fa364304bd5bc17428c870acb72 : SUCCESS in 52m 58s\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-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.\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.","accounts_in_message":[],"_revision_number":125},{"id":"bde427c31cf60b1a8e8de8d5dc2cd1db6e744063","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-27 17:29:10.000000000","message":"Patch Set 125:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5154d8affb484eaab4246c19594af225\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/81a3e2ea664144d8b4b3ed7eeb08ad06 : FAILURE in 1h 17m 58s","accounts_in_message":[],"_revision_number":125},{"id":"be7bda358549714a81f6bde3c26585e798cb0a4a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-27 21:57:38.000000000","message":"Uploaded patch set 126.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":126},{"id":"72db134c2bb850d00ef30558ce3f46f441ab5fc9","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-27 22:16:45.000000000","message":"Patch Set 126:\n\n(1 comment)","accounts_in_message":[],"_revision_number":126},{"id":"41b02b80776ea4da2b83af0d224aed410a92c800","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-27 23:02:45.000000000","message":"Patch Set 126: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/bd95453829744f47a77a154639e1fb21\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ed598e12b1f840ff943a42ca6caf442e : SUCCESS in 10m 34s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/6d7ad98dee824423807252737b68cb19 : SUCCESS in 10m 05s\n- grenade https://zuul.opendev.org/t/openstack/build/f0501893323c4fcd86f9ace2e402d277 : SUCCESS in 35m 29s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/a26e8d6148a74191b00561c64e6cae8f : SUCCESS in 59m 19s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/ee9f6a4821fd486ba764bcc5d5b11ad9 : SUCCESS in 37m 05s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/bf681fbf7d1340649ded1ffff7517f75 : SUCCESS in 55m 04s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/39921fd587174a09b2e26bdb46b34b77 : SUCCESS in 18m 43s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ea2ff1be3a54468080dc7f0dd632eee2 : SUCCESS in 20m 49s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ee40ba97ff27441891e16dbaf98a4475 : SUCCESS in 20m 47s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/da120203e54041498e716f2407d9b9a2 : SUCCESS in 3m 54s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/29da5e93ddef4ade87b21985838d3ad3 : FAILURE in 12m 35s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/b6ee326dd2194d51a80369c3e9d5c804 : FAILURE in 23m 34s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/c325655e14f6435f97d69edc4173caff : FAILURE in 21m 33s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/64e69347fdef48ae8453d62e4ab6bebc : FAILURE in 13m 23s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/38909a83bd4a4064a0d7272fb56c7d22 : SUCCESS in 15m 01s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/42b5200a645a40b48488e29e3eb7b045 : SUCCESS in 17m 13s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/7d9d1f9999234d368ea4dc1e617358e9 : SUCCESS in 8m 32s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/421bdb2c506746bfab40f56aa503d992 : SUCCESS in 14m 32s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/0d318e49675b46a8ba0549a7b233ed49 : SUCCESS in 4m 16s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/834c3e34b9b14f6e8fecc6fe6679defd : FAILURE in 5m 47s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/e7b987d51d084f0c8ed49827ab698e30 : SUCCESS in 10m 14s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/0967d040a9414849ad1e4f4a36684991 : SUCCESS in 56m 58s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/4946b4af250445a982e3940c402e347f : SUCCESS in 52m 37s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/50f08b39f48745618c789495b2f02f75 : SUCCESS in 24m 45s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/bcbe7d83c9a54b479337d863af2c5559 : FAILURE in 10m 59s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c3f9f92af2644cb2b99592a79f07eb82 : SUCCESS in 2m 56s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/cd87112c59d5474ea645f476984cc938 : SUCCESS in 20m 12s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f4cd384391ee48579d41a8fe876dd4ae : SUCCESS in 53m 45s\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":126},{"id":"8533739d476b16711207e37fa69f0bb961d8c94c","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-27 23:28:29.000000000","message":"Patch Set 126:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7f372b12d6bb421d8de8ba2a05fcdb7d\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/fc395b6a1a2944309fbab87bb9c0e696 : FAILURE in 1h 25m 30s","accounts_in_message":[],"_revision_number":126},{"id":"8d73303b61d135dde22343b79a0564ed6ed82343","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-27 23:44:51.000000000","message":"Uploaded patch set 127.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":127},{"id":"df723d45bf6c17e9b12a49f74db0730147a815ca","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"date":"2026-08-27 23:58:57.000000000","message":"Patch Set 128: Patch Set 127 was rebased","accounts_in_message":[],"_revision_number":128},{"id":"f986ab0f2565126b0d27f150a0d6a2d98a4436a1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-28 01:11:14.000000000","message":"Patch Set 128: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1436a02ea3ae43e1a332a07c0c7f9b4d\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1bb03bd12e224f82810d7553e92a840d : SUCCESS in 4m 59s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/45b2097f88c04c46a4d07ee48838822c : SUCCESS in 4m 02s\n- grenade https://zuul.opendev.org/t/openstack/build/fc078ece2af7495bac6a68cefccc93e7 : SUCCESS in 1h 03m 11s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/60766e0dbbe349ffb0e4dcc2b942a6e4 : SUCCESS in 1h 03m 07s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/2e9c5d6cb9d94f2483a858fe0f186f42 : SUCCESS in 26m 47s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/49ac6810a8fb4247bb8c76a3d4ec5504 : SUCCESS in 31m 12s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/68bd9cdee84b4bc98fc40a8e4d1ff252 : SUCCESS in 20m 57s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4ff7a00b99cc4a698fb248f9776141b8 : SUCCESS in 12m 11s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/6326429246c643aa99d3bf18af57b602 : SUCCESS in 20m 53s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/c3599e272f7d40aabfd0ad09ee26721d : SUCCESS in 4m 39s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/a9fd871e37024e5d98ba69c67f2cb9af : SUCCESS in 13m 06s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/16378297b5224894b8b75dc49decc453 : SUCCESS in 21m 24s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/b793a6db96b045689d9aaab8c3ffbfb8 : SUCCESS in 11m 41s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/7f664901d6f042cd95042ed97b8cef18 : SUCCESS in 10m 23s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/d0ac123877dd4631aa953cca4971f622 : SUCCESS in 14m 56s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/51b14c17308349a5bd51e9dd9b88da07 : SUCCESS in 9m 28s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/f4e907819c364b8380b08fe3f05bd438 : SUCCESS in 15m 46s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/8f7cd68e9f0b4d4ba74eee414c11ca29 : SUCCESS in 15m 19s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/40594d3ed12648d6a783579987125e78 : SUCCESS in 3m 36s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/6390587d5ddd4a5c948f228e49e1be33 : FAILURE in 10m 46s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/4a1131797c0b4ce085160e5db2e8f62a : SUCCESS in 10m 31s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/621280bfcf4a4c59b1e51a6af449177b : SUCCESS in 59m 23s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/7bf7e8488c0a4936a258fc1ff7a5122c : SUCCESS in 55m 31s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/5935dac9aa974c95bf46e29f8dc852d8 : SUCCESS in 24m 21s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/39350ecc2ba6449ba1cb1b6c59613420 : SUCCESS in 13m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/babab2b448dc499cb7370fcd7921e95e : SUCCESS in 4m 40s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/1e751700ecbc42e0ac60fd60386e2487 : SUCCESS in 18m 34s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/76457adde2f342f08662a90d5dd2e837 : SUCCESS in 50m 48s\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-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.\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.","accounts_in_message":[],"_revision_number":128},{"id":"522814aa98b1120ceb3e36dbe36164ce3febe0af","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-28 02:06:57.000000000","message":"Patch Set 128:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b5d046145afa406faf717309597cf243\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/721d4362f88d4a8c85b49c56c05e3666 : SUCCESS in 1h 09m 02s","accounts_in_message":[],"_revision_number":128},{"id":"0ca9d2507425c8ebe519b3b88001c7baf0332e9d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-08-28 11:59:22.000000000","message":"Uploaded patch set 129: Patch Set 128 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":129},{"id":"2c9dffccf28c48a94bd97274a3ca771fd39c54e2","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-28 12:33:00.000000000","message":"Patch Set 129:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f540fb8cdc9b4d0d9aa564181b785b32\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/6f2808b1a107451fb5e7b14cc75adf4e : SUCCESS in 30m 30s","accounts_in_message":[],"_revision_number":129},{"id":"24fe2d3acb567de0d78d5fc9344e369e53d32a37","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-28 13:12:49.000000000","message":"Patch Set 129: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/26fbfc10a64b4c37ab22664439a92e58\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ae4b39d4aeaa473b8eb63b42d89851d0 : SUCCESS in 9m 59s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/72bf9b5871434f18909a80158601e30f : SUCCESS in 9m 23s\n- grenade https://zuul.opendev.org/t/openstack/build/dea18151f2214a5f91db399486be27b2 : SUCCESS in 1h 02m 52s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/28085a2baa68431ca1d10fbadc133871 : SUCCESS in 1h 05m 11s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/6aa6c18e46e54e1f86099285fb2816fa : SUCCESS in 55m 20s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/7a59f96e6d7b43caa21c2142b93c0bd9 : SUCCESS in 44m 17s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ed4edd04e8fa49baa0c3898de5586e93 : SUCCESS in 12m 17s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e80fa08afff94d2991d3c981caa66517 : SUCCESS in 21m 59s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0e1952bb310149b68583ed4a26139cba : SUCCESS in 22m 11s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/fafd80c8ea71469bbbb2b7eb29ca7ed7 : SUCCESS in 5m 02s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/1346152ee37644a29a3573e20188a6c7 : SUCCESS in 25m 43s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/92d94ad3651d4ffd922e0a144230dd33 : SUCCESS in 20m 34s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/61302f08195445dfa16501e6c45d29d0 : SUCCESS in 20m 43s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/f3e1bd540ac84f2ea79a1e6b2a617901 : SUCCESS in 17m 14s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/16afc8b9987f465e93d8edb145b6a481 : SUCCESS in 9m 11s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/512540695fd1434493c1841087c27f73 : SUCCESS in 12m 21s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/7a5d45f5f78a4558ab53170243112d2a : SUCCESS in 17m 16s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/d42446096480440e870b702bbb65876a : SUCCESS in 17m 44s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/df7d37c73c04433d96f585ee513eb0f1 : SUCCESS in 4m 51s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/ae50e084233045f8b1cc1a8713b1de09 : FAILURE in 10m 13s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/30b7b4c9f4fd4cd4a02b0466c684f7d1 : SUCCESS in 10m 13s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/bc848abde4274c289b91653ce751fd00 : SUCCESS in 58m 13s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/e497799c36c940b28e1d338b20d84394 : SUCCESS in 26m 23s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/06c5301a31dc4b878f2093d5db44b48e : SUCCESS in 56m 18s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/79bfa576b1f54989843ec33b813fc43a : SUCCESS in 27m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8d8e00564da3473d805a201515e9126a : SUCCESS in 4m 17s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/c6a5570d51da432ca52c918aa049a92b : SUCCESS in 18m 58s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/5b3871635bb447658376a7935a1e9242 : SUCCESS in 30m 53s\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":129}],"current_revision_number":129,"current_revision":"3eb67c54ef1b8b8c6ca539c7683e7d5d0cff9657","revisions":{"520981384b2b1f574bf7eacb2006f0dd3f49f07b":{"kind":"REWORK","_number":1,"created":"2026-06-12 22:53:31.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/1"}}},"commit":{"parents":[{"commit":"80c64b1e4c6cf0ce59cb27d0459e77718a1a730f","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/80c64b1e4c6cf0ce59cb27d0459e77718a1a730f"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:53:15.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/520981384b2b1f574bf7eacb2006f0dd3f49f07b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/520981384b2b1f574bf7eacb2006f0dd3f49f07b"}]},"branch":"refs/heads/master"},"bbeb3ec73d2701df1dc43db92a930c5ae88a11f1":{"kind":"REWORK","_number":2,"created":"2026-06-13 00:50:09.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/2"}}},"commit":{"parents":[{"commit":"80c64b1e4c6cf0ce59cb27d0459e77718a1a730f","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/80c64b1e4c6cf0ce59cb27d0459e77718a1a730f"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-13 00:49:16.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bbeb3ec73d2701df1dc43db92a930c5ae88a11f1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bbeb3ec73d2701df1dc43db92a930c5ae88a11f1"}]},"branch":"refs/heads/master"},"694ab00912f7a410a28a2620cce666dc2905025e":{"kind":"REWORK","_number":3,"created":"2026-06-15 18:55:08.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/3"}}},"commit":{"parents":[{"commit":"80c64b1e4c6cf0ce59cb27d0459e77718a1a730f","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/80c64b1e4c6cf0ce59cb27d0459e77718a1a730f"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-15 18:54:57.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/694ab00912f7a410a28a2620cce666dc2905025e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/694ab00912f7a410a28a2620cce666dc2905025e"}]},"branch":"refs/heads/master"},"60954b871ad9a5512db943421bae279e3a9976ec":{"kind":"REWORK","_number":4,"created":"2026-06-15 22:13:14.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/4"}}},"commit":{"parents":[{"commit":"80c64b1e4c6cf0ce59cb27d0459e77718a1a730f","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/80c64b1e4c6cf0ce59cb27d0459e77718a1a730f"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-15 22:13:00.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/60954b871ad9a5512db943421bae279e3a9976ec"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/60954b871ad9a5512db943421bae279e3a9976ec"}]},"branch":"refs/heads/master"},"1d4699736e237a7a634971c03a1c5afdc7d346d3":{"kind":"REWORK","_number":5,"created":"2026-06-16 21:19:08.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/5"}}},"commit":{"parents":[{"commit":"80c64b1e4c6cf0ce59cb27d0459e77718a1a730f","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/80c64b1e4c6cf0ce59cb27d0459e77718a1a730f"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-16 21:18:25.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1d4699736e237a7a634971c03a1c5afdc7d346d3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1d4699736e237a7a634971c03a1c5afdc7d346d3"}]},"branch":"refs/heads/master"},"4a1b6c4dab7d6c288fb59a05129353a0d01e2355":{"kind":"TRIVIAL_REBASE","_number":6,"created":"2026-06-16 21:30:10.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/6"}}},"commit":{"parents":[{"commit":"927066d66fb96d344759dfc91ac5675e8b554aa9","subject":"s3api: Testing for User Checksum Presistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/927066d66fb96d344759dfc91ac5675e8b554aa9"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-16 21:29:51.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4a1b6c4dab7d6c288fb59a05129353a0d01e2355"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4a1b6c4dab7d6c288fb59a05129353a0d01e2355"}]},"branch":"refs/heads/master"},"475fcc5caa3d28172282cd4bede7f1924595742d":{"kind":"REWORK","_number":7,"created":"2026-06-22 18:45:24.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/7"}}},"commit":{"parents":[{"commit":"927066d66fb96d344759dfc91ac5675e8b554aa9","subject":"s3api: Testing for User Checksum Presistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/927066d66fb96d344759dfc91ac5675e8b554aa9"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-22 18:45:08.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/475fcc5caa3d28172282cd4bede7f1924595742d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/475fcc5caa3d28172282cd4bede7f1924595742d"}]},"branch":"refs/heads/master"},"d2d66ccb85031cee84e8b2938297f52d75ce885b":{"kind":"REWORK","_number":8,"created":"2026-06-23 17:17:22.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/8"}}},"commit":{"parents":[{"commit":"f8ee3a522f3c8161324d6f44a7c7a0e4b20b0e1d","subject":"s3api: Testing for User Checksum Presistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f8ee3a522f3c8161324d6f44a7c7a0e4b20b0e1d"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-23 17:17:06.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d2d66ccb85031cee84e8b2938297f52d75ce885b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d2d66ccb85031cee84e8b2938297f52d75ce885b"}]},"branch":"refs/heads/master"},"dece30c67a6541a346f1a4f3b502420345f7ef99":{"kind":"REWORK","_number":9,"created":"2026-06-23 17:28:59.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/9"}}},"commit":{"parents":[{"commit":"f8ee3a522f3c8161324d6f44a7c7a0e4b20b0e1d","subject":"s3api: Testing for User Checksum Presistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f8ee3a522f3c8161324d6f44a7c7a0e4b20b0e1d"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-23 17:28:45.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dece30c67a6541a346f1a4f3b502420345f7ef99"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dece30c67a6541a346f1a4f3b502420345f7ef99"}]},"branch":"refs/heads/master"},"c5db085d96faed228a1bc342d0c1dcca142e8456":{"kind":"REWORK","_number":10,"created":"2026-06-23 17:32:46.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/10"}}},"commit":{"parents":[{"commit":"f8ee3a522f3c8161324d6f44a7c7a0e4b20b0e1d","subject":"s3api: Testing for User Checksum Presistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f8ee3a522f3c8161324d6f44a7c7a0e4b20b0e1d"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-23 17:32:39.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c5db085d96faed228a1bc342d0c1dcca142e8456"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c5db085d96faed228a1bc342d0c1dcca142e8456"}]},"branch":"refs/heads/master"},"8ae28bd09871042b6ae5a05727373794b5fdf038":{"kind":"TRIVIAL_REBASE","_number":11,"created":"2026-06-23 17:46:34.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/11"}}},"commit":{"parents":[{"commit":"d8ed37b73a3b806998d91d5f83423ebf367d2f9a","subject":"s3api: Testing for User Checksum Presistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d8ed37b73a3b806998d91d5f83423ebf367d2f9a"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-23 17:46:34.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8ae28bd09871042b6ae5a05727373794b5fdf038"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8ae28bd09871042b6ae5a05727373794b5fdf038"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"f8ee3a522f3c8161324d6f44a7c7a0e4b20b0e1d","ours":"c5db085d96faed228a1bc342d0c1dcca142e8456","theirs":"d8ed37b73a3b806998d91d5f83423ebf367d2f9a","merge_strategy":"recursive","contains_conflicts":false}},"28350b9a3e12bfb16c115ab8c7bd9f45f2680327":{"kind":"REWORK","_number":12,"created":"2026-06-23 17:55:01.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/12"}}},"commit":{"parents":[{"commit":"d8ed37b73a3b806998d91d5f83423ebf367d2f9a","subject":"s3api: Testing for User Checksum Presistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d8ed37b73a3b806998d91d5f83423ebf367d2f9a"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-23 17:54:48.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/28350b9a3e12bfb16c115ab8c7bd9f45f2680327"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/28350b9a3e12bfb16c115ab8c7bd9f45f2680327"}]},"branch":"refs/heads/master"},"f140078f9974d2e6433a5e4d8c88b2719001fab0":{"kind":"TRIVIAL_REBASE","_number":13,"created":"2026-06-23 18:26:24.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/13","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/13","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/13"}}},"commit":{"parents":[{"commit":"3d323d44c4f92d2af45f8d34b95b1da80341a275","subject":"s3api: Testing for User Checksum Presistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3d323d44c4f92d2af45f8d34b95b1da80341a275"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-23 18:26:24.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f140078f9974d2e6433a5e4d8c88b2719001fab0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f140078f9974d2e6433a5e4d8c88b2719001fab0"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"d8ed37b73a3b806998d91d5f83423ebf367d2f9a","ours":"28350b9a3e12bfb16c115ab8c7bd9f45f2680327","theirs":"3d323d44c4f92d2af45f8d34b95b1da80341a275","merge_strategy":"recursive","contains_conflicts":false}},"0e7768407f4f7ee519efbf54a21aa4c5a96e2fbc":{"kind":"REWORK","_number":14,"created":"2026-06-24 20:01:45.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/14","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/14","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/14"}}},"commit":{"parents":[{"commit":"33a5d75345641574db0d8be26fd32ed77a223bf4","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/33a5d75345641574db0d8be26fd32ed77a223bf4"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-24 20:01:21.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0e7768407f4f7ee519efbf54a21aa4c5a96e2fbc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0e7768407f4f7ee519efbf54a21aa4c5a96e2fbc"}]},"branch":"refs/heads/master"},"9e732cc21757556abcbd8c73537790bdf2ac5c78":{"kind":"TRIVIAL_REBASE","_number":15,"created":"2026-06-24 20:54:38.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/15","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/15","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/15"}}},"commit":{"parents":[{"commit":"4d09f2fc372b4999e4ce649aabbfe1403970d5df","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4d09f2fc372b4999e4ce649aabbfe1403970d5df"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-24 20:54:38.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9e732cc21757556abcbd8c73537790bdf2ac5c78"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9e732cc21757556abcbd8c73537790bdf2ac5c78"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"33a5d75345641574db0d8be26fd32ed77a223bf4","ours":"0e7768407f4f7ee519efbf54a21aa4c5a96e2fbc","theirs":"4d09f2fc372b4999e4ce649aabbfe1403970d5df","merge_strategy":"recursive","contains_conflicts":false}},"3ed224410519d7b071058ae6944f20aa98d92f71":{"kind":"REWORK","_number":16,"created":"2026-06-25 16:03:14.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/16","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/16","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/16 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/16 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/16 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/16"}}},"commit":{"parents":[{"commit":"8a8ccf9cfd9fba40e96eb9db9a8745b4cb89ad0f","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8a8ccf9cfd9fba40e96eb9db9a8745b4cb89ad0f"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-25 04:30:11.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3ed224410519d7b071058ae6944f20aa98d92f71"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3ed224410519d7b071058ae6944f20aa98d92f71"}]},"branch":"refs/heads/master"},"a33e8b424d7cbf4c0cadc922313d1000d505dcf7":{"kind":"TRIVIAL_REBASE","_number":17,"created":"2026-06-25 16:08:32.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/17","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/17","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/17 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/17 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/17 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/17"}}},"commit":{"parents":[{"commit":"c1d7a7e6ef27cc08269e35912062095ab674ba33","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c1d7a7e6ef27cc08269e35912062095ab674ba33"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-25 16:08:32.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a33e8b424d7cbf4c0cadc922313d1000d505dcf7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a33e8b424d7cbf4c0cadc922313d1000d505dcf7"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"8a8ccf9cfd9fba40e96eb9db9a8745b4cb89ad0f","ours":"3ed224410519d7b071058ae6944f20aa98d92f71","theirs":"c1d7a7e6ef27cc08269e35912062095ab674ba33","merge_strategy":"recursive","contains_conflicts":false}},"e1c85b8d9442ced9ce4a2438da244541d1b2f444":{"kind":"REWORK","_number":18,"created":"2026-06-25 16:18:39.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/18","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/18","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/18 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/18 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/18 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/18"}}},"commit":{"parents":[{"commit":"41b378eed40212b6c00df8795558c552bbed9aa0","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/41b378eed40212b6c00df8795558c552bbed9aa0"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-25 16:18:29.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e1c85b8d9442ced9ce4a2438da244541d1b2f444"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e1c85b8d9442ced9ce4a2438da244541d1b2f444"}]},"branch":"refs/heads/master"},"45217b335be71b75ccd872dc3e732d5e4e557860":{"kind":"REWORK","_number":19,"created":"2026-06-25 16:33:21.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/19","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/19","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/19 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/19 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/19 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/19"}}},"commit":{"parents":[{"commit":"41b378eed40212b6c00df8795558c552bbed9aa0","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/41b378eed40212b6c00df8795558c552bbed9aa0"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-25 16:33:12.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/45217b335be71b75ccd872dc3e732d5e4e557860"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/45217b335be71b75ccd872dc3e732d5e4e557860"}]},"branch":"refs/heads/master"},"8115f9e14f829a69a78b99f389922f21d5f7845f":{"kind":"REWORK","_number":20,"created":"2026-06-25 22:55:34.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/20","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/20","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/20 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/20 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/20 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/20"}}},"commit":{"parents":[{"commit":"41b378eed40212b6c00df8795558c552bbed9aa0","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/41b378eed40212b6c00df8795558c552bbed9aa0"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-25 22:55:21.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8115f9e14f829a69a78b99f389922f21d5f7845f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8115f9e14f829a69a78b99f389922f21d5f7845f"}]},"branch":"refs/heads/master"},"1c7fcfb99992673ac7b81f661ea38896088c534f":{"kind":"TRIVIAL_REBASE","_number":21,"created":"2026-06-25 23:04:52.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/21","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/21","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/21 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/21 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/21 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/21"}}},"commit":{"parents":[{"commit":"24dae9eb5195c237d72e1942cf2eb97c8ee1e3ab","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/24dae9eb5195c237d72e1942cf2eb97c8ee1e3ab"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-25 22:57:19.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1c7fcfb99992673ac7b81f661ea38896088c534f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1c7fcfb99992673ac7b81f661ea38896088c534f"}]},"branch":"refs/heads/master"},"76ec497e2b27a05d7dc76d806f5a9f1c9a66ecbe":{"kind":"NO_CHANGE","_number":22,"created":"2026-06-26 22:14:09.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/22","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/22","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/22 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/22 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/22 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/22"}}},"commit":{"parents":[{"commit":"fb609cd4cb20e962b204d16db02534529b4a04b1","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fb609cd4cb20e962b204d16db02534529b4a04b1"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-26 22:14:09.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/76ec497e2b27a05d7dc76d806f5a9f1c9a66ecbe"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/76ec497e2b27a05d7dc76d806f5a9f1c9a66ecbe"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"24dae9eb5195c237d72e1942cf2eb97c8ee1e3ab","ours":"1c7fcfb99992673ac7b81f661ea38896088c534f","theirs":"fb609cd4cb20e962b204d16db02534529b4a04b1","merge_strategy":"recursive","contains_conflicts":false}},"2636fb1dd0446d4d2a43c6b804523bd8749c5f88":{"kind":"REWORK","_number":23,"created":"2026-06-26 22:28:45.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/23","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/23","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/23 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/23 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/23 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/23"}}},"commit":{"parents":[{"commit":"fb609cd4cb20e962b204d16db02534529b4a04b1","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fb609cd4cb20e962b204d16db02534529b4a04b1"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-12 22:48:55.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-06-26 22:28:01.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2636fb1dd0446d4d2a43c6b804523bd8749c5f88"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2636fb1dd0446d4d2a43c6b804523bd8749c5f88"}]},"branch":"refs/heads/master"},"045b5df993d4778b6177609b1037f9b6d1b09bcc":{"kind":"REWORK","_number":24,"created":"2026-07-02 15:19:18.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/24","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/24","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/24 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/24 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/24 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/24"}}},"commit":{"parents":[{"commit":"f2367fda7fa38fa4b1ee1cfc84cb496df08ad517","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f2367fda7fa38fa4b1ee1cfc84cb496df08ad517"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:52:41.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just test checksums on UploadPart requests\ninstead of the entire MPU lifecycle.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/045b5df993d4778b6177609b1037f9b6d1b09bcc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/045b5df993d4778b6177609b1037f9b6d1b09bcc"}]},"branch":"refs/heads/master"},"988b74985ea84c5661a7b01231b6a2155aa824df":{"kind":"REWORK","_number":25,"created":"2026-07-06 15:36:12.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/25","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/25","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/25 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/25 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/25 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/25"}}},"commit":{"parents":[{"commit":"eeae6e9e63783e6279409b5f764672a25967c1c2","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/eeae6e9e63783e6279409b5f764672a25967c1c2"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-06 15:35:48.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just test checksums on UploadPart requests\ninstead of the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum. We also use checksum\nmetadata from override headers in \u0027content-type\u0027 to\nget metadata during listing of MPU parts.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/988b74985ea84c5661a7b01231b6a2155aa824df"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/988b74985ea84c5661a7b01231b6a2155aa824df"}]},"branch":"refs/heads/master"},"f212d3d4085ecc89c7553dcc15b60e836b7e562a":{"kind":"TRIVIAL_REBASE","_number":26,"created":"2026-07-06 15:54:43.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/26","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/26","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/26 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/26 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/26 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/26"}}},"commit":{"parents":[{"commit":"a1c0e141d70061a05925747991205d39385afd54","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a1c0e141d70061a05925747991205d39385afd54"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-06 15:54:43.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just test checksums on UploadPart requests\ninstead of the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum. We also use checksum\nmetadata from override headers in \u0027content-type\u0027 to\nget metadata during listing of MPU parts.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f212d3d4085ecc89c7553dcc15b60e836b7e562a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f212d3d4085ecc89c7553dcc15b60e836b7e562a"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"eeae6e9e63783e6279409b5f764672a25967c1c2","ours":"988b74985ea84c5661a7b01231b6a2155aa824df","theirs":"a1c0e141d70061a05925747991205d39385afd54","merge_strategy":"recursive","contains_conflicts":false}},"ce6e1a9d51c808d33436e45847f5ae50d2ba4243":{"kind":"REWORK","_number":27,"created":"2026-07-06 19:24:47.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/27","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/27","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/27 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/27 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/27 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/27"}}},"commit":{"parents":[{"commit":"6c27b0bd5bcf642ed400cdadf2ed87718f37f3c6","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6c27b0bd5bcf642ed400cdadf2ed87718f37f3c6"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-06 19:02:35.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just test checksums on UploadPart requests\ninstead of the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ce6e1a9d51c808d33436e45847f5ae50d2ba4243"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ce6e1a9d51c808d33436e45847f5ae50d2ba4243"}]},"branch":"refs/heads/master"},"eb2d8aad725513b117eea11311d25f5161cf7c30":{"kind":"REWORK","_number":28,"created":"2026-07-07 01:17:07.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/28","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/28","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/28 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/28 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/28 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/28"}}},"commit":{"parents":[{"commit":"54c0b62e79c8657a2b17e064d162a18e6e8f4898","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/54c0b62e79c8657a2b17e064d162a18e6e8f4898"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-07 01:16:58.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just test checksums on UploadPart requests\ninstead of the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/eb2d8aad725513b117eea11311d25f5161cf7c30"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/eb2d8aad725513b117eea11311d25f5161cf7c30"}]},"branch":"refs/heads/master"},"c684aaa6fc30d01edf1cce144abcbdde105e27cc":{"kind":"TRIVIAL_REBASE","_number":29,"created":"2026-07-07 01:28:30.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/29","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/29","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/29 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/29 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/29 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/29"}}},"commit":{"parents":[{"commit":"199dd9f5d03dbdbea27c712d055eedb709ef83d0","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/199dd9f5d03dbdbea27c712d055eedb709ef83d0"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-07 01:28:30.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just test checksums on UploadPart requests\ninstead of the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c684aaa6fc30d01edf1cce144abcbdde105e27cc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c684aaa6fc30d01edf1cce144abcbdde105e27cc"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"54c0b62e79c8657a2b17e064d162a18e6e8f4898","ours":"eb2d8aad725513b117eea11311d25f5161cf7c30","theirs":"199dd9f5d03dbdbea27c712d055eedb709ef83d0","merge_strategy":"recursive","contains_conflicts":false}},"a3ec2e423c2775ab5fa668dc1a616edf06b7635b":{"kind":"REWORK","_number":30,"created":"2026-07-09 18:12:23.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/30","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/30","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/30 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/30 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/30 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/30"}}},"commit":{"parents":[{"commit":"199dd9f5d03dbdbea27c712d055eedb709ef83d0","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/199dd9f5d03dbdbea27c712d055eedb709ef83d0"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-09 18:12:01.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just test checksums on UploadPart requests\ninstead of the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a3ec2e423c2775ab5fa668dc1a616edf06b7635b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a3ec2e423c2775ab5fa668dc1a616edf06b7635b"}]},"branch":"refs/heads/master"},"b1f11e0f3e4b0967082de74dca67ab4bf1bc4e70":{"kind":"REWORK","_number":31,"created":"2026-07-09 22:48:05.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/31","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/31","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/31 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/31 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/31 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/31"}}},"commit":{"parents":[{"commit":"199dd9f5d03dbdbea27c712d055eedb709ef83d0","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/199dd9f5d03dbdbea27c712d055eedb709ef83d0"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-09 22:47:23.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b1f11e0f3e4b0967082de74dca67ab4bf1bc4e70"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b1f11e0f3e4b0967082de74dca67ab4bf1bc4e70"}]},"branch":"refs/heads/master"},"3f23857ada9f9d05c71880f2294329f9d1d4904d":{"kind":"REWORK","_number":32,"created":"2026-07-10 17:54:57.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/32","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/32","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/32 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/32 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/32 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/32"}}},"commit":{"parents":[{"commit":"199dd9f5d03dbdbea27c712d055eedb709ef83d0","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/199dd9f5d03dbdbea27c712d055eedb709ef83d0"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-10 17:54:43.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3f23857ada9f9d05c71880f2294329f9d1d4904d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3f23857ada9f9d05c71880f2294329f9d1d4904d"}]},"branch":"refs/heads/master"},"6a22cf9103f29e484435b2c89d718bc61c9adc0f":{"kind":"REWORK","_number":33,"created":"2026-07-16 15:45:49.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/33","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/33","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/33 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/33 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/33 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/33"}}},"commit":{"parents":[{"commit":"7c52b631f5b0ff7385ebb9d6b8945fdb3d6d9617","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7c52b631f5b0ff7385ebb9d6b8945fdb3d6d9617"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-16 15:45:22.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6a22cf9103f29e484435b2c89d718bc61c9adc0f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6a22cf9103f29e484435b2c89d718bc61c9adc0f"}]},"branch":"refs/heads/master"},"2b406bf8bb8c919f41bdc5f239ae4bc0f77fb540":{"kind":"TRIVIAL_REBASE","_number":34,"created":"2026-07-16 19:51:24.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/34","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/34","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/34 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/34 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/34 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/34"}}},"commit":{"parents":[{"commit":"66562ca79f57f52f34cc17487020652b4611f619","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/66562ca79f57f52f34cc17487020652b4611f619"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-16 19:51:24.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2b406bf8bb8c919f41bdc5f239ae4bc0f77fb540"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2b406bf8bb8c919f41bdc5f239ae4bc0f77fb540"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"7c52b631f5b0ff7385ebb9d6b8945fdb3d6d9617","ours":"6a22cf9103f29e484435b2c89d718bc61c9adc0f","theirs":"66562ca79f57f52f34cc17487020652b4611f619","merge_strategy":"recursive","contains_conflicts":false}},"f5d5c7dec3d39eb958b75d2083c16101c536a5f1":{"kind":"REWORK","_number":35,"created":"2026-07-16 20:48:29.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/35","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/35","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/35 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/35 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/35 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/35"}}},"commit":{"parents":[{"commit":"66562ca79f57f52f34cc17487020652b4611f619","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/66562ca79f57f52f34cc17487020652b4611f619"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-16 20:43:10.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  require each part to use the algorithm selected at initiation.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-By: Codex \u003cnoreply@openai.com\u003e\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f5d5c7dec3d39eb958b75d2083c16101c536a5f1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f5d5c7dec3d39eb958b75d2083c16101c536a5f1"}]},"branch":"refs/heads/master"},"bac9a055ad683c298483c11a9621d4afaa83f8cd":{"kind":"TRIVIAL_REBASE","_number":36,"created":"2026-07-16 21:19:30.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/36","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/36","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/36 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/36 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/36 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/36"}}},"commit":{"parents":[{"commit":"70455c1019383b9efa2dc2b3817e19f6b66d3153","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/70455c1019383b9efa2dc2b3817e19f6b66d3153"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-16 21:19:30.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  require each part to use the algorithm selected at initiation.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-By: Codex \u003cnoreply@openai.com\u003e\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bac9a055ad683c298483c11a9621d4afaa83f8cd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bac9a055ad683c298483c11a9621d4afaa83f8cd"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"66562ca79f57f52f34cc17487020652b4611f619","ours":"f5d5c7dec3d39eb958b75d2083c16101c536a5f1","theirs":"70455c1019383b9efa2dc2b3817e19f6b66d3153","merge_strategy":"recursive","contains_conflicts":false}},"ddfbca662ed441c7d7528a51fc12cafc0846dc75":{"kind":"REWORK","_number":37,"created":"2026-07-16 21:29:33.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/37","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/37","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/37 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/37 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/37 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/37"}}},"commit":{"parents":[{"commit":"70455c1019383b9efa2dc2b3817e19f6b66d3153","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/70455c1019383b9efa2dc2b3817e19f6b66d3153"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-16 21:27:50.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  require each part to use the algorithm selected at initiation.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ddfbca662ed441c7d7528a51fc12cafc0846dc75"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ddfbca662ed441c7d7528a51fc12cafc0846dc75"}]},"branch":"refs/heads/master"},"e4b82513df03c8f344a4c08c718b9e833c6f12cb":{"kind":"NO_CHANGE","_number":38,"created":"2026-07-16 21:32:13.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/38","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/38","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/38 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/38 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/38 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/38"}}},"commit":{"parents":[{"commit":"015a5f4c4da09f3ffc8cbfc8002a778a809de7d6","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/015a5f4c4da09f3ffc8cbfc8002a778a809de7d6"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-16 21:32:13.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during an\nMulti-Part Object Upload, but it does not presist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  require each part to use the algorithm selected at initiation.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e4b82513df03c8f344a4c08c718b9e833c6f12cb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e4b82513df03c8f344a4c08c718b9e833c6f12cb"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"70455c1019383b9efa2dc2b3817e19f6b66d3153","ours":"ddfbca662ed441c7d7528a51fc12cafc0846dc75","theirs":"015a5f4c4da09f3ffc8cbfc8002a778a809de7d6","merge_strategy":"recursive","contains_conflicts":false}},"65e4364e0b6ff406ca68c14b920a01655b6e9c6c":{"kind":"REWORK","_number":39,"created":"2026-07-17 23:31:36.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/39","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/39","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/39 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/39 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/39 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/39"}}},"commit":{"parents":[{"commit":"2af14523016d137ff74f68ac96041b7e797f37dd","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2af14523016d137ff74f68ac96041b7e797f37dd"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-17 23:31:20.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  require each part to use the algorithm selected at initiation.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/65e4364e0b6ff406ca68c14b920a01655b6e9c6c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/65e4364e0b6ff406ca68c14b920a01655b6e9c6c"}]},"branch":"refs/heads/master"},"6e74348aa3675a298f703afd782f3c6db2b60a56":{"kind":"REWORK","_number":40,"created":"2026-07-20 19:27:19.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/40","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/40","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/40 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/40 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/40 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/40"}}},"commit":{"parents":[{"commit":"2af14523016d137ff74f68ac96041b7e797f37dd","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2af14523016d137ff74f68ac96041b7e797f37dd"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-20 19:18:00.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6e74348aa3675a298f703afd782f3c6db2b60a56"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6e74348aa3675a298f703afd782f3c6db2b60a56"}]},"branch":"refs/heads/master"},"67ce3707d167fc977a1dbe13a4bd029128e2defa":{"kind":"REWORK","_number":41,"created":"2026-07-20 21:37:23.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/41","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/41","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/41 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/41 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/41 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/41"}}},"commit":{"parents":[{"commit":"2af14523016d137ff74f68ac96041b7e797f37dd","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2af14523016d137ff74f68ac96041b7e797f37dd"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-20 21:37:14.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/67ce3707d167fc977a1dbe13a4bd029128e2defa"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/67ce3707d167fc977a1dbe13a4bd029128e2defa"}]},"branch":"refs/heads/master"},"58e82c36e7641bc6959ba5bd07f9756692bc3781":{"kind":"TRIVIAL_REBASE","_number":42,"created":"2026-07-20 23:16:24.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/42","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/42","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/42 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/42 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/42 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/42"}}},"commit":{"parents":[{"commit":"c91ce9be05cedafbd3729832079585cc72a38f86","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c91ce9be05cedafbd3729832079585cc72a38f86"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-20 21:38:17.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/58e82c36e7641bc6959ba5bd07f9756692bc3781"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/58e82c36e7641bc6959ba5bd07f9756692bc3781"}]},"branch":"refs/heads/master"},"85531cc6fd3be6e071040eb9087cf71225500f7f":{"kind":"NO_CODE_CHANGE","_number":43,"created":"2026-07-20 23:17:32.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/43","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/43","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/43 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/43 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/43 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/43"}}},"commit":{"parents":[{"commit":"c91ce9be05cedafbd3729832079585cc72a38f86","subject":"s3api: User Checksum Persistence for Full Object Uploads","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c91ce9be05cedafbd3729832079585cc72a38f86"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-20 23:17:32.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/85531cc6fd3be6e071040eb9087cf71225500f7f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/85531cc6fd3be6e071040eb9087cf71225500f7f"}]},"branch":"refs/heads/master","description":"Edit commit message"},"c4e37d33d3e98fc7bf6da0cb3c5a7ceb14451028":{"kind":"TRIVIAL_REBASE","_number":44,"created":"2026-07-21 00:02:24.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/44","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/44","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/44 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/44 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/44 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/44"}}},"commit":{"parents":[{"commit":"a5e8e1dc0e5b39f808c48905005504dcd41ec31e","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a5e8e1dc0e5b39f808c48905005504dcd41ec31e"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-21 00:01:44.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c4e37d33d3e98fc7bf6da0cb3c5a7ceb14451028"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c4e37d33d3e98fc7bf6da0cb3c5a7ceb14451028"}]},"branch":"refs/heads/master"},"ea5a5b85390d0993c07b4b894088921892c89738":{"kind":"REWORK","_number":45,"created":"2026-07-21 16:27:23.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/45","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/45","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/45 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/45 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/45 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/45"}}},"commit":{"parents":[{"commit":"a363efdae189c94c6a1d7a58845ee7322997be31","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a363efdae189c94c6a1d7a58845ee7322997be31"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-21 16:27:06.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ea5a5b85390d0993c07b4b894088921892c89738"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ea5a5b85390d0993c07b4b894088921892c89738"}]},"branch":"refs/heads/master"},"9db306baff7d7b1f9aef55ea55007219b7cdc3fc":{"kind":"REWORK","_number":46,"created":"2026-07-21 20:40:08.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/46","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/46","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/46 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/46 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/46 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/46"}}},"commit":{"parents":[{"commit":"a363efdae189c94c6a1d7a58845ee7322997be31","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a363efdae189c94c6a1d7a58845ee7322997be31"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-21 20:33:31.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9db306baff7d7b1f9aef55ea55007219b7cdc3fc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9db306baff7d7b1f9aef55ea55007219b7cdc3fc"}]},"branch":"refs/heads/master"},"a7b4e8205f28f9211a5f0f4da701b8094b8f0227":{"kind":"REWORK","_number":47,"created":"2026-07-21 21:53:34.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/47","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/47","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/47 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/47 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/47 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/47"}}},"commit":{"parents":[{"commit":"a363efdae189c94c6a1d7a58845ee7322997be31","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a363efdae189c94c6a1d7a58845ee7322997be31"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-21 21:53:18.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a7b4e8205f28f9211a5f0f4da701b8094b8f0227"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a7b4e8205f28f9211a5f0f4da701b8094b8f0227"}]},"branch":"refs/heads/master"},"6810cd0bc3cee0da50a6e0f5aaa428b93518cb91":{"kind":"REWORK","_number":48,"created":"2026-07-21 22:24:22.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/48","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/48","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/48 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/48 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/48 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/48"}}},"commit":{"parents":[{"commit":"3b3df33678fe4cc77631ec56735b85c0fe632365","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3b3df33678fe4cc77631ec56735b85c0fe632365"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-21 22:24:12.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6810cd0bc3cee0da50a6e0f5aaa428b93518cb91"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6810cd0bc3cee0da50a6e0f5aaa428b93518cb91"}]},"branch":"refs/heads/master"},"b00c0f4681c7167edfce43d5114cc59267474340":{"kind":"TRIVIAL_REBASE","_number":49,"created":"2026-07-22 16:41:00.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/49","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/49","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/49 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/49 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/49 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/49"}}},"commit":{"parents":[{"commit":"24dd6be03cb7267e8157367cdd6f61e0ad8f3f91","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/24dd6be03cb7267e8157367cdd6f61e0ad8f3f91"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-22 16:41:00.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b00c0f4681c7167edfce43d5114cc59267474340"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b00c0f4681c7167edfce43d5114cc59267474340"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"3b3df33678fe4cc77631ec56735b85c0fe632365","ours":"6810cd0bc3cee0da50a6e0f5aaa428b93518cb91","theirs":"24dd6be03cb7267e8157367cdd6f61e0ad8f3f91","merge_strategy":"recursive","contains_conflicts":false}},"cf364de51ce11205f2f8c43d5a1f3d63e2995759":{"kind":"REWORK","_number":50,"created":"2026-07-22 16:55:48.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/50","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/50","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/50 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/50 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/50 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/50"}}},"commit":{"parents":[{"commit":"24dd6be03cb7267e8157367cdd6f61e0ad8f3f91","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/24dd6be03cb7267e8157367cdd6f61e0ad8f3f91"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-22 16:55:39.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cf364de51ce11205f2f8c43d5a1f3d63e2995759"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cf364de51ce11205f2f8c43d5a1f3d63e2995759"}]},"branch":"refs/heads/master"},"8e44beb433eccae9fe9e280d7e08f47e384d1a3b":{"kind":"TRIVIAL_REBASE","_number":51,"created":"2026-07-22 18:26:22.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/51","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/51","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/51 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/51 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/51 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/51"}}},"commit":{"parents":[{"commit":"09e0f79d526cf422f5122780850c73e982763569","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/09e0f79d526cf422f5122780850c73e982763569"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-22 18:26:22.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8e44beb433eccae9fe9e280d7e08f47e384d1a3b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8e44beb433eccae9fe9e280d7e08f47e384d1a3b"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"24dd6be03cb7267e8157367cdd6f61e0ad8f3f91","ours":"cf364de51ce11205f2f8c43d5a1f3d63e2995759","theirs":"09e0f79d526cf422f5122780850c73e982763569","merge_strategy":"recursive","contains_conflicts":false}},"7965583a0828d7517207c9c98d739ec1f7c6762f":{"kind":"REWORK","_number":52,"created":"2026-07-22 22:18:00.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/52","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/52","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/52 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/52 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/52 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/52"}}},"commit":{"parents":[{"commit":"a1b042b6a8ad050a7e3f06f049087572e96c8fe2","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a1b042b6a8ad050a7e3f06f049087572e96c8fe2"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-22 22:17:48.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7965583a0828d7517207c9c98d739ec1f7c6762f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7965583a0828d7517207c9c98d739ec1f7c6762f"}]},"branch":"refs/heads/master"},"79f00498f41b051f77303d11504b59676be5fc80":{"kind":"REWORK","_number":53,"created":"2026-07-22 23:57:15.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/53","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/53","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/53 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/53 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/53 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/53"}}},"commit":{"parents":[{"commit":"a1b042b6a8ad050a7e3f06f049087572e96c8fe2","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a1b042b6a8ad050a7e3f06f049087572e96c8fe2"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-22 23:57:03.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/79f00498f41b051f77303d11504b59676be5fc80"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/79f00498f41b051f77303d11504b59676be5fc80"}]},"branch":"refs/heads/master"},"ec149cf11a388d06847beeb09b7f69ce02d59b13":{"kind":"REWORK","_number":54,"created":"2026-07-27 15:34:10.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/54","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/54","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/54 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/54 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/54 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/54"}}},"commit":{"parents":[{"commit":"52a5a9d3953c80cb45dc606b39e14ffb6c4252cb","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/52a5a9d3953c80cb45dc606b39e14ffb6c4252cb"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-25 00:15:49.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the checksum that is the same as the MPU in the response, falling back\n  to the validated checksum if they do not match.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, then the MPU will fallback\n  to not calculating a checksum.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ec149cf11a388d06847beeb09b7f69ce02d59b13"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ec149cf11a388d06847beeb09b7f69ce02d59b13"}]},"branch":"refs/heads/master"},"b1e490064f33e96527c27fa6a7c0cfd6c7557ff9":{"kind":"REWORK","_number":55,"created":"2026-07-27 17:05:47.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/55","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/55","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/55 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/55 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/55 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/55"}}},"commit":{"parents":[{"commit":"a1b042b6a8ad050a7e3f06f049087572e96c8fe2","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a1b042b6a8ad050a7e3f06f049087572e96c8fe2"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-27 17:05:34.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b1e490064f33e96527c27fa6a7c0cfd6c7557ff9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b1e490064f33e96527c27fa6a7c0cfd6c7557ff9"}]},"branch":"refs/heads/master"},"85f937476edf03ad60415ba70558f3cbbfb9dd32":{"kind":"NO_CHANGE","_number":56,"created":"2026-07-27 17:06:17.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/56","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/56","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/56 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/56 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/56 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/56"}}},"commit":{"parents":[{"commit":"d8aa4c63338212b591604b70422cb4a1ea6ce4ca","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d8aa4c63338212b591604b70422cb4a1ea6ce4ca"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-27 17:06:17.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/85f937476edf03ad60415ba70558f3cbbfb9dd32"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/85f937476edf03ad60415ba70558f3cbbfb9dd32"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"a1b042b6a8ad050a7e3f06f049087572e96c8fe2","ours":"b1e490064f33e96527c27fa6a7c0cfd6c7557ff9","theirs":"d8aa4c63338212b591604b70422cb4a1ea6ce4ca","merge_strategy":"recursive","contains_conflicts":false}},"6216ae359ebefafd40fcd83eb7e721c1bca00016":{"kind":"TRIVIAL_REBASE","_number":57,"created":"2026-07-27 17:08:09.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/57","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/57","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/57 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/57 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/57 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/57"}}},"commit":{"parents":[{"commit":"dd808b5a3508a22ad48497c1af38f74c487531f1","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dd808b5a3508a22ad48497c1af38f74c487531f1"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-27 17:08:09.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6216ae359ebefafd40fcd83eb7e721c1bca00016"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6216ae359ebefafd40fcd83eb7e721c1bca00016"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"d8aa4c63338212b591604b70422cb4a1ea6ce4ca","ours":"85f937476edf03ad60415ba70558f3cbbfb9dd32","theirs":"dd808b5a3508a22ad48497c1af38f74c487531f1","merge_strategy":"recursive","contains_conflicts":false}},"330a1f65938676c92084ffa5d266a356c01f0c83":{"kind":"REWORK","_number":58,"created":"2026-07-27 20:01:45.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/58","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/58","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/58 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/58 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/58 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/58"}}},"commit":{"parents":[{"commit":"dd808b5a3508a22ad48497c1af38f74c487531f1","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dd808b5a3508a22ad48497c1af38f74c487531f1"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-27 19:57:50.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/330a1f65938676c92084ffa5d266a356c01f0c83"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/330a1f65938676c92084ffa5d266a356c01f0c83"}]},"branch":"refs/heads/master"},"291ff0e33b72ec9d64e5b071c775f65ed22ab628":{"kind":"REWORK","_number":59,"created":"2026-07-27 20:33:40.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/59","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/59","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/59 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/59 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/59 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/59"}}},"commit":{"parents":[{"commit":"dd808b5a3508a22ad48497c1af38f74c487531f1","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dd808b5a3508a22ad48497c1af38f74c487531f1"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-27 20:33:29.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/291ff0e33b72ec9d64e5b071c775f65ed22ab628"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/291ff0e33b72ec9d64e5b071c775f65ed22ab628"}]},"branch":"refs/heads/master"},"097bfb614af0119a28bd99a465b4f7e50597b0d0":{"kind":"REWORK","_number":60,"created":"2026-07-28 00:00:01.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/60","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/60","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/60 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/60 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/60 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/60"}}},"commit":{"parents":[{"commit":"dd808b5a3508a22ad48497c1af38f74c487531f1","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dd808b5a3508a22ad48497c1af38f74c487531f1"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-27 23:59:36.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/097bfb614af0119a28bd99a465b4f7e50597b0d0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/097bfb614af0119a28bd99a465b4f7e50597b0d0"}]},"branch":"refs/heads/master"},"ede11d45c73d8f7dfd231064f7629902b8e62217":{"kind":"TRIVIAL_REBASE","_number":61,"created":"2026-07-28 00:00:16.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/61","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/61","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/61 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/61 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/61 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/61"}}},"commit":{"parents":[{"commit":"80a52e7c09eef7bebf0fd99d026e011739c3120b","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/80a52e7c09eef7bebf0fd99d026e011739c3120b"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-28 00:00:16.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* UploadPartCopy requests and incompatible source checksums return 501.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ede11d45c73d8f7dfd231064f7629902b8e62217"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ede11d45c73d8f7dfd231064f7629902b8e62217"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"dd808b5a3508a22ad48497c1af38f74c487531f1","ours":"097bfb614af0119a28bd99a465b4f7e50597b0d0","theirs":"80a52e7c09eef7bebf0fd99d026e011739c3120b","merge_strategy":"recursive","contains_conflicts":false}},"74c0a75f3d7050dc2b962810df23f149be217a5a":{"kind":"REWORK","_number":62,"created":"2026-07-28 17:27:40.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/62","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/62","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/62 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/62 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/62 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/62"}}},"commit":{"parents":[{"commit":"dd808b5a3508a22ad48497c1af38f74c487531f1","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dd808b5a3508a22ad48497c1af38f74c487531f1"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-28 17:17:04.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* Compatible full-source UploadPartCopy requests preserve and return the\n  source checksum. Ranged copies, composite sources, and missing or\n  mismatched source checksums return 501 because Swift does not recompute\n  checksums for copied part data.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/74c0a75f3d7050dc2b962810df23f149be217a5a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/74c0a75f3d7050dc2b962810df23f149be217a5a"}]},"branch":"refs/heads/master"},"63a4a52cd5120d73c2d2b319e6aacdede8f76942":{"kind":"REWORK","_number":63,"created":"2026-07-28 17:33:33.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/63","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/63","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/63 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/63 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/63 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/63"}}},"commit":{"parents":[{"commit":"291eb176626e9254237a3db1549184fb0c115679","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/291eb176626e9254237a3db1549184fb0c115679"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-28 17:33:22.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* Compatible full-source UploadPartCopy requests preserve and return the\n  source checksum. Ranged copies, composite sources, and missing or\n  mismatched source checksums return 501 because Swift does not recompute\n  checksums for copied part data.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/63a4a52cd5120d73c2d2b319e6aacdede8f76942"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/63a4a52cd5120d73c2d2b319e6aacdede8f76942"}]},"branch":"refs/heads/master"},"dfbc5dda6760a28805e3aa93e38b007bfacfb343":{"kind":"REWORK","_number":64,"created":"2026-07-28 20:40:52.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/64","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/64","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/64 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/64 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/64 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/64"}}},"commit":{"parents":[{"commit":"291eb176626e9254237a3db1549184fb0c115679","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/291eb176626e9254237a3db1549184fb0c115679"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-28 20:40:22.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n  FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n* Compatible full-source UploadPartCopy requests preserve and return the\n  source checksum. Ranged copies, composite sources, and missing or\n  mismatched source checksums return 501 because Swift does not recompute\n  checksums for copied part data.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dfbc5dda6760a28805e3aa93e38b007bfacfb343"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dfbc5dda6760a28805e3aa93e38b007bfacfb343"}]},"branch":"refs/heads/master"},"9f52fca939464dd9576ab6044ce74c7c00d8d31b":{"kind":"REWORK","_number":65,"created":"2026-07-28 22:50:48.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/65","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/65","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/65 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/65 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/65 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/65"}}},"commit":{"parents":[{"commit":"291eb176626e9254237a3db1549184fb0c115679","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/291eb176626e9254237a3db1549184fb0c115679"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-28 22:49:24.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\n* Compatible full-source UploadPartCopy requests preserve and return the\n  source checksum. Ranged copies, composite sources, and missing or\n  mismatched source checksums return 501 because Swift does not recompute\n  checksums for copied part data.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9f52fca939464dd9576ab6044ce74c7c00d8d31b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9f52fca939464dd9576ab6044ce74c7c00d8d31b"}]},"branch":"refs/heads/master"},"638d710d1b03a6fc5888f712b7edfd4369ea9a16":{"kind":"NO_CODE_CHANGE","_number":66,"created":"2026-07-28 22:55:54.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/66","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/66","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/66 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/66 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/66 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/66"}}},"commit":{"parents":[{"commit":"291eb176626e9254237a3db1549184fb0c115679","subject":"slo: Add segment headers in slo_manifest_hook callback","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/291eb176626e9254237a3db1549184fb0c115679"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-28 22:51:38.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\n* Compatible full-source UploadPartCopy requests preserve and return the\n  source checksum. Ranged copies, composite sources, and missing or\n  mismatched source checksums return 501 because Swift does not recompute\n  checksums for copied part data.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/638d710d1b03a6fc5888f712b7edfd4369ea9a16"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/638d710d1b03a6fc5888f712b7edfd4369ea9a16"}]},"branch":"refs/heads/master"},"4dd98772b64d0f8f7407133d701cbc29223e48cc":{"kind":"REWORK","_number":67,"created":"2026-07-29 16:20:25.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/67","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/67","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/67 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/67 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/67 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/67"}}},"commit":{"parents":[{"commit":"50222e47d880de59495c7146dd6982359e51fe60","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/50222e47d880de59495c7146dd6982359e51fe60"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-29 16:19:37.000000000","tz":-420},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\n* Compatible full-source UploadPartCopy requests preserve and return the\n  source checksum. Ranged copies, composite sources, and missing or\n  mismatched source checksums return 501 because Swift does not recompute\n  checksums for copied part data.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4dd98772b64d0f8f7407133d701cbc29223e48cc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4dd98772b64d0f8f7407133d701cbc29223e48cc"}]},"branch":"refs/heads/master"},"2084b621d1d226ada3d04d645eff254c415e9c74":{"kind":"TRIVIAL_REBASE","_number":68,"created":"2026-07-29 18:20:51.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/68","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/68","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/68 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/68 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/68 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/68"}}},"commit":{"parents":[{"commit":"459b93c3315e96bf4135f3bb84018d34d455fff8","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/459b93c3315e96bf4135f3bb84018d34d455fff8"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-29 18:20:51.000000000","tz":0},"subject":"s3api: User Checksum Persistence on MPUs","message":"s3api: User Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy when the Copy Source does not have or\nmatch the checksum algorithm on the MPU.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* UploadPartCopy preserves and returns the source checksum when copying\n  the complete source object with a compatible checksum algorithm.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\n* Compatible full-source UploadPartCopy requests preserve and return the\n  source checksum. Ranged copies, composite sources, and missing or\n  mismatched source checksums return 501 because Swift does not recompute\n  checksums for copied part data.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2084b621d1d226ada3d04d645eff254c415e9c74"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2084b621d1d226ada3d04d645eff254c415e9c74"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"50222e47d880de59495c7146dd6982359e51fe60","ours":"4dd98772b64d0f8f7407133d701cbc29223e48cc","theirs":"459b93c3315e96bf4135f3bb84018d34d455fff8","merge_strategy":"recursive","contains_conflicts":false}},"470bb16fdf1f3260ff90a25e4e6d5837aeab0328":{"kind":"REWORK","_number":69,"created":"2026-07-31 19:55:34.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/69","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/69","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/69 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/69 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/69 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/69"}}},"commit":{"parents":[{"commit":"73a05c19e91253fc7df940f683e8d8642d2e4c88","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/73a05c19e91253fc7df940f683e8d8642d2e4c88"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-31 19:54:52.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/470bb16fdf1f3260ff90a25e4e6d5837aeab0328"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/470bb16fdf1f3260ff90a25e4e6d5837aeab0328"}]},"branch":"refs/heads/master"},"e570e414b6bf68dcd451f515963124a8b33f38e4":{"kind":"REWORK","_number":70,"created":"2026-07-31 20:11:24.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/70","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/70","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/70 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/70 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/70 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/70"}}},"commit":{"parents":[{"commit":"73a05c19e91253fc7df940f683e8d8642d2e4c88","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/73a05c19e91253fc7df940f683e8d8642d2e4c88"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-31 18:34:03.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e570e414b6bf68dcd451f515963124a8b33f38e4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e570e414b6bf68dcd451f515963124a8b33f38e4"}]},"branch":"refs/heads/master"},"14e87c7e89f8f0c055f5ce74977937d55c8588ad":{"kind":"REWORK","_number":71,"created":"2026-07-31 21:58:41.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/71","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/71","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/71 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/71 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/71 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/71"}}},"commit":{"parents":[{"commit":"73a05c19e91253fc7df940f683e8d8642d2e4c88","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/73a05c19e91253fc7df940f683e8d8642d2e4c88"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-31 21:58:33.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/14e87c7e89f8f0c055f5ce74977937d55c8588ad"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/14e87c7e89f8f0c055f5ce74977937d55c8588ad"}]},"branch":"refs/heads/master"},"b52edccfc405f3b7fad6f8cad6b78b80ac973007":{"kind":"TRIVIAL_REBASE","_number":72,"created":"2026-08-03 18:38:22.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/72","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/72","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/72 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/72 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/72 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/72"}}},"commit":{"parents":[{"commit":"ca60252c2c5bddd4e7a35809873bb4262a6ff7a0","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ca60252c2c5bddd4e7a35809873bb4262a6ff7a0"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-03 18:38:22.000000000","tz":0},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b52edccfc405f3b7fad6f8cad6b78b80ac973007"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b52edccfc405f3b7fad6f8cad6b78b80ac973007"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"73a05c19e91253fc7df940f683e8d8642d2e4c88","ours":"14e87c7e89f8f0c055f5ce74977937d55c8588ad","theirs":"ca60252c2c5bddd4e7a35809873bb4262a6ff7a0","merge_strategy":"recursive","contains_conflicts":false}},"ad87752e889cffb95f21e6e1397f2d02ca4cdf5d":{"kind":"REWORK","_number":73,"created":"2026-08-03 20:40:29.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/73","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/73","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/73 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/73 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/73 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/73"}}},"commit":{"parents":[{"commit":"ca60252c2c5bddd4e7a35809873bb4262a6ff7a0","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ca60252c2c5bddd4e7a35809873bb4262a6ff7a0"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-03 18:58:47.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ad87752e889cffb95f21e6e1397f2d02ca4cdf5d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ad87752e889cffb95f21e6e1397f2d02ca4cdf5d"}]},"branch":"refs/heads/master"},"3aef5fca60b6cadbdc8ad02289a3e2d1767a5dce":{"kind":"NO_CODE_CHANGE","_number":74,"created":"2026-08-03 20:44:43.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/74","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/74","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/74 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/74 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/74 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/74"}}},"commit":{"parents":[{"commit":"ca60252c2c5bddd4e7a35809873bb4262a6ff7a0","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ca60252c2c5bddd4e7a35809873bb4262a6ff7a0"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-03 20:43:51.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3aef5fca60b6cadbdc8ad02289a3e2d1767a5dce"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3aef5fca60b6cadbdc8ad02289a3e2d1767a5dce"}]},"branch":"refs/heads/master"},"d941546d79a54cb1c822e81996fe70b161624df4":{"kind":"REWORK","_number":75,"created":"2026-08-04 21:14:56.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/75","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/75","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/75 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/75 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/75 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/75"}}},"commit":{"parents":[{"commit":"63abedeb5af11bb5def77e6e275d3909f65183e9","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/63abedeb5af11bb5def77e6e275d3909f65183e9"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-04 20:41:19.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d941546d79a54cb1c822e81996fe70b161624df4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d941546d79a54cb1c822e81996fe70b161624df4"}]},"branch":"refs/heads/master"},"eebecc0f363b5b91f0f3ff692256efdaa8bc0e7b":{"kind":"REWORK","_number":76,"created":"2026-08-04 23:41:58.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/76","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/76","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/76 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/76 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/76 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/76"}}},"commit":{"parents":[{"commit":"63abedeb5af11bb5def77e6e275d3909f65183e9","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/63abedeb5af11bb5def77e6e275d3909f65183e9"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-04 23:41:49.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/eebecc0f363b5b91f0f3ff692256efdaa8bc0e7b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/eebecc0f363b5b91f0f3ff692256efdaa8bc0e7b"}]},"branch":"refs/heads/master"},"b43a153ebf5cb193897fdcae1c9fc83047a9799e":{"kind":"TRIVIAL_REBASE","_number":77,"created":"2026-08-04 23:42:26.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/77","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/77","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/77 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/77 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/77 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/77"}}},"commit":{"parents":[{"commit":"b15aca1d76299e1ac64b1ac51f458ebbc444d8fc","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b15aca1d76299e1ac64b1ac51f458ebbc444d8fc"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-04 23:42:26.000000000","tz":0},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b43a153ebf5cb193897fdcae1c9fc83047a9799e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b43a153ebf5cb193897fdcae1c9fc83047a9799e"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"63abedeb5af11bb5def77e6e275d3909f65183e9","ours":"eebecc0f363b5b91f0f3ff692256efdaa8bc0e7b","theirs":"b15aca1d76299e1ac64b1ac51f458ebbc444d8fc","merge_strategy":"recursive","contains_conflicts":false}},"068aa70f2cae31df7e6dfc538ea4ac2436d1bd75":{"kind":"REWORK","_number":78,"created":"2026-08-05 01:52:17.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/78","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/78","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/78 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/78 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/78 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/78"}}},"commit":{"parents":[{"commit":"b15aca1d76299e1ac64b1ac51f458ebbc444d8fc","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b15aca1d76299e1ac64b1ac51f458ebbc444d8fc"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-05 01:51:59.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/068aa70f2cae31df7e6dfc538ea4ac2436d1bd75"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/068aa70f2cae31df7e6dfc538ea4ac2436d1bd75"}]},"branch":"refs/heads/master"},"e42db3c85765251f86b98bcdfe6d85d03918aa99":{"kind":"REWORK","_number":79,"created":"2026-08-05 18:25:36.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/79","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/79","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/79 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/79 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/79 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/79"}}},"commit":{"parents":[{"commit":"b15aca1d76299e1ac64b1ac51f458ebbc444d8fc","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b15aca1d76299e1ac64b1ac51f458ebbc444d8fc"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-05 18:25:21.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e42db3c85765251f86b98bcdfe6d85d03918aa99"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e42db3c85765251f86b98bcdfe6d85d03918aa99"}]},"branch":"refs/heads/master"},"dcdfa17746bcac92baea83a76520de7d7f695551":{"kind":"REWORK","_number":80,"created":"2026-08-06 23:28:09.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/80","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/80","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/80 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/80 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/80 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/80"}}},"commit":{"parents":[{"commit":"0ca4a2ba71063bd9986d54fa5b92a5a2d6b5f2ce","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0ca4a2ba71063bd9986d54fa5b92a5a2d6b5f2ce"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-06 23:26:27.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy meaning if a client performs a UploadPartCopy\nrequest, then the MPU will not have a final checksum\nonce the MPU is completed\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dcdfa17746bcac92baea83a76520de7d7f695551"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dcdfa17746bcac92baea83a76520de7d7f695551"}]},"branch":"refs/heads/master"},"265000cba3c6367dd439a6d84eb363ff2a21c0bd":{"kind":"TRIVIAL_REBASE","_number":81,"created":"2026-08-06 23:28:35.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/81","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/81","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/81 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/81 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/81 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/81"}}},"commit":{"parents":[{"commit":"3d306cbf558658121dc8c828a3f8101e41658074","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3d306cbf558658121dc8c828a3f8101e41658074"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-06 23:28:35.000000000","tz":0},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy meaning if a client performs a UploadPartCopy\nrequest, then the MPU will not have a final checksum\nonce the MPU is completed\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/265000cba3c6367dd439a6d84eb363ff2a21c0bd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/265000cba3c6367dd439a6d84eb363ff2a21c0bd"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"0ca4a2ba71063bd9986d54fa5b92a5a2d6b5f2ce","ours":"dcdfa17746bcac92baea83a76520de7d7f695551","theirs":"3d306cbf558658121dc8c828a3f8101e41658074","merge_strategy":"recursive","contains_conflicts":false}},"8bf0276dd2a491a1aec9d9d593a189db47331444":{"kind":"NO_CODE_CHANGE","_number":82,"created":"2026-08-06 23:28:54.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/82","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/82","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/82 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/82 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/82 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/82"}}},"commit":{"parents":[{"commit":"3d306cbf558658121dc8c828a3f8101e41658074","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3d306cbf558658121dc8c828a3f8101e41658074"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-06 23:28:54.000000000","tz":0},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy meaning if a client performs a UploadPartCopy\nrequest, then the MPU will not have a final checksum\nonce the MPU is completed.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8bf0276dd2a491a1aec9d9d593a189db47331444"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8bf0276dd2a491a1aec9d9d593a189db47331444"}]},"branch":"refs/heads/master","description":"Edit commit message","conflicts":{"base":"0ca4a2ba71063bd9986d54fa5b92a5a2d6b5f2ce","ours":"dcdfa17746bcac92baea83a76520de7d7f695551","theirs":"3d306cbf558658121dc8c828a3f8101e41658074","merge_strategy":"recursive","contains_conflicts":false}},"fd30826cd05187231f1e8b34b4cb243b1a211bd7":{"kind":"TRIVIAL_REBASE","_number":83,"created":"2026-08-07 18:35:26.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/83","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/83","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/83 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/83 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/83 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/83"}}},"commit":{"parents":[{"commit":"37ccf9a8cb5da449e649d65feec6a7a1535356fd","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/37ccf9a8cb5da449e649d65feec6a7a1535356fd"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-07 18:35:26.000000000","tz":0},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy meaning if a client performs a UploadPartCopy\nrequest, then the MPU will not have a final checksum\nonce the MPU is completed.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fd30826cd05187231f1e8b34b4cb243b1a211bd7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fd30826cd05187231f1e8b34b4cb243b1a211bd7"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"3d306cbf558658121dc8c828a3f8101e41658074","ours":"8bf0276dd2a491a1aec9d9d593a189db47331444","theirs":"37ccf9a8cb5da449e649d65feec6a7a1535356fd","merge_strategy":"recursive","contains_conflicts":false}},"0bd9dc5ad4957957582ba83cc343c8806dd1c856":{"kind":"TRIVIAL_REBASE","_number":84,"created":"2026-08-07 20:16:48.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/84","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/84","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/84 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/84 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/84 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/84"}}},"commit":{"parents":[{"commit":"d7fba28c12fed7013e3dcbbd7aaaf227061806ea","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d7fba28c12fed7013e3dcbbd7aaaf227061806ea"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-07 20:16:48.000000000","tz":0},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy meaning if a client performs a UploadPartCopy\nrequest, then the MPU will not have a final checksum\nonce the MPU is completed.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0bd9dc5ad4957957582ba83cc343c8806dd1c856"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0bd9dc5ad4957957582ba83cc343c8806dd1c856"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"37ccf9a8cb5da449e649d65feec6a7a1535356fd","ours":"fd30826cd05187231f1e8b34b4cb243b1a211bd7","theirs":"d7fba28c12fed7013e3dcbbd7aaaf227061806ea","merge_strategy":"recursive","contains_conflicts":false}},"c637ac5198af53cc638ba916dc750cadee9bd98b":{"kind":"REWORK","_number":85,"created":"2026-08-07 20:54:24.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/85","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/85","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/85 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/85 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/85 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/85"}}},"commit":{"parents":[{"commit":"3af7839c7d78e61f0f9bcafafb7c1e9ae3f8b0f8","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3af7839c7d78e61f0f9bcafafb7c1e9ae3f8b0f8"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-07 20:32:31.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c637ac5198af53cc638ba916dc750cadee9bd98b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c637ac5198af53cc638ba916dc750cadee9bd98b"}]},"branch":"refs/heads/master"},"97d1398acfdecee874011116db902a2e658ffde3":{"kind":"REWORK","_number":86,"created":"2026-08-07 23:13:30.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/86","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/86","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/86 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/86 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/86 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/86"}}},"commit":{"parents":[{"commit":"3af7839c7d78e61f0f9bcafafb7c1e9ae3f8b0f8","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3af7839c7d78e61f0f9bcafafb7c1e9ae3f8b0f8"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-07 23:13:12.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and persists x-amz-checksum-* values and returns\n  the validated checksum in the response. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/97d1398acfdecee874011116db902a2e658ffde3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/97d1398acfdecee874011116db902a2e658ffde3"}]},"branch":"refs/heads/master"},"a62ccd24c5251047ffebb702bbd568b819169db9":{"kind":"REWORK","_number":87,"created":"2026-08-09 23:53:06.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/87","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/87","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/87 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/87 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/87 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/87"}}},"commit":{"parents":[{"commit":"82f6c0e2bedbefe170c4736c5795f9a6696baacf","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/82f6c0e2bedbefe170c4736c5795f9a6696baacf"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-09 23:03:42.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a62ccd24c5251047ffebb702bbd568b819169db9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a62ccd24c5251047ffebb702bbd568b819169db9"}]},"branch":"refs/heads/master"},"8be1240fd3283ce278580f16425230427e76c100":{"kind":"REWORK","_number":88,"created":"2026-08-11 00:51:03.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/88","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/88","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/88 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/88 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/88 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/88"}}},"commit":{"parents":[{"commit":"583830498dea2fa97395e47adf8ed1b7d6d5a66b","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/583830498dea2fa97395e47adf8ed1b7d6d5a66b"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-11 00:50:32.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8be1240fd3283ce278580f16425230427e76c100"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8be1240fd3283ce278580f16425230427e76c100"}]},"branch":"refs/heads/master"},"a9eaf2f962f67e5f78729d2ab242c44dbb964fff":{"kind":"REWORK","_number":89,"created":"2026-08-11 01:02:48.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/89","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/89","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/89 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/89 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/89 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/89"}}},"commit":{"parents":[{"commit":"583830498dea2fa97395e47adf8ed1b7d6d5a66b","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/583830498dea2fa97395e47adf8ed1b7d6d5a66b"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-11 01:02:32.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a9eaf2f962f67e5f78729d2ab242c44dbb964fff"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a9eaf2f962f67e5f78729d2ab242c44dbb964fff"}]},"branch":"refs/heads/master"},"8a167975c08984825b1445be169b81b6ae78f8f0":{"kind":"REWORK","_number":90,"created":"2026-08-11 15:58:45.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/90","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/90","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/90 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/90 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/90 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/90"}}},"commit":{"parents":[{"commit":"583830498dea2fa97395e47adf8ed1b7d6d5a66b","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/583830498dea2fa97395e47adf8ed1b7d6d5a66b"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-11 15:58:34.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8a167975c08984825b1445be169b81b6ae78f8f0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8a167975c08984825b1445be169b81b6ae78f8f0"}]},"branch":"refs/heads/master"},"ae4f90c3e9836e6b397ac84817e1f195cd560cbc":{"kind":"REWORK","_number":91,"created":"2026-08-12 01:25:12.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/91","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/91","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/91 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/91 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/91 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/91"}}},"commit":{"parents":[{"commit":"0b95488b21e984bd9b5aed9bc7c18be39648d83f","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0b95488b21e984bd9b5aed9bc7c18be39648d83f"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-12 00:26:40.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ae4f90c3e9836e6b397ac84817e1f195cd560cbc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ae4f90c3e9836e6b397ac84817e1f195cd560cbc"}]},"branch":"refs/heads/master"},"a9fdb8c9b0997ab5ad524f9373e9c990f798ace8":{"kind":"REWORK","_number":92,"created":"2026-08-12 06:05:16.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/92","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/92","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/92 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/92 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/92 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/92"}}},"commit":{"parents":[{"commit":"0b95488b21e984bd9b5aed9bc7c18be39648d83f","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0b95488b21e984bd9b5aed9bc7c18be39648d83f"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-12 06:05:07.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a9fdb8c9b0997ab5ad524f9373e9c990f798ace8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a9fdb8c9b0997ab5ad524f9373e9c990f798ace8"}]},"branch":"refs/heads/master"},"1734fb8c60562d4f346cb4fb38612206211c46fe":{"kind":"REWORK","_number":93,"created":"2026-08-13 01:16:55.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/93","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/93","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/93 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/93 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/93 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/93"}}},"commit":{"parents":[{"commit":"0b95488b21e984bd9b5aed9bc7c18be39648d83f","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0b95488b21e984bd9b5aed9bc7c18be39648d83f"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-13 00:12:32.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1734fb8c60562d4f346cb4fb38612206211c46fe"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1734fb8c60562d4f346cb4fb38612206211c46fe"}]},"branch":"refs/heads/master"},"5b5c8a2378c798025d8f185f69adecfe98a1c3f3":{"kind":"REWORK","_number":94,"created":"2026-08-13 23:40:42.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/94","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/94","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/94 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/94 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/94 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/94"}}},"commit":{"parents":[{"commit":"0b95488b21e984bd9b5aed9bc7c18be39648d83f","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0b95488b21e984bd9b5aed9bc7c18be39648d83f"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-13 23:40:29.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5b5c8a2378c798025d8f185f69adecfe98a1c3f3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5b5c8a2378c798025d8f185f69adecfe98a1c3f3"}]},"branch":"refs/heads/master"},"8cfa03f97961218ae6ab7a8dda12f080a51ac00f":{"kind":"REWORK","_number":95,"created":"2026-08-14 22:41:03.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/95","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/95","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/95 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/95 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/95 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/95"}}},"commit":{"parents":[{"commit":"0b95488b21e984bd9b5aed9bc7c18be39648d83f","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0b95488b21e984bd9b5aed9bc7c18be39648d83f"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-14 22:28:19.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8cfa03f97961218ae6ab7a8dda12f080a51ac00f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8cfa03f97961218ae6ab7a8dda12f080a51ac00f"}]},"branch":"refs/heads/master"},"2e9b44fd0e675e04c08c0c4f2b5e04422273b70a":{"kind":"REWORK","_number":96,"created":"2026-08-14 23:08:13.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/96","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/96","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/96 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/96 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/96 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/96"}}},"commit":{"parents":[{"commit":"46528d666a326311b1aa54df1279a22a89f94e57","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/46528d666a326311b1aa54df1279a22a89f94e57"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-14 23:07:01.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2e9b44fd0e675e04c08c0c4f2b5e04422273b70a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2e9b44fd0e675e04c08c0c4f2b5e04422273b70a"}]},"branch":"refs/heads/master"},"6a702820d367d1d38e619ed87c00ca19787b0fd5":{"kind":"REWORK","_number":97,"created":"2026-08-14 23:43:24.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/97","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/97","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/97 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/97 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/97 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/97"}}},"commit":{"parents":[{"commit":"46528d666a326311b1aa54df1279a22a89f94e57","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/46528d666a326311b1aa54df1279a22a89f94e57"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-14 23:42:58.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6a702820d367d1d38e619ed87c00ca19787b0fd5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/6a702820d367d1d38e619ed87c00ca19787b0fd5"}]},"branch":"refs/heads/master"},"a3c3c8aab342416d520a57f8787140e525bc3744":{"kind":"REWORK","_number":98,"created":"2026-08-17 15:10:11.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/98","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/98","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/98 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/98 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/98 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/98"}}},"commit":{"parents":[{"commit":"e758426e98113d204d8c2bc891f7759ce27492af","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e758426e98113d204d8c2bc891f7759ce27492af"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-17 03:04:50.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\nHowever, we do add piece of checksum metadata on each\nof the SLO segments on the final manifest for future\nsupport of this feature.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a3c3c8aab342416d520a57f8787140e525bc3744"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a3c3c8aab342416d520a57f8787140e525bc3744"}]},"branch":"refs/heads/master"},"8fd179ba8219ec44388673f38caee569eda8805e":{"kind":"REWORK","_number":99,"created":"2026-08-18 18:52:45.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/99","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/99","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/99 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/99 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/99 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/99"}}},"commit":{"parents":[{"commit":"9d407680236be34b04ac6171e06766621fb6d43d","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9d407680236be34b04ac6171e06766621fb6d43d"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-18 17:30:02.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\nHowever, we do add piece of checksum metadata on each\nof the SLO segments on the final manifest for future\nsupport of this feature.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8fd179ba8219ec44388673f38caee569eda8805e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8fd179ba8219ec44388673f38caee569eda8805e"}]},"branch":"refs/heads/master"},"0feaf95e7b378b5ab3d982903797212e72ed0b32":{"kind":"REWORK","_number":100,"created":"2026-08-18 21:44:13.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/100","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/100","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/100 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/100 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/100 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/100"}}},"commit":{"parents":[{"commit":"9d407680236be34b04ac6171e06766621fb6d43d","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9d407680236be34b04ac6171e06766621fb6d43d"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-18 21:05:31.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0feaf95e7b378b5ab3d982903797212e72ed0b32"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0feaf95e7b378b5ab3d982903797212e72ed0b32"}]},"branch":"refs/heads/master"},"fde6b45146e628085ca47d93b8401970f1658635":{"kind":"REWORK","_number":101,"created":"2026-08-18 22:32:30.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/101","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/101","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/101 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/101 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/101 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/101"}}},"commit":{"parents":[{"commit":"0975321af63473ebaf7a27af57ac177cbcab2c9f","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0975321af63473ebaf7a27af57ac177cbcab2c9f"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-18 22:25:28.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fde6b45146e628085ca47d93b8401970f1658635"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fde6b45146e628085ca47d93b8401970f1658635"}]},"branch":"refs/heads/master"},"a6b9a0626a77503c27531fb39e8714695c2fa954":{"kind":"REWORK","_number":102,"created":"2026-08-18 23:46:44.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/102","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/102","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/102 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/102 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/102 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/102"}}},"commit":{"parents":[{"commit":"9d407680236be34b04ac6171e06766621fb6d43d","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9d407680236be34b04ac6171e06766621fb6d43d"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-18 23:46:34.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a6b9a0626a77503c27531fb39e8714695c2fa954"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a6b9a0626a77503c27531fb39e8714695c2fa954"}]},"branch":"refs/heads/master"},"28d4c34892bd059636a73de6345ce5971169eb37":{"kind":"REWORK","_number":103,"created":"2026-08-18 23:51:19.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/103","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/103","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/103 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/103 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/103 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/103"}}},"commit":{"parents":[{"commit":"9d407680236be34b04ac6171e06766621fb6d43d","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9d407680236be34b04ac6171e06766621fb6d43d"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-18 23:50:34.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/28d4c34892bd059636a73de6345ce5971169eb37"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/28d4c34892bd059636a73de6345ce5971169eb37"}]},"branch":"refs/heads/master"},"9539c38f84c06453e31bb002d2e72578382fd860":{"kind":"NO_CHANGE","_number":104,"created":"2026-08-18 23:51:47.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/104","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/104","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/104 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/104 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/104 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/104"}}},"commit":{"parents":[{"commit":"0975321af63473ebaf7a27af57ac177cbcab2c9f","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0975321af63473ebaf7a27af57ac177cbcab2c9f"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-18 23:51:47.000000000","tz":0},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9539c38f84c06453e31bb002d2e72578382fd860"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9539c38f84c06453e31bb002d2e72578382fd860"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"9d407680236be34b04ac6171e06766621fb6d43d","ours":"28d4c34892bd059636a73de6345ce5971169eb37","theirs":"0975321af63473ebaf7a27af57ac177cbcab2c9f","merge_strategy":"recursive","contains_conflicts":false}},"c6d39665bfb2d71052f5b760f27da44d4658f3a2":{"kind":"REWORK","_number":105,"created":"2026-08-19 22:49:24.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/105","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/105","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/105 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/105 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/105 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/105"}}},"commit":{"parents":[{"commit":"f77b6b3cfda0b221886f77c7ea0bfcb8662158bd","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f77b6b3cfda0b221886f77c7ea0bfcb8662158bd"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-19 18:42:39.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c6d39665bfb2d71052f5b760f27da44d4658f3a2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c6d39665bfb2d71052f5b760f27da44d4658f3a2"}]},"branch":"refs/heads/master"},"2e2c552a0f6dac5c25bd607a4be826102587f242":{"kind":"REWORK","_number":106,"created":"2026-08-20 01:39:52.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/106","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/106","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/106 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/106 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/106 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/106"}}},"commit":{"parents":[{"commit":"f77b6b3cfda0b221886f77c7ea0bfcb8662158bd","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f77b6b3cfda0b221886f77c7ea0bfcb8662158bd"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-20 01:36:19.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2e2c552a0f6dac5c25bd607a4be826102587f242"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2e2c552a0f6dac5c25bd607a4be826102587f242"}]},"branch":"refs/heads/master"},"f38758035f117274f2214c977352826702c09bfd":{"kind":"REWORK","_number":107,"created":"2026-08-20 15:48:45.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/107","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/107","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/107 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/107 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/107 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/107"}}},"commit":{"parents":[{"commit":"fb5fa1b7907f4348beedabfff25bddd70b934010","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fb5fa1b7907f4348beedabfff25bddd70b934010"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-20 15:44:55.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-by: Codex:gpt-5.5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f38758035f117274f2214c977352826702c09bfd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f38758035f117274f2214c977352826702c09bfd"}]},"branch":"refs/heads/master"},"5386e70c92f9c84f6e48366d37d7fcc71d68e39d":{"kind":"REWORK","_number":108,"created":"2026-08-20 20:25:02.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/108","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/108","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/108 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/108 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/108 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/108"}}},"commit":{"parents":[{"commit":"fb5fa1b7907f4348beedabfff25bddd70b934010","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fb5fa1b7907f4348beedabfff25bddd70b934010"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-20 20:10:54.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5386e70c92f9c84f6e48366d37d7fcc71d68e39d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5386e70c92f9c84f6e48366d37d7fcc71d68e39d"}]},"branch":"refs/heads/master"},"74fb687e888f0b2f162587a5f87a13095d6155e0":{"kind":"REWORK","_number":109,"created":"2026-08-20 21:39:04.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/109","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/109","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/109 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/109 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/109 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/109"}}},"commit":{"parents":[{"commit":"fb5fa1b7907f4348beedabfff25bddd70b934010","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fb5fa1b7907f4348beedabfff25bddd70b934010"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-20 21:09:03.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/74fb687e888f0b2f162587a5f87a13095d6155e0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/74fb687e888f0b2f162587a5f87a13095d6155e0"}]},"branch":"refs/heads/master"},"7430c3b01abc0b05e6fb7b50aa6d18f2a30c43f9":{"kind":"REWORK","_number":110,"created":"2026-08-20 21:56:51.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/110","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/110","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/110 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/110 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/110 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/110"}}},"commit":{"parents":[{"commit":"fb5fa1b7907f4348beedabfff25bddd70b934010","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fb5fa1b7907f4348beedabfff25bddd70b934010"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-20 21:55:50.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7430c3b01abc0b05e6fb7b50aa6d18f2a30c43f9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7430c3b01abc0b05e6fb7b50aa6d18f2a30c43f9"}]},"branch":"refs/heads/master"},"c267f845d6a9aabf1c77afa0ee0008f0aea962a3":{"kind":"REWORK","_number":111,"created":"2026-08-20 22:52:24.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/111","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/111","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/111 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/111 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/111 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/111"}}},"commit":{"parents":[{"commit":"fb5fa1b7907f4348beedabfff25bddd70b934010","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/fb5fa1b7907f4348beedabfff25bddd70b934010"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-20 22:51:30.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c267f845d6a9aabf1c77afa0ee0008f0aea962a3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c267f845d6a9aabf1c77afa0ee0008f0aea962a3"}]},"branch":"refs/heads/master"},"5a4c6eb343bdc096f1f6fb7d2ebab20b98b74f50":{"kind":"REWORK","_number":112,"created":"2026-08-21 21:22:10.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/112","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/112","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/112 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/112 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/112 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/112"}}},"commit":{"parents":[{"commit":"952bf92bc9b6a3d41b310f78be78273bddb0c6a1","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/952bf92bc9b6a3d41b310f78be78273bddb0c6a1"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-21 21:15:48.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5a4c6eb343bdc096f1f6fb7d2ebab20b98b74f50"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5a4c6eb343bdc096f1f6fb7d2ebab20b98b74f50"}]},"branch":"refs/heads/master"},"561e73b93d850183a1d1af214f12b1e5000ba10b":{"kind":"REWORK","_number":113,"created":"2026-08-21 21:35:34.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/113","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/113","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/113 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/113 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/113 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/113"}}},"commit":{"parents":[{"commit":"952bf92bc9b6a3d41b310f78be78273bddb0c6a1","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/952bf92bc9b6a3d41b310f78be78273bddb0c6a1"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-21 21:34:25.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/561e73b93d850183a1d1af214f12b1e5000ba10b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/561e73b93d850183a1d1af214f12b1e5000ba10b"}]},"branch":"refs/heads/master"},"05666f82e452fe60bfd41102cae6daccacff7f92":{"kind":"REWORK","_number":114,"created":"2026-08-24 15:47:56.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/114","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/114","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/114 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/114 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/114 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/114"}}},"commit":{"parents":[{"commit":"c6c7ebe2177963589fe0ff0e4d96c0df33ac4278","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c6c7ebe2177963589fe0ff0e4d96c0df33ac4278"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-24 15:26:36.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/05666f82e452fe60bfd41102cae6daccacff7f92"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/05666f82e452fe60bfd41102cae6daccacff7f92"}]},"branch":"refs/heads/master"},"d306f9c6dea355b3037fe2ef4d5fdeb55d60b70f":{"kind":"REWORK","_number":115,"created":"2026-08-24 22:45:29.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/115","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/115","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/115 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/115 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/115 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/115"}}},"commit":{"parents":[{"commit":"4b11615837ea1c0fdbcbcad58405eed0cef49054","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4b11615837ea1c0fdbcbcad58405eed0cef49054"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-24 22:03:41.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d306f9c6dea355b3037fe2ef4d5fdeb55d60b70f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d306f9c6dea355b3037fe2ef4d5fdeb55d60b70f"}]},"branch":"refs/heads/master"},"3dedee9e46f8c3fc67d3e1fa633169c8aac2a254":{"kind":"REWORK","_number":116,"created":"2026-08-24 23:45:16.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/116","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/116","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/116 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/116 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/116 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/116"}}},"commit":{"parents":[{"commit":"ac73a9488adf27bf4c3705c0772f67606258a5a1","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ac73a9488adf27bf4c3705c0772f67606258a5a1"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-24 23:42:34.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3dedee9e46f8c3fc67d3e1fa633169c8aac2a254"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3dedee9e46f8c3fc67d3e1fa633169c8aac2a254"}]},"branch":"refs/heads/master"},"194ece96cc2170ac74c5d1b18c8fec00bb06e6f7":{"kind":"REWORK","_number":117,"created":"2026-08-25 03:15:59.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/117","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/117","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/117 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/117 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/117 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/117"}}},"commit":{"parents":[{"commit":"ac73a9488adf27bf4c3705c0772f67606258a5a1","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ac73a9488adf27bf4c3705c0772f67606258a5a1"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-07-02 03:31:35.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-25 03:06:29.000000000","tz":-420},"subject":"s3api: Checksum Persistence on MPUs","message":"s3api: Checksum Persistence on MPUs\n\nSwift does checksum validation on UploadPart during a\nMulti-Part Object Upload, but it does not persist that checksum\nmetadata after.\n\nLike checksum persistence on full object uploads,\nThis patch allows users of the s3api to specify a checksum\nalgorithm during a Multi Part Upload of both\nFULL_OBJECT checksum types and also COMPOSITE checksum types.\nA user can also just insert specific checksums on UploadPart requests\ninstead the same checksum on each part the entire MPU lifecycle.\n\nWe persist s3api sysmeta headers on the MPU manifest\nand use that to decide what checksum algorithm to\nenforce in later stages of the MPU lifecycle, and how\nto validate the final checksum for the MPU.\n\nDuring CompleteMultipartUpload, SLO gathers each segment’s\nchecksum metadata and passes the aligned HEAD response headers\nto s3api’s manifest hook. s3api validates the stored part checksums\nagainst any client-provided values, calculates and validates\nthe completed MPU checksum, and persists the resulting checksum\nmetadata on the final SLO manifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nIn the event of mismatched proxy servers versions, we attach a\nsysmeta sentinel checksum header, also know as \u0027checksum-upload-id\u0027\nto each MPU part that passes through a new proxy server.\nOn final checksum computation, any part that does not have the\nheader, will cause the MPU to be completed without the final\nchecksum.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CreateMultipartUpload accepts x-amz-checksum-algorithm and\n  x-amz-checksum-type, persists the selected checksum configuration,\n  and returns both values in the response.\n\n* UploadPart validates and returns the validated checksums in the\n  response. UploadPart only persists x-amz-checksum-* values\n  if the MPU was defined with a checksum. Checksum-aware uploads\n  of type COMPOSITE require each part to use the algorithm\n  selected at initiation. FULL_OBJECT does not require it.\n\n* CompleteMultipartUpload persists and returns the completed checksum\n  and checksum type. GetObject and HeadObject return these values when\n  x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums support CRC32, CRC32C, SHA1, and SHA256.\n\n* FULL_OBJECT checksums support CRC32, CRC32C, and CRC64NVME.\n\n* FULL_OBJECT checksum usage for MPUs depends on `anycrc` being\n  installed in the Swift cluster, if not, a 501 will be thrown on usage attempts.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/194ece96cc2170ac74c5d1b18c8fec00bb06e6f7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/194ece96cc2170ac74c5d1b18c8fec00bb06e6f7"}]},"branch":"refs/heads/master"},"82ff38d3c62f813c0324e10b683df4e9df863f9c":{"kind":"REWORK","_number":118,"created":"2026-08-25 22:53:40.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/118","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/118","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/118 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/118 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/118 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/118"}}},"commit":{"parents":[{"commit":"75a10f7e11d0d15dc5ae2c7b70b0d8fbe0fb1c9b","subject":"s3api: Checksum Persistence on CreateMultipartUpload and UploadPart","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/75a10f7e11d0d15dc5ae2c7b70b0d8fbe0fb1c9b"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-25 20:59:12.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-25 22:52:58.000000000","tz":-420},"subject":"s3api: Checksum Persistence on CompleteMultipartUpload","message":"s3api: Checksum Persistence on CompleteMultipartUpload\n\nCompute and persist the checksum for a completed multipart upload.\n\nDuring CompleteMultipartUpload, SLO gathers each segment\u0027s checksum\nmetadata and passes the aligned HEAD response headers to s3api\u0027s\nmanifest hook. s3api validates the stored part checksums against any\nclient-provided values, computes and validates the completed MPU\nchecksum, and persists the resulting checksum metadata on the final SLO\nmanifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nA part\u0027s stored checksum is only trusted when the part carries a\n\u0027checksum-upload-id\u0027 sysmeta sentinel matching the upload being\ncompleted. A part written by an older proxy has no sentinel, so the MPU\ncompletes without a final checksum rather than persisting one derived\nfrom incomplete data.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CompleteMultipartUpload validates any client-supplied part checksums\n  against the checksums stored with each part, and rejects a mismatch\n  with InvalidPart.\n\n* CompleteMultipartUpload computes the completed checksum, persists it,\n  and returns it along with the checksum type. GetObject and HeadObject\n  return both when x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums are the digest of the concatenated part digests,\n  suffixed with the part count. FULL_OBJECT checksums are combined\n  across parts and depend on `anycrc` being installed in the cluster;\n  without it a 501 is returned.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/82ff38d3c62f813c0324e10b683df4e9df863f9c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/82ff38d3c62f813c0324e10b683df4e9df863f9c"}]},"branch":"refs/heads/master"},"530bb91ba6647a42626896259d96a68227ea3ca2":{"kind":"REWORK","_number":119,"created":"2026-08-26 02:01:11.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/119","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/119","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/119 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/119 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/119 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/119"}}},"commit":{"parents":[{"commit":"1ce802a9f0d6f72e08cc0d1a505d54450aee357d","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1ce802a9f0d6f72e08cc0d1a505d54450aee357d"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-25 20:59:12.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-26 01:59:03.000000000","tz":-420},"subject":"s3api: Checksum Persistence on CompleteMultipartUpload","message":"s3api: Checksum Persistence on CompleteMultipartUpload\n\nCompute and persist the checksum for a completed multipart upload.\n\nDuring CompleteMultipartUpload, SLO gathers each segment\u0027s checksum\nmetadata and passes the aligned HEAD response headers to s3api\u0027s\nmanifest hook. s3api validates the stored part checksums against any\nclient-provided values, computes and validates the completed MPU\nchecksum, and persists the resulting checksum metadata on the final SLO\nmanifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nA part\u0027s stored checksum is only trusted when the part carries a\n\u0027checksum-upload-id\u0027 sysmeta sentinel matching the upload being\ncompleted. A part written by an older proxy has no sentinel, so the MPU\ncompletes without a final checksum rather than persisting one derived\nfrom incomplete data.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CompleteMultipartUpload validates any client-supplied part checksums\n  against the checksums stored with each part, and rejects a mismatch\n  with InvalidPart.\n\n* CompleteMultipartUpload computes the completed checksum, persists it,\n  and returns it along with the checksum type. GetObject and HeadObject\n  return both when x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums are the digest of the concatenated part digests,\n  suffixed with the part count. FULL_OBJECT checksums are combined\n  across parts and depend on `anycrc` being installed in the cluster;\n  without it a 501 is returned.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/530bb91ba6647a42626896259d96a68227ea3ca2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/530bb91ba6647a42626896259d96a68227ea3ca2"}]},"branch":"refs/heads/master"},"f9a43d2514122bb6ec90de6726d947a07af60028":{"kind":"REWORK","_number":120,"created":"2026-08-26 03:28:02.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/120","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/120","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/120 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/120 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/120 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/120"}}},"commit":{"parents":[{"commit":"d7abe84093c31a630e150928915b6ce72d4e169d","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d7abe84093c31a630e150928915b6ce72d4e169d"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-25 20:59:12.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-26 03:27:24.000000000","tz":-420},"subject":"s3api: Checksum Persistence on CompleteMultipartUpload","message":"s3api: Checksum Persistence on CompleteMultipartUpload\n\nCompute and persist the checksum for a completed multipart upload.\n\nDuring CompleteMultipartUpload, SLO gathers each segment\u0027s checksum\nmetadata and passes the aligned HEAD response headers to s3api\u0027s\nmanifest hook. s3api validates the stored part checksums against any\nclient-provided values, computes and validates the completed MPU\nchecksum, and persists the resulting checksum metadata on the final SLO\nmanifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nA part\u0027s stored checksum is only trusted when the part carries a\n\u0027checksum-upload-id\u0027 sysmeta sentinel matching the upload being\ncompleted. A part written by an older proxy has no sentinel, so the MPU\ncompletes without a final checksum rather than persisting one derived\nfrom incomplete data.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CompleteMultipartUpload validates any client-supplied part checksums\n  against the checksums stored with each part, and rejects a mismatch\n  with InvalidPart.\n\n* CompleteMultipartUpload computes the completed checksum, persists it,\n  and returns it along with the checksum type. GetObject and HeadObject\n  return both when x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums are the digest of the concatenated part digests,\n  suffixed with the part count. FULL_OBJECT checksums are combined\n  across parts and depend on `anycrc` being installed in the cluster;\n  without it a 501 is returned.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f9a43d2514122bb6ec90de6726d947a07af60028"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f9a43d2514122bb6ec90de6726d947a07af60028"}]},"branch":"refs/heads/master"},"c2096b3e5e55d0262b18863792d3b6d4de5671aa":{"kind":"REWORK","_number":121,"created":"2026-08-26 03:42:56.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/121","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/121","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/121 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/121 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/121 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/121"}}},"commit":{"parents":[{"commit":"d7abe84093c31a630e150928915b6ce72d4e169d","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d7abe84093c31a630e150928915b6ce72d4e169d"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-25 20:59:12.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-26 03:42:12.000000000","tz":-420},"subject":"s3api: Checksum Persistence on CompleteMultipartUpload","message":"s3api: Checksum Persistence on CompleteMultipartUpload\n\nCompute and persist the checksum for a completed multipart upload.\n\nDuring CompleteMultipartUpload, SLO gathers each segment\u0027s checksum\nmetadata and passes the aligned HEAD response headers to s3api\u0027s\nmanifest hook. s3api validates the stored part checksums against any\nclient-provided values, computes and validates the completed MPU\nchecksum, and persists the resulting checksum metadata on the final SLO\nmanifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nA part\u0027s stored checksum is only trusted when the part carries a\n\u0027checksum-upload-id\u0027 sysmeta sentinel matching the upload being\ncompleted. A part written by an older proxy has no sentinel, so the MPU\ncompletes without a final checksum rather than persisting one derived\nfrom incomplete data.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CompleteMultipartUpload validates any client-supplied part checksums\n  against the checksums stored with each part, and rejects a mismatch\n  with InvalidPart.\n\n* CompleteMultipartUpload computes the completed checksum, persists it,\n  and returns it along with the checksum type. GetObject and HeadObject\n  return both when x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums are the digest of the concatenated part digests,\n  suffixed with the part count. FULL_OBJECT checksums are combined\n  across parts and depend on `anycrc` being installed in the cluster;\n  without it a 501 is returned.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c2096b3e5e55d0262b18863792d3b6d4de5671aa"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c2096b3e5e55d0262b18863792d3b6d4de5671aa"}]},"branch":"refs/heads/master"},"e329e5f4da2e3918a0bc86a726af74c3a16f95ec":{"kind":"REWORK","_number":122,"created":"2026-08-26 18:21:25.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/122","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/122","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/122 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/122 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/122 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/122"}}},"commit":{"parents":[{"commit":"d7abe84093c31a630e150928915b6ce72d4e169d","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d7abe84093c31a630e150928915b6ce72d4e169d"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-25 20:59:12.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-26 18:21:16.000000000","tz":-420},"subject":"s3api: Checksum Persistence on CompleteMultipartUpload","message":"s3api: Checksum Persistence on CompleteMultipartUpload\n\nCompute and persist the checksum for a completed multipart upload.\n\nDuring CompleteMultipartUpload, SLO gathers each segment\u0027s checksum\nmetadata and passes the aligned HEAD response headers to s3api\u0027s\nmanifest hook. s3api validates the stored part checksums against any\nclient-provided values, computes and validates the completed MPU\nchecksum, and persists the resulting checksum metadata on the final SLO\nmanifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nA part\u0027s stored checksum is only trusted when the part carries a\n\u0027checksum-upload-id\u0027 sysmeta sentinel matching the upload being\ncompleted. A part written by an older proxy has no sentinel, so the MPU\ncompletes without a final checksum rather than persisting one derived\nfrom incomplete data.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CompleteMultipartUpload validates any client-supplied part checksums\n  against the checksums stored with each part, and rejects a mismatch\n  with InvalidPart.\n\n* CompleteMultipartUpload computes the completed checksum, persists it,\n  and returns it along with the checksum type. GetObject and HeadObject\n  return both when x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums are the digest of the concatenated part digests,\n  suffixed with the part count. FULL_OBJECT checksums are combined\n  across parts and depend on `anycrc` being installed in the cluster;\n  without it a 501 is returned.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e329e5f4da2e3918a0bc86a726af74c3a16f95ec"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e329e5f4da2e3918a0bc86a726af74c3a16f95ec"}]},"branch":"refs/heads/master"},"a143c756038796860dc16563461b8e27fdc85325":{"kind":"REWORK","_number":123,"created":"2026-08-27 05:56:14.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/123","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/123","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/123 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/123 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/123 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/123"}}},"commit":{"parents":[{"commit":"d7de6f32cf39a917204f8da2c8b25ed604969d7a","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d7de6f32cf39a917204f8da2c8b25ed604969d7a"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-25 20:59:12.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-27 05:19:49.000000000","tz":-420},"subject":"s3api: Checksum Persistence on CompleteMultipartUpload","message":"s3api: Checksum Persistence on CompleteMultipartUpload\n\nCompute and persist the checksum for a completed multipart upload.\n\nDuring CompleteMultipartUpload, SLO gathers each segment\u0027s checksum\nmetadata and passes the aligned HEAD response headers to s3api\u0027s\nmanifest hook. s3api validates the stored part checksums against any\nclient-provided values, computes and validates the completed MPU\nchecksum, and persists the resulting checksum metadata on the final SLO\nmanifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nA part\u0027s stored checksum is only trusted when the part carries a\n\u0027checksum-upload-id\u0027 sysmeta sentinel matching the upload being\ncompleted. A part written by an older proxy has no sentinel, so the MPU\ncompletes without a final checksum rather than persisting one derived\nfrom incomplete data.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CompleteMultipartUpload validates any client-supplied part checksums\n  against the checksums stored with each part, and rejects a mismatch\n  with InvalidPart.\n\n* CompleteMultipartUpload computes the completed checksum, persists it,\n  and returns it along with the checksum type. GetObject and HeadObject\n  return both when x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums are the digest of the concatenated part digests,\n  suffixed with the part count. FULL_OBJECT checksums are combined\n  across parts and depend on `anycrc` being installed in the cluster;\n  without it a 501 is returned.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a143c756038796860dc16563461b8e27fdc85325"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a143c756038796860dc16563461b8e27fdc85325"}]},"branch":"refs/heads/master"},"af19322eeab5a505f5be836b556064f6982642d3":{"kind":"REWORK","_number":124,"created":"2026-08-27 06:36:39.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/124","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/124","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/124 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/124 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/124 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/124"}}},"commit":{"parents":[{"commit":"c7c9d89a68bac5af667516707b0ba61970bca2f1","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c7c9d89a68bac5af667516707b0ba61970bca2f1"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-25 20:59:12.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-27 06:35:21.000000000","tz":-420},"subject":"s3api: Checksum Persistence on CompleteMultipartUpload","message":"s3api: Checksum Persistence on CompleteMultipartUpload\n\nCompute and persist the checksum for a completed multipart upload.\n\nDuring CompleteMultipartUpload, SLO gathers each segment\u0027s checksum\nmetadata and passes the aligned HEAD response headers to s3api\u0027s\nmanifest hook. s3api validates the stored part checksums against any\nclient-provided values, computes and validates the completed MPU\nchecksum, and persists the resulting checksum metadata on the final SLO\nmanifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nA part\u0027s stored checksum is only trusted when the part carries a\n\u0027checksum-upload-id\u0027 sysmeta sentinel matching the upload being\ncompleted. A part written by an older proxy has no sentinel, so the MPU\ncompletes without a final checksum rather than persisting one derived\nfrom incomplete data.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CompleteMultipartUpload validates any client-supplied part checksums\n  against the checksums stored with each part, and rejects a mismatch\n  with InvalidPart.\n\n* CompleteMultipartUpload computes the completed checksum, persists it,\n  and returns it along with the checksum type. GetObject and HeadObject\n  return both when x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums are the digest of the concatenated part digests,\n  suffixed with the part count. FULL_OBJECT checksums are combined\n  across parts and depend on `anycrc` being installed in the cluster;\n  without it a 501 is returned.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/af19322eeab5a505f5be836b556064f6982642d3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/af19322eeab5a505f5be836b556064f6982642d3"}]},"branch":"refs/heads/master"},"ee1fb6a2baae7eef45327fac8a6ddf0f158296c8":{"kind":"TRIVIAL_REBASE","_number":125,"created":"2026-08-27 13:56:13.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/125","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/125","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/125 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/125 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/125 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/125"}}},"commit":{"parents":[{"commit":"09a4bc1dc7b69321bbe59797d3b494717c623838","subject":"slo: Pass segment HEAD headers to manifest hook","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/09a4bc1dc7b69321bbe59797d3b494717c623838"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-25 20:59:12.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-27 13:56:13.000000000","tz":0},"subject":"s3api: Checksum Persistence on CompleteMultipartUpload","message":"s3api: Checksum Persistence on CompleteMultipartUpload\n\nCompute and persist the checksum for a completed multipart upload.\n\nDuring CompleteMultipartUpload, SLO gathers each segment\u0027s checksum\nmetadata and passes the aligned HEAD response headers to s3api\u0027s\nmanifest hook. s3api validates the stored part checksums against any\nclient-provided values, computes and validates the completed MPU\nchecksum, and persists the resulting checksum metadata on the final SLO\nmanifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nA part\u0027s stored checksum is only trusted when the part carries a\n\u0027checksum-upload-id\u0027 sysmeta sentinel matching the upload being\ncompleted. A part written by an older proxy has no sentinel, so the MPU\ncompletes without a final checksum rather than persisting one derived\nfrom incomplete data.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CompleteMultipartUpload validates any client-supplied part checksums\n  against the checksums stored with each part, and rejects a mismatch\n  with InvalidPart.\n\n* CompleteMultipartUpload computes the completed checksum, persists it,\n  and returns it along with the checksum type. GetObject and HeadObject\n  return both when x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums are the digest of the concatenated part digests,\n  suffixed with the part count. FULL_OBJECT checksums are combined\n  across parts and depend on `anycrc` being installed in the cluster;\n  without it a 501 is returned.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ee1fb6a2baae7eef45327fac8a6ddf0f158296c8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ee1fb6a2baae7eef45327fac8a6ddf0f158296c8"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"c7c9d89a68bac5af667516707b0ba61970bca2f1","ours":"af19322eeab5a505f5be836b556064f6982642d3","theirs":"09a4bc1dc7b69321bbe59797d3b494717c623838","merge_strategy":"recursive","contains_conflicts":false}},"d4f2f9b2161b37e71f97e29c6f137ff92df5ceda":{"kind":"REWORK","_number":126,"created":"2026-08-27 21:57:38.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/126","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/126","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/126 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/126 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/126 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/126"}}},"commit":{"parents":[{"commit":"3c24b3be1b69799071071840ad7fb92e670e8b0c","subject":"s3api: Checksum Persistence on CreateMultipartUpload and UploadPart","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3c24b3be1b69799071071840ad7fb92e670e8b0c"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-25 20:59:12.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-27 21:43:30.000000000","tz":-420},"subject":"s3api: Checksum Persistence on CompleteMultipartUpload","message":"s3api: Checksum Persistence on CompleteMultipartUpload\n\nCompute and persist the checksum for a completed multipart upload.\n\nDuring CompleteMultipartUpload, SLO gathers each segment\u0027s checksum\nmetadata and passes the aligned HEAD response headers to s3api\u0027s\nmanifest hook. s3api validates the stored part checksums against any\nclient-provided values, computes and validates the completed MPU\nchecksum, and persists the resulting checksum metadata on the final SLO\nmanifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nA part\u0027s stored checksum is only trusted when the part carries a\n\u0027checksum-upload-id\u0027 sysmeta sentinel matching the upload being\ncompleted. A part written by an older proxy has no sentinel, so the MPU\ncompletes without a final checksum rather than persisting one derived\nfrom incomplete data.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CompleteMultipartUpload validates any client-supplied part checksums\n  against the checksums stored with each part, and rejects a mismatch\n  with InvalidPart.\n\n* CompleteMultipartUpload computes the completed checksum, persists it,\n  and returns it along with the checksum type. GetObject and HeadObject\n  return both when x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums are the digest of the concatenated part digests,\n  suffixed with the part count. FULL_OBJECT checksums are combined\n  across parts and depend on `anycrc` being installed in the cluster;\n  without it a 501 is returned.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d4f2f9b2161b37e71f97e29c6f137ff92df5ceda"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d4f2f9b2161b37e71f97e29c6f137ff92df5ceda"}]},"branch":"refs/heads/master"},"0b7f71cc3e935d78dbf78baf80ea9cb712e5fdd4":{"kind":"REWORK","_number":127,"created":"2026-08-27 23:44:51.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/127","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/127","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/127 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/127 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/127 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/127"}}},"commit":{"parents":[{"commit":"ec5aa0838c4e831faa23fa6b7e9be31570d38137","subject":"s3api: Checksum Persistence on CreateMultipartUpload and UploadPart","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ec5aa0838c4e831faa23fa6b7e9be31570d38137"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-25 20:59:12.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-27 23:44:34.000000000","tz":-420},"subject":"s3api: Checksum Persistence on CompleteMultipartUpload","message":"s3api: Checksum Persistence on CompleteMultipartUpload\n\nCompute and persist the checksum for a completed multipart upload.\n\nDuring CompleteMultipartUpload, SLO gathers each segment\u0027s checksum\nmetadata and passes the aligned HEAD response headers to s3api\u0027s\nmanifest hook. s3api validates the stored part checksums against any\nclient-provided values, computes and validates the completed MPU\nchecksum, and persists the resulting checksum metadata on the final SLO\nmanifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nA part\u0027s stored checksum is only trusted when the part carries a\n\u0027checksum-upload-id\u0027 sysmeta sentinel matching the upload being\ncompleted. A part written by an older proxy has no sentinel, so the MPU\ncompletes without a final checksum rather than persisting one derived\nfrom incomplete data.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CompleteMultipartUpload validates any client-supplied part checksums\n  against the checksums stored with each part, and rejects a mismatch\n  with InvalidPart.\n\n* CompleteMultipartUpload computes the completed checksum, persists it,\n  and returns it along with the checksum type. GetObject and HeadObject\n  return both when x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums are the digest of the concatenated part digests,\n  suffixed with the part count. FULL_OBJECT checksums are combined\n  across parts and depend on `anycrc` being installed in the cluster;\n  without it a 501 is returned.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0b7f71cc3e935d78dbf78baf80ea9cb712e5fdd4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0b7f71cc3e935d78dbf78baf80ea9cb712e5fdd4"}]},"branch":"refs/heads/master"},"56e228eb0652a8eeb3fa5a7af4ebb88bb035ea19":{"kind":"TRIVIAL_REBASE","_number":128,"created":"2026-08-27 23:58:57.000000000","uploader":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"ref":"refs/changes/93/993193/128","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/128","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/128 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/128 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/128 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/128"}}},"commit":{"parents":[{"commit":"39993cee623fee01e1124d9eee25c934cb6f7589","subject":"s3api: Checksum Persistence on CreateMultipartUpload and UploadPart","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/39993cee623fee01e1124d9eee25c934cb6f7589"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-25 20:59:12.000000000","tz":-420},"committer":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-27 23:58:57.000000000","tz":0},"subject":"s3api: Checksum Persistence on CompleteMultipartUpload","message":"s3api: Checksum Persistence on CompleteMultipartUpload\n\nCompute and persist the checksum for a completed multipart upload.\n\nDuring CompleteMultipartUpload, SLO gathers each segment\u0027s checksum\nmetadata and passes the aligned HEAD response headers to s3api\u0027s\nmanifest hook. s3api validates the stored part checksums against any\nclient-provided values, computes and validates the completed MPU\nchecksum, and persists the resulting checksum metadata on the final SLO\nmanifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nA part\u0027s stored checksum is only trusted when the part carries a\n\u0027checksum-upload-id\u0027 sysmeta sentinel matching the upload being\ncompleted. A part written by an older proxy has no sentinel, so the MPU\ncompletes without a final checksum rather than persisting one derived\nfrom incomplete data.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CompleteMultipartUpload validates any client-supplied part checksums\n  against the checksums stored with each part, and rejects a mismatch\n  with InvalidPart.\n\n* CompleteMultipartUpload computes the completed checksum, persists it,\n  and returns it along with the checksum type. GetObject and HeadObject\n  return both when x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums are the digest of the concatenated part digests,\n  suffixed with the part count. FULL_OBJECT checksums are combined\n  across parts and depend on `anycrc` being installed in the cluster;\n  without it a 501 is returned.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/56e228eb0652a8eeb3fa5a7af4ebb88bb035ea19"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/56e228eb0652a8eeb3fa5a7af4ebb88bb035ea19"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"ec5aa0838c4e831faa23fa6b7e9be31570d38137","ours":"0b7f71cc3e935d78dbf78baf80ea9cb712e5fdd4","theirs":"39993cee623fee01e1124d9eee25c934cb6f7589","merge_strategy":"recursive","contains_conflicts":false}},"3eb67c54ef1b8b8c6ca539c7683e7d5d0cff9657":{"kind":"TRIVIAL_REBASE","_number":129,"created":"2026-08-28 11:59:22.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/93/993193/129","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/93/993193/129","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/129 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/129 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/93/993193/129 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/93/993193/129"}}},"commit":{"parents":[{"commit":"c4841758aa7979be753960c6f22dfde9e1d02c4e","subject":"s3api: Checksum Persistence on CreateMultipartUpload and UploadPart","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c4841758aa7979be753960c6f22dfde9e1d02c4e"}]}],"author":{"name":"Nathaniel Martes","email":"nmartes@NVIDIA.com","date":"2026-08-25 20:59:12.000000000","tz":-420},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-08-28 11:54:14.000000000","tz":60},"subject":"s3api: Checksum Persistence on CompleteMultipartUpload","message":"s3api: Checksum Persistence on CompleteMultipartUpload\n\nCompute and persist the checksum for a completed multipart upload.\n\nDuring CompleteMultipartUpload, SLO gathers each segment\u0027s checksum\nmetadata and passes the aligned HEAD response headers to s3api\u0027s\nmanifest hook. s3api validates the stored part checksums against any\nclient-provided values, computes and validates the completed MPU\nchecksum, and persists the resulting checksum metadata on the final SLO\nmanifest using the footer callback.\n\nThis patch does not add support for checksum computation\nfor UploadPartCopy.\n\nThis patch also does not add support for returning checksum\nmetadata for ListParts.\n\nThis patch also does not add support for GetObject/HeadObject\nrequests on specific parts returning checksum metadata.\n\nA part\u0027s stored checksum is only trusted when the part carries a\n\u0027checksum-upload-id\u0027 sysmeta sentinel matching the upload being\ncompleted. A part written by an older proxy has no sentinel, so the MPU\ncompletes without a final checksum rather than persisting one derived\nfrom incomplete data.\n\nThe S3 API behavior changes for multipart uploads:\n\n* CompleteMultipartUpload validates any client-supplied part checksums\n  against the checksums stored with each part, and rejects a mismatch\n  with InvalidPart.\n\n* CompleteMultipartUpload computes the completed checksum, persists it,\n  and returns it along with the checksum type. GetObject and HeadObject\n  return both when x-amz-checksum-mode: ENABLED is requested.\n\n* COMPOSITE checksums are the digest of the concatenated part digests,\n  suffixed with the part count. FULL_OBJECT checksums are combined\n  across parts and depend on `anycrc` being installed in the cluster;\n  without it a 501 is returned.\n\nSee AWS Docs:\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html\n\nAPIImpact\n\nChange-Id: I9f6725868019ced6b3b04699c9d7f2649560f036\nCo-Authored-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\nCo-Authored-by: Jianjian Huo \u003cjhuo@nvidia.com\u003e\nCo-Authored-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\nAssisted-By: Codex:gpt-5.5\nAssisted-By: Claude:opus-5\nSigned-off-by: Nathaniel Martes \u003cnmartes@NVIDIA.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3eb67c54ef1b8b8c6ca539c7683e7d5d0cff9657"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3eb67c54ef1b8b8c6ca539c7683e7d5d0cff9657"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
