)]}'
{"id":"openstack%2Fswift~932178","triplet_id":"openstack%2Fswift~master~Idc6b6b5a2b665538e861700f5d0996fc39368f5b","project":"openstack/swift","branch":"master","topic":"p-fake-swift-capture","attention_set":{},"removed_from_attention_set":{"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2024-10-12 04:47:47.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Idc6b6b5a2b665538e861700f5d0996fc39368f5b","subject":"FakeSwift: capture unexpected calls","status":"MERGED","created":"2024-10-11 13:16:56.000000000","updated":"2024-10-12 04:49:04.000000000","submitted":"2024-10-12 04:47:47.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":7,"unresolved_comment_count":6,"has_review_started":true,"submission_id":"932178-p-fake-swift-capture","meta_rev_id":"a2be61ff973b071218db308e0d04f54050fc0249","_number":932178,"virtual_id_number":932178,"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":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2024-10-12 04:47:47.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"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":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2024-10-12 03:54:07.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"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":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2024-10-12 03:54:07.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2024-10-11 14:36:16.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":"2024-10-12 03:54:07.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":"REVIEWER"}],"messages":[{"id":"8bbd73db5bb0ea3d59811e944e0dc9b0ec27d547","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2024-10-11 13:16:56.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"83c94072c65f4cc82b224f739a611148a390b4ab","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2024-10-11 13:31:45.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"fef7a5a34c8a1f371e6e1ad0883de4d2e655a9d2","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2024-10-11 13:33:38.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"e9d9a9d54167ac939abc824b4ec20e1b1749f6ce","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2024-10-11 13:34:50.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"0a26e15d4741e73bfd5488770fcb15e77c98318f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-10-11 14:36:16.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0663cab5568e4f00af5173e611bd2cca\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/192a64c9c7904a39b0b7f001446bdf3c : SUCCESS in 11m 00s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/30fc9295a94f47d19fb755f23911face : SUCCESS in 48m 55s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/2d2c210204d0423eaa830e1d6a08a634 : SUCCESS in 16m 25s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/8e037bc92c204709856ee0ae9c384fc5 : SUCCESS in 18m 41s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/46b6e3918022441299af771d34278a76 : SUCCESS in 14m 32s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/a983a87b45d147ad896e8d14485c5fe5 : SUCCESS in 6m 38s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/735163a482aa422783d622d316109516 : SUCCESS in 19m 10s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/85ecd26dd6d74a8c84cea733583eed37 : SUCCESS in 22m 48s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/33ff228f5a0d471d9982142f5add84c4 : SUCCESS in 19m 21s\n- swift-tox-py311 https://zuul.opendev.org/t/openstack/build/ef4ac6f347544a9babe3ef5c96c37d70 : SUCCESS in 24m 23s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/af591244371748d4b6cc823a079f3b17 : SUCCESS in 23m 10s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/0f7406949cec4a6180d0840b51365fae : SUCCESS in 21m 43s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/eccacd0cfe8b481aaced573e544adfa9 : SUCCESS in 17m 00s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/8e61c3533f4a4b319452f85cf8bbb8db : SUCCESS in 15m 34s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/191f161506e2487db792ce527dd0c725 : SUCCESS in 14m 29s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/e3a9cdb433d44f3abfd21e020d66cb37 : SUCCESS in 16m 46s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/39d32ea9a8f84336b60c84fbd4d118cb : SUCCESS in 16m 53s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/28652d119a8c46cdb1f61572d637a3af : SUCCESS in 56m 34s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/b0f415d508f0499492f240e48588a566 : SUCCESS in 48m 24s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0def97f5ee7b45f4888189b9be8b350f : SUCCESS in 20m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a49ace3ff9194e75899bdc547ed968f4 : SUCCESS in 5m 10s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/4db7039790b54672b6dfa5bb58dcbf6e : SUCCESS in 17m 17s","accounts_in_message":[],"_revision_number":2},{"id":"b8b064736c63a4f1dd38acf8a782c051258955e7","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-10-11 15:22:19.000000000","message":"Patch Set 2:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/15719ed84fd8465ab63a6fd3cc82510c\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/f9a17a51911147cbb0e39e6ee3e86148 : FAILURE in 1h 48m 43s","accounts_in_message":[],"_revision_number":2},{"id":"08994165f0197c9322c63f9862e99778ba5f74b2","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2024-10-12 03:54:07.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\n(4 comments)","accounts_in_message":[],"_revision_number":2},{"id":"8f8d52949401bc42f2a796ddf946fac099342470","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-10-12 03:54:39.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"f1a6503d36e30ba697cbc999eed245752d0fb195","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-10-12 04:47:47.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7b7086f637d547a0b5218300cea56822\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1a59df0a0c0846238e97b4f8150582c7 : SUCCESS in 7m 23s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/0acb55d657dd43d89026ecf29377a4c8 : SUCCESS in 43m 55s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/b8a0d43c498d45838e4584ac98f29740 : SUCCESS in 5m 41s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/79021e1947814d17b02569b1bdc65771 : SUCCESS in 17m 24s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/6f594ae291d34b9ab41099d807f28def : SUCCESS in 9m 34s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/1ca8e38509d9483f83abecf8cc207336 : SUCCESS in 17m 04s\n- swift-tox-py311 https://zuul.opendev.org/t/openstack/build/3d839f83ff204e68a50d9d50a635ea93 : SUCCESS in 18m 03s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/4c70b8b9b7484c34b21651927f4a3e91 : SUCCESS in 13m 43s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/3956fa24c0364baab40ed99e84812851 : SUCCESS in 16m 34s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/c323c25334df4991b580b303aeb049be : SUCCESS in 15m 57s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/de3d813eb819441f9c14a324ad4f0f56 : SUCCESS in 10m 46s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/a570ffc5aec84ec9a59f4a5e3e9b8d91 : SUCCESS in 14m 19s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/796deb038b434884aa4c7cfb0ac835b4 : SUCCESS in 16m 26s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/65251ace212a4737bf15c577aa623c21 : SUCCESS in 8m 57s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/039bcfe0a98946938a88093b570b9665 : SUCCESS in 6m 03s\n- swift-tox-func-s3api-tests-tempauth https://zuul.opendev.org/t/openstack/build/a8980aaa38bc4469989d7e6f22fc818e : SUCCESS in 6m 46s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/be53e205811b4b41b8a7bc235e108ae5 : SUCCESS in 47m 49s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/09d1c22669c248678f18115d62a66c11 : SUCCESS in 53m 03s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/b0b1fa73254441eb8ca11b2a7447cdfb : SUCCESS in 20m 03s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/daa007961c924484b69fa846e62573d7 : SUCCESS in 4m 16s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/cb63d02a6dd546ea96206ac9f2a6b31a : SUCCESS in 17m 02s","accounts_in_message":[],"_revision_number":2},{"id":"2078d08a644c195df9040aa5ffec13a112eaf416","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-10-12 04:47:47.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"a2be61ff973b071218db308e0d04f54050fc0249","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-10-12 04:49:04.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fd3ab6dbb938489ea95fc0dc132f07ec\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/eb85acdf37334c66b4859d9d1f46437a : SUCCESS in 59s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/78965136b5644ba39072bde4b3124631 : SUCCESS in 34s (non-voting)","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"056b2afbd71bfc6ace3157390344bb8d459600df","revisions":{"140dc9cc4b8c3435ddf6eef5581358839713c991":{"kind":"REWORK","_number":1,"created":"2024-10-11 13:16:56.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/78/932178/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/78/932178/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/78/932178/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/78/932178/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/78/932178/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/78/932178/1"}}},"commit":{"parents":[{"commit":"14ce84b64cf2455b330733dd4e615145cb95e585","subject":"CI: bump up arm64 timeouts (again)","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/14ce84b64cf2455b330733dd4e615145cb95e585"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2024-10-11 12:01:44.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2024-10-11 13:16:39.000000000","tz":60},"subject":"FakeSwift: capture unexpected calls","message":"FakeSwift: capture unexpected calls\n\nPreviously FakeSwift would raise a KeyError for a call that had no\nmatching registered response *before* capturing the call. This\nprevents tests reliably asserting that only expected calls have been\nmade. In particular, if the code being tested handles the KeyError\ngracefully then it was possible to write quite reasonable test\nassertions that passed despite unexpected calls being made.\n\nTests in test/unit/container/test_reconciler.py seem to rely on this\nbehaviour, so this patch adds a capture_unexpected_calls option for\nFakeSwift which defauts to True. This allows the reconciler tests to\nopt out of the new stricter call capturing.\n\nChange-Id: Idc6b6b5a2b665538e861700f5d0996fc39368f5b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/140dc9cc4b8c3435ddf6eef5581358839713c991"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/140dc9cc4b8c3435ddf6eef5581358839713c991"}]},"branch":"refs/heads/master"},"056b2afbd71bfc6ace3157390344bb8d459600df":{"kind":"REWORK","_number":2,"created":"2024-10-11 13:31:45.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/78/932178/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/78/932178/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/78/932178/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/78/932178/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/78/932178/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/78/932178/2"}}},"commit":{"parents":[{"commit":"14ce84b64cf2455b330733dd4e615145cb95e585","subject":"CI: bump up arm64 timeouts (again)","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/14ce84b64cf2455b330733dd4e615145cb95e585"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2024-10-11 12:01:44.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2024-10-11 13:31:36.000000000","tz":60},"subject":"FakeSwift: capture unexpected calls","message":"FakeSwift: capture unexpected calls\n\nPreviously FakeSwift would raise a KeyError for a call that had no\nmatching registered response *before* capturing the call. This\nprevents tests reliably asserting that only expected calls have been\nmade. In particular, if the code being tested handles the KeyError\ngracefully then it was possible to write quite reasonable test\nassertions that passed despite unexpected calls being made.\n\nTests in test/unit/container/test_reconciler.py seem to rely on this\nbehaviour, so this patch adds a capture_unexpected_calls option for\nFakeSwift which defauts to True. This allows the reconciler tests to\nopt out of the new stricter call capturing.\n\nChange-Id: Idc6b6b5a2b665538e861700f5d0996fc39368f5b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/056b2afbd71bfc6ace3157390344bb8d459600df"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/056b2afbd71bfc6ace3157390344bb8d459600df"}]},"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":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}}]}],"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":{}}}]}
