)]}'
{"id":"openstack%2Fswift~940651","triplet_id":"openstack%2Fswift~master~If24b6fa50f1d67a7bbbf9a1794c70d37c41971f7","project":"openstack/swift","branch":"master","topic":"p-footers-callback","attention_set":{},"removed_from_attention_set":{"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2025-02-11 18:10:31.000000000","reason":"Change was submitted"},"1179":{"account":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"last_update":"2025-02-11 16:37:57.000000000","reason":"\u003cGERRIT_ACCOUNT_1179\u003e replied on the change","reason_account":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}}},"hashtags":[],"change_id":"If24b6fa50f1d67a7bbbf9a1794c70d37c41971f7","subject":"Tighten up encrypter tests re. request footers","status":"MERGED","created":"2025-02-03 18:59:22.000000000","updated":"2025-02-11 18:12:12.000000000","submitted":"2025-02-11 18:10:31.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":19,"unresolved_comment_count":1,"has_review_started":true,"submission_id":"940651-p-footers-callback","meta_rev_id":"65480e5aae6cb28496b4dad3cc083f35cfd39033","_number":940651,"virtual_id_number":940651,"owner":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-02-11 18:10:31.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"all":[{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":2,"date":"2025-02-11 16:37:57.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"all":[{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":1,"date":"2025-02-11 16:37:57.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-02-03 20:00:41.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":"CC"},{"updated":"2025-02-03 20:01:00.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-02-10 18:20:28.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"}],"messages":[{"id":"4999c82d8da4d338faf0ce12e04e5e98c8c14031","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-02-03 18:59:22.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"a87da1a988a268292077c03aabe5edfbb9a3ade8","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-02-03 19:00:22.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"5eb4e4919272e2c98e34f8752c18abc2637ebb17","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-02-03 19:00:27.000000000","message":"Patch Set 1: Workflow-1","accounts_in_message":[],"_revision_number":1},{"id":"871d4d2262029deb8179f422dbc7570d126bdd49","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-03 20:00:41.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b0010684ba7f459db28da8d6c291d7fd\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/d510a9417540459fb9b801ee0637dc60 : SUCCESS in 59m 42s","accounts_in_message":[],"_revision_number":1},{"id":"6690bf92f4246de5459dad40094b30b5ad58c742","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-03 20:01:00.000000000","message":"Patch Set 1: 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/1613864e8c894e2ca9d2ad168800c922\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/53fadd7496c447a7b43edce05c387e49 : SUCCESS in 9m 39s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/ecaa99fc5a8d4a94af5d01a8c649b6aa : SUCCESS in 52m 36s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/2dd59300052c4fec96406149eb8a7458 : SUCCESS in 17m 18s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b8a7cf46328147dabcebaa3ee495e787 : SUCCESS in 12m 27s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ba40edef58e34341843743238a8874ec : SUCCESS in 20m 55s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/dfe5f4f780794cb1a1c831430e549d97 : SUCCESS in 5m 31s (non-voting)\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/6756cef3d08b45f69ebc778eac38d039 : SUCCESS in 18m 47s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/81d6c084994f4559bc1cb11ec25637da : SUCCESS in 18m 23s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/5563397d057b4830a0ab1e610add877d : SUCCESS in 13m 24s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/32765ab62d0e431d982b5068f4c7a017 : SUCCESS in 13m 18s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/74bb4297a3c54551a3065413dcfb61c4 : SUCCESS in 12m 30s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/137ee60a23a4419699d0a76a2b59d39a : SUCCESS in 15m 37s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/0b4f01b0981b449e99bab8061e6a3253 : SUCCESS in 55m 23s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/062e470c14174d9f9c103acc08d013fa : SUCCESS in 35m 33s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/8fbab8ba8b4a473db5c24850191dd1ff : SUCCESS in 20m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fc7632fc38404138a08c5c86fd63e401 : FAILURE in 3m 22s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/39b2f4eb9f6c4ab495038c3da9cd36f0 : SUCCESS in 24m 11s","accounts_in_message":[],"_revision_number":1},{"id":"c0632112faa36cd5f9217e459e08ae27b3ed4128","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-02-04 11:31:07.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1\n* Workflow-1\n","accounts_in_message":[],"_revision_number":2},{"id":"9a54e49231965ef97f6554abdc324872bf6b8f87","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-04 13:03:29.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5c3716318977467da36523e4d479944c\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/b8a853c9b90544da90255247fcb5d859 : SUCCESS in 1h 24m 20s","accounts_in_message":[],"_revision_number":2},{"id":"7780b1c6a52eb4a3208fa4820e2bd361e58bd589","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-04 13:20:59.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c8d1d79389d64375bdeee32f344538ca\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9f5ba07f9c3b45068d5bd6872e37ace2 : SUCCESS in 9m 03s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/c5f591c5cabe476492814374b338a277 : SUCCESS in 55m 39s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1a7def93d93a4378a6a3a49a74025f15 : SUCCESS in 22m 44s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f88ab3c7202d4022be64ced5d0390486 : SUCCESS in 22m 48s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/234d9f18199b4ad68e7a8257ee12f4f0 : SUCCESS in 21m 47s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/b2e5639868d7494485f0e39abc831184 : FAILURE in 4m 11s (non-voting)\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/2828c4bf6a254565a49e972632967c0c : SUCCESS in 16m 37s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/a8a837bc09d6407e80340ec6a0742eee : SUCCESS in 16m 18s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/8094e3f058164edcbcb471e29e156c46 : SUCCESS in 20m 12s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/8fa8267a7477497d9b27aff7a1bdfa37 : SUCCESS in 16m 20s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/1ceb5469ff8547a9acb08f2063a92393 : SUCCESS in 18m 23s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/3b28dc45132340d3b9ab077a80dd8a40 : SUCCESS in 18m 02s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/278827b7bca8478ea41542ce6a21d07f : SUCCESS in 41m 34s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/1752dd3b00614b35a89aaae9748609e4 : SUCCESS in 1h 20m 28s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/b820679e7ac54c35b03cf4928ee22b1c : SUCCESS in 15m 45s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/211723e39c704d3ab6282bf5eaaf418e : SUCCESS in 4m 31s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/3309b026dde54063b143234fd7e21a3b : SUCCESS in 18m 24s","accounts_in_message":[],"_revision_number":2},{"id":"4daedca78e2c147fb771fb3b10fe6fc6d17212de","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-02-10 14:48:07.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":3},{"id":"2aa0c7dfd69124ecea3a770286238180447d56f8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-10 15:57:11.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/450b52c84d6b4d4d965716ef1cca6d2b\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1b2a033f9bd64dd092ff2eb875865a41 : SUCCESS in 7m 52s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/0d7f220f4ee141549b35de8d410a6325 : SUCCESS in 1h 02m 10s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/40b5b4905f3343cabd681c334806e2a3 : SUCCESS in 17m 29s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/23c565864b50496d9ba1abcc81289535 : SUCCESS in 20m 11s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/525ab8f4b9ea4085829a5a069bcb7818 : SUCCESS in 19m 05s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/69f894fd0fe54f40b52f33f3dfeff981 : SUCCESS in 6m 17s (non-voting)\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/392d8b115f7c44738c571039d7b513a6 : SUCCESS in 15m 10s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/2a3e9f186f7344fcb95450a4c19a36e3 : SUCCESS in 16m 00s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/936ff64e919d4cf6a849f1d97c4023b5 : SUCCESS in 20m 27s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/ad44020054694665b6dfbed37d39d13f : SUCCESS in 15m 23s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/1c67443ee5724f84afb7630380ac2c2b : SUCCESS in 18m 27s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/991f5974bf7643e7801900eeb7641127 : SUCCESS in 13m 30s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/792fbd793865473e8d82c19355973223 : SUCCESS in 39m 31s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/ec34096434074005964635155d9ff1ef : SUCCESS in 38m 50s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0ac87c893786424bb73f70b20bb5813c : SUCCESS in 24m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4be401e01cef4e47a1cc47170027f2fb : SUCCESS in 4m 08s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/ad2576aa7e9b4e62976ebfc666312d28 : SUCCESS in 19m 38s","accounts_in_message":[],"_revision_number":3},{"id":"d546fe3fea1dbadd97eec5aaa089c7d080776a51","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-10 16:16:05.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b70e2d8ee6fc41599e7b8e7b0f3848a6\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/d1e5f1b97c0e44d780ec1f9476bc97c8 : SUCCESS in 1h 26m 05s","accounts_in_message":[],"_revision_number":3},{"id":"d7b957ba357f29a5972b60acaa50565451240853","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2025-02-10 18:20:28.000000000","message":"Patch Set 3: Code-Review+2\n\n(9 comments)","accounts_in_message":[],"_revision_number":3},{"id":"0942263f75a203dac3c4991e8478974e0b602dc3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-02-11 10:28:20.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Code-Review+2 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":4},{"id":"bd2fd5ec5d65113b8055ae8feb55e7fd9b221ba5","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-02-11 10:29:15.000000000","message":"Patch Set 4:\n\n(8 comments)","accounts_in_message":[],"_revision_number":4},{"id":"891ee3fb394580572d1fb778132ca852d0a64980","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2025-02-11 10:36:10.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"2fc0fc4f3e126e53fd70f037922dffedb3fa5180","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-11 12:45:19.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7193164e8a6049c78b24082bbe4d6ea2\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4c265ceb44c44e6ea2453b9a7870361a : SUCCESS in 7m 46s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/a2968d34bfa444e08f342747ec3ea8b9 : SUCCESS in 55m 17s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c017026b6d3842289f81c7f7745c8edf : SUCCESS in 20m 16s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/bcc0b8eda950463db79b66b0ed5a076a : SUCCESS in 21m 20s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/6670e576cfea4b4d829f8b4937975b55 : SUCCESS in 20m 15s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/a6495ed2372f47a787c8c093e924da31 : SUCCESS in 6m 02s (non-voting)\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/c97566c40af7413389912acd947b5faf : SUCCESS in 17m 52s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/9233ae43ec8d48b8b8025c4b5523a302 : SUCCESS in 19m 48s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/27f8d3825a964d4f9dec8d62bfe74002 : SUCCESS in 33m 45s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/69aa207cdb1446f392a63e5f1ccf8d70 : SUCCESS in 13m 01s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/561f2d1992824b64ad538eb61fb71952 : SUCCESS in 13m 03s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/ab3537657d16428b8db3d4f3bbda8324 : SUCCESS in 13m 22s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/7e366321519548d5a23c22a2ebbf789b : SUCCESS in 28m 52s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/9a51abd6c7904204a3045492f2997b0a : SUCCESS in 28m 50s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/f8792079d7ff49edb47c7a0737c6df18 : SUCCESS in 11m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2c5b049878fc4982a21ef9e04e971d55 : SUCCESS in 4m 03s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/f208b1a5390c4c53832a5b276138e5de : SUCCESS in 29m 59s","accounts_in_message":[],"_revision_number":5},{"id":"5189d1cb101a84aae1b99344204e6feffa5e0351","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-11 14:42:07.000000000","message":"Patch Set 5:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d4de66d2899247d7b35865d90a85e588\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/a6252b58bfe4454fbbb56425f7d7fafa : SUCCESS in 1h 41m 52s","accounts_in_message":[],"_revision_number":5},{"id":"9fa8900931c38a4509b5a319ddd3453dd34963a9","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2025-02-11 16:37:57.000000000","message":"Patch Set 5: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"2de4c1e23e594a02ec7c63405d32a5539a73780a","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-11 16:38:25.000000000","message":"Patch Set 5: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":5},{"id":"b4d3c97f5c81fd84b700a391b99b4d01f1499369","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-11 18:10:31.000000000","message":"Patch Set 5: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6d86690d95574752b6373a907d5941e6\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f8efc8787be74bcea7857ea8e2c42f78 : SUCCESS in 7m 00s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/3c9489315e2d4d8eaabd864807e4ccf7 : SUCCESS in 46m 59s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/797dd0e66a8a41aaaa261846677927fe : SUCCESS in 5m 31s (non-voting)\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/1f0bd745d26a4e38989cfac5e5e49dc6 : SUCCESS in 17m 26s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/b3cfcdf9bec7491da922d50de9461227 : SUCCESS in 18m 49s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/b2c77f662f034a45a01ae87d6d88e693 : SUCCESS in 22m 01s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/528101dd91cd4c80af11e8cd72c7f8d4 : SUCCESS in 15m 35s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/1e3b089a0be84504a2a499c3cf2cfdee : SUCCESS in 16m 35s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/10543870e0624a5dade5e43a6be6ec7d : SUCCESS in 14m 44s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/37592f5ae0c64c47baae026df3baffde : SUCCESS in 8m 16s\n- swift-tox-func-s3api-tests-tempauth https://zuul.opendev.org/t/openstack/build/a9d6ffa5b0bc4f7cbabaeef7b6b84693 : SUCCESS in 7m 44s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/54f13bd483c64003bd12a925370d1d47 : SUCCESS in 33m 50s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/4d156200556042558228c8584c4f64ef : SUCCESS in 25m 09s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/2f1b8df751db433c8e8fa1d8264b3618 : SUCCESS in 10m 18s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ed495ef8126042288a8ba2f7feec84ee : SUCCESS in 2m 51s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/87de53e4748646c08f87a4aff8772773 : SUCCESS in 10m 47s","accounts_in_message":[],"_revision_number":5},{"id":"fb70754296ff861e0880184e00df3ca5679d782a","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-11 18:10:31.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":5},{"id":"65480e5aae6cb28496b4dad3cc083f35cfd39033","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-11 18:12:12.000000000","message":"Patch Set 5:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/cad62c7c941c41bb82682b4f2ff0d9c4\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/45be03f9ed5440c0aaae1c594c088c31 : SUCCESS in 1m 01s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/adcf88c936724d4ca87d6235bcfaa73d : SUCCESS in 37s (non-voting)","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"a740591883076c791944e40eed109a521ac38604","revisions":{"35996f68b90486d8f0d8e7a3fbcdcbd4955a53d8":{"kind":"REWORK","_number":1,"created":"2025-02-03 18:59:22.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/51/940651/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/51/940651/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/51/940651/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/51/940651/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/51/940651/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/51/940651/1"}}},"commit":{"parents":[{"commit":"0dfa38d025bcb254849e8061af05e6214b5fdacf","subject":"docs: Fix version call-out for stale_worker_timeout","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0dfa38d025bcb254849e8061af05e6214b5fdacf"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-02-03 18:22:22.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-02-03 18:52:44.000000000","tz":0},"subject":"FakeSwift: capture footers separately","message":"FakeSwift: capture footers separately\n\nPreviously, FakeSwift updated the captured request headers with any\nfooters set by a footers callback. This made it impossible to make\nexplicit assertions about footers being set in the footers callback.\n\nThis patch captures the footers separately for each request, but still\nmerges them with the request headers to synthesise the response\nheaders.\n\nThe FakeSwiftCalll namedtuple is replaced with a Class to encapsulate\nmethod, path, headers and footers. Unfortunately many existing tests\ncast the list of namedtuples returned by FakeSwift.calls to a list of\n3-tuples, whereas other tests access access the namedtuples attributes\nby name. This results in unavoidable test churn if a new \u0027footers\u0027\nattribute was added to the namedtuple. This patch therefore replaces\nthe namedtuple with a class; there is still test churn but using a\nclass avoids future tests repeating the mistake of casting values to\nan assumed length tuple.\n\nChange-Id: If24b6fa50f1d67a7bbbf9a1794c70d37c41971f7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/35996f68b90486d8f0d8e7a3fbcdcbd4955a53d8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/35996f68b90486d8f0d8e7a3fbcdcbd4955a53d8"}]},"branch":"refs/heads/master"},"5675bdc088d681847ff1371f4ca0fd41255e4ed2":{"kind":"REWORK","_number":2,"created":"2025-02-04 11:31:07.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/51/940651/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/51/940651/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/51/940651/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/51/940651/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/51/940651/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/51/940651/2"}}},"commit":{"parents":[{"commit":"0dfa38d025bcb254849e8061af05e6214b5fdacf","subject":"docs: Fix version call-out for stale_worker_timeout","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0dfa38d025bcb254849e8061af05e6214b5fdacf"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-02-03 18:22:22.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-02-04 11:30:56.000000000","tz":0},"subject":"Tighten up encrypter tests re. request footers","message":"Tighten up encrypter tests re. request footers\n\nThe encrypter middleware uses an update_footers callback to send\nrequest footers. Previously, FakeSwift combined footers with captured\nrequest headers in a single dict. Tests could not therefore\nspecifically assert that *footers* had been captured rather than\nheaders.\n\nThis patch modifies FakeSwift to capture footers separately for each\nrequest. Footers are still merged with the request headers in order to\nsynthesise GET or HEAD response headers when a previously uploaded\nobject is returned.\n\nUnfortunately the change cannot be as simple as adding another\nattribute to the FakeSwiftCall namedtuple. A list of these namedtuples\nis returned by FakeSwift.calls_with_headers. Some tests cast the\nnamedtuples to 3-tuples and will break if the length of the namedtuple\nchanges.  Other tests access the attributes of the namedtuples by name\nand will break if the list values are changed to plain 3-tuples.\n\nSome test churn is therefore inevitable:\n\n* FakeSwiftCall is changed from a namedtuple to a class. This prevents\n  future tests assuming it is a fixed length tuple. It also supports a\n  headers_and_footers property to return the combination of uploaded\n  headers and footer that was previously (confusingly) returned by\n  FakeSwiftCall.headers.\n\n* A new property FakeSwift.call_list has been added which returns a\n  list of FakeSwiftCalls.\n\n* FakeSwift.calls_with_headers now returns a 3-tuple. Tests that\n  previously assumed this was a namedtuple have been changed to use\n  FakeSwift.call_list instead, which gives them objects with the same\n  named attributes as the previous namedtuple. Tests that previously\n  treated the namedtuple as a 3-tuple do not need to be changed.\n\n* Tests that access the \u0027private\u0027 FakeSwift._calls have been changed\n  to use FakeSwift.call_list.\n\nChange-Id: If24b6fa50f1d67a7bbbf9a1794c70d37c41971f7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5675bdc088d681847ff1371f4ca0fd41255e4ed2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5675bdc088d681847ff1371f4ca0fd41255e4ed2"}]},"branch":"refs/heads/master"},"bb246e90a81256613481ed224e8f4e9a3836ec01":{"kind":"REWORK","_number":3,"created":"2025-02-10 14:48:07.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/51/940651/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/51/940651/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/51/940651/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/51/940651/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/51/940651/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/51/940651/3"}}},"commit":{"parents":[{"commit":"73201cc12dbd0a53bb83b0acf4ed432d5a1b3317","subject":"Merge \"Deprecate expirer options\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/73201cc12dbd0a53bb83b0acf4ed432d5a1b3317"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-02-03 18:22:22.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-02-10 14:46:01.000000000","tz":0},"subject":"Tighten up encrypter tests re. request footers","message":"Tighten up encrypter tests re. request footers\n\nThe encrypter middleware uses an update_footers callback to send\nrequest footers. Previously, FakeSwift combined footers with captured\nrequest headers in a single dict. Tests could not therefore\nspecifically assert that *footers* had been captured rather than\nheaders.\n\nThis patch modifies FakeSwift to capture footers separately for each\nrequest. Footers are still merged with the request headers in order to\nsynthesise GET or HEAD response headers when a previously uploaded\nobject is returned.\n\nUnfortunately the change cannot be as simple as adding another\nattribute to the FakeSwiftCall namedtuple. A list of these namedtuples\nis returned by FakeSwift.calls_with_headers. Some tests cast the\nnamedtuples to 3-tuples and will break if the length of the namedtuple\nchanges.  Other tests access the attributes of the namedtuples by name\nand will break if the list values are changed to plain 3-tuples.\n\nSome test churn is therefore inevitable:\n\n* FakeSwiftCall is changed from a namedtuple to a class. This prevents\n  future tests assuming it is a fixed length tuple. It also supports a\n  headers_and_footers property to return the combination of uploaded\n  headers and footer that was previously (confusingly) returned by\n  FakeSwiftCall.headers.\n\n* A new property FakeSwift.call_list has been added which returns a\n  list of FakeSwiftCalls.\n\n* FakeSwift.calls_with_headers now returns a 3-tuple. Tests that\n  previously assumed this was a namedtuple have been changed to use\n  FakeSwift.call_list instead, which gives them objects with the same\n  named attributes as the previous namedtuple. Tests that previously\n  treated the namedtuple as a 3-tuple do not need to be changed.\n\n* Tests that access the \u0027private\u0027 FakeSwift._calls have been changed\n  to use FakeSwift.call_list.\n\nChange-Id: If24b6fa50f1d67a7bbbf9a1794c70d37c41971f7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bb246e90a81256613481ed224e8f4e9a3836ec01"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bb246e90a81256613481ed224e8f4e9a3836ec01"}]},"branch":"refs/heads/master"},"f6fa84743fb4f15d2df946642c5804cbe630f627":{"kind":"REWORK","_number":4,"created":"2025-02-11 10:28:20.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/51/940651/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/51/940651/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/51/940651/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/51/940651/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/51/940651/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/51/940651/4"}}},"commit":{"parents":[{"commit":"73201cc12dbd0a53bb83b0acf4ed432d5a1b3317","subject":"Merge \"Deprecate expirer options\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/73201cc12dbd0a53bb83b0acf4ed432d5a1b3317"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-02-03 18:22:22.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-02-11 09:51:54.000000000","tz":0},"subject":"Tighten up encrypter tests re. request footers","message":"Tighten up encrypter tests re. request footers\n\nThe encrypter middleware uses an update_footers callback to send\nrequest footers. Previously, FakeSwift combined footers with captured\nrequest headers in a single dict. Tests could not therefore\nspecifically assert that *footers* had been captured rather than\nheaders.\n\nThis patch modifies FakeSwift to capture footers separately for each\nrequest. Footers are still merged with the request headers in order to\nsynthesise GET or HEAD response headers when a previously uploaded\nobject is returned.\n\nUnfortunately the change cannot be as simple as adding another\nattribute to the FakeSwiftCall namedtuple. A list of these namedtuples\nis returned by FakeSwift.calls_with_headers. Some tests cast the\nnamedtuples to 3-tuples and will break if the length of the namedtuple\nchanges.  Other tests access the attributes of the namedtuples by name\nand will break if the list values are changed to plain 3-tuples.\n\nSome test churn is therefore inevitable:\n\n* FakeSwiftCall is changed from a namedtuple to a class. This prevents\n  future tests assuming it is a fixed length tuple. It also supports a\n  headers_and_footers property to return the combination of uploaded\n  headers and footer that was previously (confusingly) returned by\n  FakeSwiftCall.headers.\n\n* A new property FakeSwift.call_list has been added which returns a\n  list of FakeSwiftCalls.\n\n* FakeSwift.calls_with_headers now returns a 3-tuple. Tests that\n  previously assumed this was a namedtuple have been changed to use\n  FakeSwift.call_list instead, which gives them objects with the same\n  named attributes as the previous namedtuple. Tests that previously\n  treated the namedtuple as a 3-tuple do not need to be changed.\n\n* Tests that access the \u0027private\u0027 FakeSwift._calls have been changed\n  to use FakeSwift.call_list.\n\nChange-Id: If24b6fa50f1d67a7bbbf9a1794c70d37c41971f7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f6fa84743fb4f15d2df946642c5804cbe630f627"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f6fa84743fb4f15d2df946642c5804cbe630f627"}]},"branch":"refs/heads/master"},"a740591883076c791944e40eed109a521ac38604":{"kind":"REWORK","_number":5,"created":"2025-02-11 10:36:10.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/51/940651/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/51/940651/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/51/940651/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/51/940651/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/51/940651/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/51/940651/5"}}},"commit":{"parents":[{"commit":"73201cc12dbd0a53bb83b0acf4ed432d5a1b3317","subject":"Merge \"Deprecate expirer options\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/73201cc12dbd0a53bb83b0acf4ed432d5a1b3317"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-02-03 18:22:22.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2025-02-11 10:30:52.000000000","tz":0},"subject":"Tighten up encrypter tests re. request footers","message":"Tighten up encrypter tests re. request footers\n\nThe encrypter middleware uses an update_footers callback to send\nrequest footers. Previously, FakeSwift combined footers with captured\nrequest headers in a single dict. Tests could not therefore\nspecifically assert that *footers* had been captured rather than\nheaders.\n\nThis patch modifies FakeSwift to capture footers separately for each\nrequest. Footers are still merged with the request headers in order to\nsynthesise GET or HEAD response headers when a previously uploaded\nobject is returned.\n\nUnfortunately the change cannot be as simple as adding another\nattribute to the FakeSwiftCall namedtuple. A list of these namedtuples\nis returned by FakeSwift.calls_with_headers. Some tests cast the\nnamedtuples to 3-tuples and will break if the length of the namedtuple\nchanges.  Other tests access the attributes of the namedtuples by name\nand will break if the list values are changed to plain 3-tuples.\n\nSome test churn is therefore inevitable:\n\n* FakeSwiftCall is changed from a namedtuple to a class. This prevents\n  future tests assuming it is a fixed length tuple. It also supports a\n  headers_and_footers property to return the combination of uploaded\n  headers and footer that was previously (confusingly) returned by\n  FakeSwiftCall.headers.\n\n* A new property FakeSwift.call_list has been added which returns a\n  list of FakeSwiftCalls.\n\n* FakeSwift.calls_with_headers now returns a 3-tuple. Tests that\n  previously assumed this was a namedtuple have been changed to use\n  FakeSwift.call_list instead, which gives them objects with the same\n  named attributes as the previous namedtuple. Tests that previously\n  treated the namedtuple as a 3-tuple do not need to be changed.\n\n* Tests that access the \u0027private\u0027 FakeSwift._calls have been changed\n  to use FakeSwift.call_list.\n\nChange-Id: If24b6fa50f1d67a7bbbf9a1794c70d37c41971f7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a740591883076c791944e40eed109a521ac38604"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a740591883076c791944e40eed109a521ac38604"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
