)]}'
{"id":"openstack%2Fswift~943034","triplet_id":"openstack%2Fswift~master~I218bb74f1fc673982773f64907b928790fca17d0","project":"openstack/swift","branch":"master","topic":"p-systags-3","attention_set":{"1179":{"account":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"last_update":"2025-03-19 11:44:11.000000000","reason":"\u003cGERRIT_ACCOUNT_7847\u003e replied on the change","reason_account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}}},"removed_from_attention_set":{"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2025-03-19 11:44:11.000000000","reason":"\u003cGERRIT_ACCOUNT_7847\u003e replied on the change","reason_account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}}},"hashtags":[],"change_id":"I218bb74f1fc673982773f64907b928790fca17d0","subject":"WIP proxy: Add systags abstraction for etag override","status":"NEW","created":"2025-02-28 17:10:21.000000000","updated":"2025-03-19 11:44:11.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":72,"unresolved_comment_count":39,"has_review_started":true,"meta_rev_id":"bb78dfd45a5b210ff2159d324401c9d613469614","_number":943034,"virtual_id_number":943034,"owner":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"tag":"autogenerated:zuul:check","value":1,"date":"2025-03-11 14:54:18.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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"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":{"rejected":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"all":[{"value":-1,"date":"2025-03-11 13:41:02.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-02-28 18:49:39.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":"2025-03-11 21:27:38.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":"CC"}],"messages":[{"id":"5372c9ef054c8890de22b0bf09464ed9fa7dcb6a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-02-28 17:10:21.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"a5dfbac26b9f07b7ced82f3e120f49028d403e51","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-02-28 17:58:15.000000000","message":"Patch Set 1:\n\n(12 comments)","accounts_in_message":[],"_revision_number":1},{"id":"cd14c567b59aa3da99951cffec075ec779efac34","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-28 18:49:39.000000000","message":"Patch Set 1: 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/ecab18062aeb49378656dac585d9d85a\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/99a44fa1d2a6437aaa3cb4439e2864a1 : SUCCESS in 7m 50s\n- grenade https://zuul.opendev.org/t/openstack/build/7c32b13a46544226961c84bb38acc0d7 : SUCCESS in 1h 07m 22s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/210fd0d83c5149c89c4a62cffa0b0b55 : SUCCESS in 55m 46s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/e250e43af82f4d27babf741e5e6ea7c8 : SUCCESS in 1h 21m 35s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/0fa3136c00b445a7bf5b9e752b258330 : SUCCESS in 56m 48s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4de513adb95c484593dcfbc026db73c2 : SUCCESS in 23m 53s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/85419ca039aa43539687772f2b892523 : SUCCESS in 26m 26s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5a2b31d45c444ebb8d8c1a6350b9bc57 : SUCCESS in 21m 47s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/8bd6f42052504d99b1894c189101153a : SUCCESS in 7m 24s (non-voting)\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/10d23fd16a304b1e9bb6497cae30a3de : FAILURE in 10m 03s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/433ef0ac21bd4a69b843b689f147cf2c : SUCCESS in 27m 58s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/c88c4a0f17294db1b1ee8540700a8dd9 : SUCCESS in 28m 15s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/00ed4b1422b04be8b78468700fe3d74b : SUCCESS in 16m 22s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/b603379341a642e7b6500c52e6316a74 : SUCCESS in 16m 08s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/868e1da2e82943d9a4a4fc906755e691 : SUCCESS in 16m 32s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/2081bf19b17e49a89f94f13beffe8c89 : SUCCESS in 7m 37s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/09064626efe645198f980f369ee59cc6 : SUCCESS in 20m 49s (non-voting)\n- swift-tox-func-s3api-tests-tempauth https://zuul.opendev.org/t/openstack/build/0adc3f6221354cedad8ea851c700e7d0 : SUCCESS in 13m 41s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/edd64c82c492459f888a7501b966efcf : FAILURE in 37m 37s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/51ed54cdabaa469ba1a168f0b76e1f40 : SUCCESS in 25m 45s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/e333f2811fac4632b81c3fd7a27e1777 : SUCCESS in 52m 24s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/14a9acbcc70a4f57b14547efa21bdbb4 : FAILURE in 19m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c8cfff93525c4081a169dbc2da84b52e : SUCCESS in 4m 59s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/ef95d93fa5cf4e03b68b0181e76e57b5 : SUCCESS in 20m 22s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/745979ea8c8c4a9abf354cdc8cb13fc5 : SUCCESS in 1h 02m 08s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/e2874fa240254c20a2d7b34b6b1c0258 : SUCCESS in 1h 13m 11s","accounts_in_message":[],"_revision_number":1},{"id":"76b3139112abf3278a225223587e803c83d1bc31","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-28 18:53:04.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/55e98926900c49b09d274c332402f8e4\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/74ad0e2ff36d47d4a31d8004fa9891cc : SUCCESS in 1h 29m 29s","accounts_in_message":[],"_revision_number":1},{"id":"b4c9fd70d7e855e9edc711c7863c7070f8cc0574","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-03-05 18:39:12.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"72f10d16381e639d3c634260922beaef735ee8ba","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-03-05 19:26:40.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/48683351bf754bb690e76a4ea17cb893\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/e9520160dd724e74aa4736a28c0b8ddf : SUCCESS in 45m 23s","accounts_in_message":[],"_revision_number":2},{"id":"6ade333923c8091b32c1ecb71e2ddacf79b5480c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-03-05 20:01:37.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/9e3949bfde1042c2a4aa52bbfcdcdf03\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3fce4cdd88554979886efd1aa63340a5 : SUCCESS in 8m 21s\n- grenade https://zuul.opendev.org/t/openstack/build/d6632bf0c26b488e95216b65b7007976 : SUCCESS in 1h 00m 19s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/96b5ed8442f04e7c982163517a6200ce : SUCCESS in 58m 42s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/7ff2fa8340c9417c9989bb03e2302eb3 : SUCCESS in 59m 00s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/f681d6ca1650436c99c2a5793b7e1ffe : SUCCESS in 1h 05m 50s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c12e85f878394f688817acbb17f16f43 : SUCCESS in 18m 08s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/16cc9905afe44301b2d30f624c341c5b : SUCCESS in 19m 25s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/26e262358bed41608a50d9179a5978dc : SUCCESS in 19m 39s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/a6eb195b4ef5498580f3f05ba3966eab : SUCCESS in 6m 42s (non-voting)\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/d4f1311b00bb426cbb8c8927e07adb53 : FAILURE in 18m 43s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/b5f0ae5b39c84dd4af333db7c08e57ca : SUCCESS in 21m 36s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/87fc314a47d94ee8acb54f61808f2dda : SUCCESS in 27m 37s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/49b0887e25f14f638ee546ab406b43f7 : SUCCESS in 16m 20s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/9f29929e9d4e48508576140518358d5b : SUCCESS in 18m 02s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/e2c6de561dd846088bdfc277aa53769c : SUCCESS in 8m 48s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/77c3e5c7ddcf4b28ba7f584f97b1715b : SUCCESS in 5m 58s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/08560299e3ad498d94ca8bdda3f3d63c : SUCCESS in 18m 16s (non-voting)\n- swift-tox-func-s3api-tests-tempauth https://zuul.opendev.org/t/openstack/build/d0a24d624ab94ce9b45c16baf41b4ed3 : SUCCESS in 6m 44s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/fa3b974bbb2a4be984064b14b07322d1 : FAILURE in 56m 41s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/c584cfba298147ee83faf705ee6628ce : SUCCESS in 32m 37s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/acc6838f59d240ae9e2f6edc22a19b42 : SUCCESS in 56m 27s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a83629b7c92a4aeb999ecd15c27ad76a : FAILURE in 20m 45s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b7fae568b3b44d35b5eb14b2bdc4d591 : SUCCESS in 4m 11s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/f1bbe976eed84865bb15c6ea743f1c29 : SUCCESS in 19m 02s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/cf4dd99cdfed4f17b2af5dfa166dadd5 : SUCCESS in 55m 46s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d057b72327ff40a7a223368d59e28162 : SUCCESS in 1h 06m 25s","accounts_in_message":[],"_revision_number":2},{"id":"5ca79a962fbb5c8e282934554f170ae5fd975821","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-03-06 15:29:54.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":3},{"id":"7bcb3f30255cb03a9c2edd0ebdbda7b49849cacc","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-03-06 15:30:13.000000000","message":"Patch Set 3: Workflow-1","accounts_in_message":[],"_revision_number":3},{"id":"43b314c3ea2d1b74df6c8f2aa8c9dfb62cdccdab","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-03-06 16:49:09.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9502a88dcb824cd29e453e4329b72f4a\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fcdb1dba3df04edc95f5687717775824 : SUCCESS in 9m 18s\n- grenade https://zuul.opendev.org/t/openstack/build/b43dd1d90e94419baf9e57dc3d1c358a : SUCCESS in 49m 43s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/771ef6a5bd5e4be0ba090c75c897f6c5 : SUCCESS in 59m 48s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/f33f59eb103f43eebb415299b6a95a3d : SUCCESS in 49m 28s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/6eb10625a5674f9f99a134e429c99936 : SUCCESS in 1h 12m 43s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/fb355cd0358e4093914189ff14cdc209 : SUCCESS in 20m 55s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5b2ffdc7911b48e5aec272e75b26382f : SUCCESS in 19m 44s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/2039861105f64a57b7665a2e25e8ba3d : SUCCESS in 20m 02s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/ea2534241dab43e79da99bed35eabad7 : SUCCESS in 5m 34s (non-voting)\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/c12dc2a69d2f4db0a598a3ef7dcd0131 : SUCCESS in 21m 55s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/ba701c6b237f4375b6a7c8b910dd0f67 : SUCCESS in 19m 29s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/77efa497b87f47f9a1ad936fb5310608 : SUCCESS in 26m 56s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/1d8906df7d0743648cc2622c20604860 : SUCCESS in 14m 52s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/6bcffb1d21d5405199517f1f81e1ec31 : SUCCESS in 14m 47s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/05be6ae8c27347ac8fb68084c38dda31 : SUCCESS in 14m 27s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/c5ac2bdadc20418891ded8552040eede : SUCCESS in 6m 09s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/89c748e4a6b84aa28dd3a845612e718c : SUCCESS in 17m 45s (non-voting)\n- swift-tox-func-s3api-tests-tempauth https://zuul.opendev.org/t/openstack/build/072764136563485dbd8ff49392f17345 : SUCCESS in 9m 06s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/b040dc4feaa647b3adfe7359a95b3946 : SUCCESS in 56m 56s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/042ef198d31842f3a645d54275b728e5 : SUCCESS in 31m 24s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/a35d5d6c00c14693b1eb741aab5f9dfb : SUCCESS in 34m 39s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/fed87962c8874402ae57b41a32d062b6 : SUCCESS in 23m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0a87a03e74354fecb63a564355787f3f : SUCCESS in 5m 48s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/c7d6ac6bfbc84cd48239721fffc64ffa : SUCCESS in 25m 46s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/8ed1277a925d4d72ab4b39d8f2f7c17e : SUCCESS in 49m 45s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/6510585b1f4c4f148f459f944c6c3411 : SUCCESS in 1h 04m 32s","accounts_in_message":[],"_revision_number":3},{"id":"72775a08171a43364bb60e36ed400264bda1d067","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-03-06 16:58:05.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a40cb4cebd1048b98456e4dc19326023\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/da8ecea2f30845688999917729f5d8de : SUCCESS in 1h 25m 31s","accounts_in_message":[],"_revision_number":3},{"id":"2538e31d90c1878f60a6b4d956d7a08263da0228","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-03-07 18:37:02.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Verified+1\n* Workflow-1\n","accounts_in_message":[],"_revision_number":4},{"id":"8a3b1627c24bd113f40a2f7d1be7439a08b91f4c","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-03-07 18:37:29.000000000","message":"Patch Set 4: Workflow-1","accounts_in_message":[],"_revision_number":4},{"id":"13eca43c5396f8debbc80ffcf62818d125c23bda","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-03-07 19:40:17.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/cda307701c0f440897aae53131a1980c\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4ea41d76b1ed48f4b2d0a2b184fa61a1 : SUCCESS in 4m 12s\n- grenade https://zuul.opendev.org/t/openstack/build/b8cf6c0a92c145cbbdb6b93fbc42ffe3 : SUCCESS in 29m 00s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/7e5ca1ac126b4bb7b4503187f0dbdef5 : SUCCESS in 27m 32s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/27ad76074773418586a7a7d2d30c7463 : SUCCESS in 34m 49s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/a4f1d53e9ed94ca3b2337500e39e9a99 : SUCCESS in 50m 25s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/579e8f5f54a04b18aa3e6d9adb6815da : SUCCESS in 17m 11s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ccb0327e768742a68bd2f03e7d84950a : SUCCESS in 10m 20s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1e29ff17679b480eaf3b90649373b6ca : SUCCESS in 15m 59s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/7407aaec2deb47efaeb2fdc2d0006ad8 : SUCCESS in 5m 40s (non-voting)\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/ef21e736c2b841f098283c20f3c05806 : SUCCESS in 17m 58s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/deb6cc5a20694d92b0ed87094087d68e : SUCCESS in 22m 24s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/d7f5417fa68d4f47a0d836fc5d41cca8 : SUCCESS in 17m 10s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/98403099b26d472cb2724058904a54f2 : SUCCESS in 18m 01s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/f4be618c679b4f0cbd0dc77f4fd21518 : SUCCESS in 14m 24s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/cb8f8457eefd401dadd5b31723ccd271 : SUCCESS in 20m 34s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/e5dfbe2baaea41eab89b2bd7ab16752e : SUCCESS in 6m 33s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/3530ed48aac742d49fa1c69b67f85a71 : SUCCESS in 17m 48s (non-voting)\n- swift-tox-func-s3api-tests-tempauth https://zuul.opendev.org/t/openstack/build/5661d7d7430b43d5af37bf205ff39c05 : SUCCESS in 6m 39s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/b4472ff768844ed196155a3a93618d27 : SUCCESS in 51m 13s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/6ba879ef30544febbd91090c780b2a51 : SUCCESS in 39m 25s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/2cd8779320de448496a060dd465ee26b : SUCCESS in 50m 08s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/781094288b2644078aab3bedd2711293 : SUCCESS in 20m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ce71649621674a6b9f208a7cccc6e9a4 : SUCCESS in 3m 55s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/427a6f78c02f43aa8254cf0fb707b63f : SUCCESS in 8m 21s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/3fa1451fed3d4fcb847832e917d0417b : SUCCESS in 56m 42s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/aefd012db1da44299ef3c2d637a9d892 : SUCCESS in 48m 30s","accounts_in_message":[],"_revision_number":4},{"id":"10f5b22408c02b713b7213d619d087f31dc96c4d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-03-07 19:44:40.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/aec5569b0c4f492996839e369dff10e9\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/e4967f1d9f994518a1c212ea3a86a0ae : SUCCESS in 1h 05m 38s","accounts_in_message":[],"_revision_number":4},{"id":"f49dc416ffc1ea53024f06c7993ed50350edbe84","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-03-11 13:36:33.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Verified+1\n* Workflow-1\n","accounts_in_message":[],"_revision_number":5},{"id":"aa70f0ba0f4da60ef366aa8983225061cc6c447a","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-03-11 13:41:02.000000000","message":"Patch Set 5: Workflow-1","accounts_in_message":[],"_revision_number":5},{"id":"a6ec1be6c52d60d226508a3556afc643dc72b7fc","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-03-11 14:42:38.000000000","message":"Patch Set 5:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e26b3d69b3024bc3aecdad26049a5593\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/d2e29d89872e48e381f1ca6ef92c1b3a : SUCCESS in 51m 02s","accounts_in_message":[],"_revision_number":5},{"id":"87d600d82b3d5c7f9c3c317535e4e9f9e52dff35","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-03-11 14:54:18.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/afff4e27435c4bb3a7890e5551dfd8af\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ee477c8f4bf345168a2bfa088dae7bd4 : SUCCESS in 21m 40s\n- grenade https://zuul.opendev.org/t/openstack/build/711c9ea500534697b1247bad9eb5bf1d : SUCCESS in 50m 10s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/29c3cd5a9fed433fa888ba8ce37df43f : SUCCESS in 47m 45s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/a90a994123484752b379f25bb502dea1 : SUCCESS in 49m 08s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c320ae38a0df4986b19a8b780bc56599 : SUCCESS in 1h 04m 34s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/a2d46afae8e54d0684db2164e90860d2 : SUCCESS in 24m 29s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/62d393dde6fa4142aa752a4a240f134b : SUCCESS in 18m 28s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/04a41bf6514848129e42310b57ba174c : SUCCESS in 10m 39s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/a4aff6d850db488db1c6802671bd44bd : SUCCESS in 5m 33s (non-voting)\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/d1fce2079a9948038614217fc126b0da : SUCCESS in 7m 15s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/3b526be331b94d0c8658e9632757914c : SUCCESS in 19m 17s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/90694512eab749aa8457370c5a16d49b : SUCCESS in 29m 17s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/94350385040a4c0d84981825846bafda : SUCCESS in 13m 54s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/f2879d8b46954aa98687a84f9b7cf744 : SUCCESS in 16m 11s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/ea5e914d2e524577b9f4da9975c6db29 : SUCCESS in 14m 13s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/28f7a3a481594619bf898c60583c0477 : SUCCESS in 5m 57s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/93de272d43aa460197f59832d031fe9c : SUCCESS in 14m 54s (non-voting)\n- swift-tox-func-s3api-tests-tempauth https://zuul.opendev.org/t/openstack/build/6a568e31003b42788af8b90cb106ae78 : SUCCESS in 7m 16s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/33aeda487f1f43e8921483e1b2159667 : SUCCESS in 55m 37s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/9c05bacded0f4711aa47698af4880fb3 : SUCCESS in 37m 34s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/72f9c9344e2045ce98fa6d02264036cf : SUCCESS in 40m 35s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/009ca4dbd5644dcaa83e9b6b4085b2fa : SUCCESS in 23m 16s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5121957fbb3d4d939e63f0f27134f361 : SUCCESS in 4m 15s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/a81d0bbcab3341eab5ec95f4db5cc916 : SUCCESS in 18m 40s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/b43da83af23347869d1f203c38d218fa : SUCCESS in 59m 46s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/68c69ee32c9a4236b7533c1e188afe8e : SUCCESS in 48m 31s","accounts_in_message":[],"_revision_number":5},{"id":"6d1aabef7ea97f5b928f600060c68b5a4a996057","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-03-11 16:38:48.000000000","message":"Patch Set 5:\n\n(5 comments)","accounts_in_message":[],"_revision_number":5},{"id":"73a8ab1a85c7a7190f0c3c23b0b924bcb706db65","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2025-03-11 21:27:38.000000000","message":"Patch Set 5:\n\n(33 comments)","accounts_in_message":[],"_revision_number":5},{"id":"bb78dfd45a5b210ff2159d324401c9d613469614","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-03-19 11:44:11.000000000","message":"Patch Set 5:\n\n(22 comments)","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"33a23064aea68c8327db9e4892499501e53c7f36","revisions":{"89a2126d51d1ef73170b6c00e68dcc06bc95d4ce":{"kind":"REWORK","_number":1,"created":"2025-02-28 17:10:21.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/34/943034/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/34/943034/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/34/943034/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/34/943034/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/34/943034/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/34/943034/1"}}},"commit":{"parents":[{"commit":"7140633925dd6f48eaf35009fc5f2c2689dc909e","subject":"Merge \"tests: Allow more configuration for S3 cross-compat tests\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7140633925dd6f48eaf35009fc5f2c2689dc909e"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-02-04 15:36:15.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-02-28 17:03:43.000000000","tz":0},"subject":"WIP proxy: Add systags abstraction for etag override","message":"WIP proxy: Add systags abstraction for etag override\n\nTODO:\n- add compute-md5-hash-on-demand to the proxy app\n- more obj controller unit tests\n- check for unnecessary modifications (particularly in tests)\n\nThere\u0027s several places in middlewares where the \u0027override-etag\u0027 header\n(X-Object-Sysmeta-Container-Update-Override-Etag) is manipulated to\ncommunicate alternative etag and parameters to the container\nserver. The encrypter also sends an override-etag footer. Other\nmiddlewares may wish also wish to send the footer, but there\u0027s no\nprovision for determining the precedence of override etag values, nor\nfor merging parameters from an override-etag header with an\noverride-etag footer.\n\nThis patch addresses those shortcomings by introducing a systags map\nto the request environ which provides an abstraction from the\noverride-etag header and footer. Middlewares simply update the systags\nmap with override etag and other parameter values, and the proxy app\nalone is responsible for generating the correct header or footer.\n\nChange-Id: I218bb74f1fc673982773f64907b928790fca17d0\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/89a2126d51d1ef73170b6c00e68dcc06bc95d4ce"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/89a2126d51d1ef73170b6c00e68dcc06bc95d4ce"}]},"branch":"refs/heads/master"},"bbca9ba0abbb6fff1e3f5e1db11e8ab903080024":{"kind":"REWORK","_number":2,"created":"2025-03-05 18:39:12.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/34/943034/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/34/943034/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/34/943034/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/34/943034/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/34/943034/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/34/943034/2"}}},"commit":{"parents":[{"commit":"0a8ecbc554b811d35713a9486774ca93251d0c9f","subject":"py3: Fix unicode-header-name handling in bufferedhttp","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0a8ecbc554b811d35713a9486774ca93251d0c9f"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-02-04 15:36:15.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-03-05 18:39:02.000000000","tz":0},"subject":"WIP proxy: Add systags abstraction for etag override","message":"WIP proxy: Add systags abstraction for etag override\n\nTODO:\n- add compute-md5-hash-on-demand to the proxy app\n- more obj controller unit tests\n- check for unnecessary modifications (particularly in tests)\n\nThere\u0027s several places in middlewares where the \u0027override-etag\u0027 header\n(X-Object-Sysmeta-Container-Update-Override-Etag) is manipulated to\ncommunicate alternative etag and parameters to the container\nserver. The encrypter also sends an override-etag footer. Other\nmiddlewares may wish also wish to send the footer, but there\u0027s no\nprovision for determining the precedence of override etag values, nor\nfor merging parameters from an override-etag header with an\noverride-etag footer.\n\nThis patch addresses those shortcomings by introducing a systags map\nto the request environ which provides an abstraction from the\noverride-etag header and footer. Middlewares simply update the systags\nmap with override etag and other parameter values, and the proxy app\nalone is responsible for generating the correct header or footer.\n\nChange-Id: I218bb74f1fc673982773f64907b928790fca17d0\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bbca9ba0abbb6fff1e3f5e1db11e8ab903080024"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bbca9ba0abbb6fff1e3f5e1db11e8ab903080024"}]},"branch":"refs/heads/master"},"107fd13efaf7cdac402ba6d799a9a835791827d5":{"kind":"REWORK","_number":3,"created":"2025-03-06 15:29:54.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/34/943034/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/34/943034/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/34/943034/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/34/943034/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/34/943034/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/34/943034/3"}}},"commit":{"parents":[{"commit":"5554f432f5d285c82cd82e40607067cd7a214542","subject":"Merge \"tests: Allow configuring normalized_urls \u003d false\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5554f432f5d285c82cd82e40607067cd7a214542"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-02-04 15:36:15.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-03-06 15:01:15.000000000","tz":0},"subject":"WIP proxy: Add systags abstraction for etag override","message":"WIP proxy: Add systags abstraction for etag override\n\nTODO:\n- migrate encrypter to use a systag callback to calc override-etag\n- add compute-md5-hash-on-demand to the proxy app\n- more obj controller unit tests\n- check for unnecessary modifications (particularly in tests)\n\nThere\u0027s several places in middlewares where the \u0027override-etag\u0027 header\n(X-Object-Sysmeta-Container-Update-Override-Etag) is manipulated to\ncommunicate alternative etag and parameters to the container\nserver. The encrypter also sends an override-etag footer. Other\nmiddlewares may wish also wish to send the footer, but there\u0027s no\nprovision for determining the precedence of override etag values, nor\nfor merging parameters from an override-etag header with an\noverride-etag footer.\n\nThis patch addresses those shortcomings by introducing a systags map\nto the request environ which provides an abstraction from the\noverride-etag header and footer. Middlewares simply update the systags\nmap with override etag and other parameter values, and the proxy app\nalone is responsible for generating the correct header or footer.\n\nChange-Id: I218bb74f1fc673982773f64907b928790fca17d0\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/107fd13efaf7cdac402ba6d799a9a835791827d5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/107fd13efaf7cdac402ba6d799a9a835791827d5"}]},"branch":"refs/heads/master"},"e64773d499500376d4515684bfa1743b199d1d21":{"kind":"REWORK","_number":4,"created":"2025-03-07 18:37:02.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/34/943034/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/34/943034/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/34/943034/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/34/943034/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/34/943034/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/34/943034/4"}}},"commit":{"parents":[{"commit":"59611253f9adadab95582251ae0c0fd8ad71fe52","subject":"Merge \"Remove notes about new-style classes\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/59611253f9adadab95582251ae0c0fd8ad71fe52"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-02-04 15:36:15.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-03-07 18:33:32.000000000","tz":0},"subject":"WIP proxy: Add systags abstraction for etag override","message":"WIP proxy: Add systags abstraction for etag override\n\nTODO:\n- migrate encrypter to use a systag callback to calc override-etag\n- add compute-md5-hash-on-demand to the proxy app\n- more obj controller unit tests\n- check for unnecessary modifications (particularly in tests)\n\nThere\u0027s several places in middlewares where the \u0027override-etag\u0027 header\n(X-Object-Sysmeta-Container-Update-Override-Etag) is manipulated to\ncommunicate alternative etag and parameters to the container\nserver. The encrypter also sends an override-etag footer. Other\nmiddlewares may wish also wish to send the footer, but there\u0027s no\nprovision for determining the precedence of override etag values, nor\nfor merging parameters from an override-etag header with an\noverride-etag footer.\n\nThis patch addresses those shortcomings by introducing a systags map\nto the request environ which provides an abstraction from the\noverride-etag header and footer. Middlewares simply update the systags\nmap with override etag and other parameter values, and the proxy app\nalone is responsible for generating the correct header or footer.\n\nChange-Id: I218bb74f1fc673982773f64907b928790fca17d0\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e64773d499500376d4515684bfa1743b199d1d21"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e64773d499500376d4515684bfa1743b199d1d21"}]},"branch":"refs/heads/master"},"33a23064aea68c8327db9e4892499501e53c7f36":{"kind":"REWORK","_number":5,"created":"2025-03-11 13:36:33.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/34/943034/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/34/943034/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/34/943034/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/34/943034/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/34/943034/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/34/943034/5"}}},"commit":{"parents":[{"commit":"2f74376e7e42cfdcd5cc19b4e2f3c455d1fa2966","subject":"Make FakeSwiftCall.DUMMY_VALUE a bespoke singleton","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2f74376e7e42cfdcd5cc19b4e2f3c455d1fa2966"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-02-04 15:36:15.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-03-11 13:35:24.000000000","tz":0},"subject":"WIP proxy: Add systags abstraction for etag override","message":"WIP proxy: Add systags abstraction for etag override\n\nTODO:\n- more obj controller unit tests\n- check for unnecessary modifications (particularly in tests)\n\nThere\u0027s several places in middlewares where the \u0027override-etag\u0027 header\n(X-Object-Sysmeta-Container-Update-Override-Etag) is manipulated to\ncommunicate alternative etag and parameters to the container\nserver. The encrypter also sends an override-etag footer. Other\nmiddlewares may wish also wish to send the footer, but there\u0027s no\nprovision for determining the precedence of override etag values, nor\nfor merging parameters from an override-etag header with an\noverride-etag footer.\n\nThis patch addresses those shortcomings by introducing a systags map\nto the request environ which provides an abstraction from the\noverride-etag header and footer. Middlewares simply update the systags\nmap with override etag and other parameter values, and the proxy app\nalone is responsible for generating the correct header or footer.\n\nChange-Id: I218bb74f1fc673982773f64907b928790fca17d0\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/33a23064aea68c8327db9e4892499501e53c7f36"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/33a23064aea68c8327db9e4892499501e53c7f36"}]},"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","applied_by":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}}]}],"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":["label:Workflow\u003dMIN"],"failing_atoms":["label:Workflow\u003dMAX"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
