)]}'
{"id":"openstack%2Foslo.log~990057","triplet_id":"openstack%2Foslo.log~master~I24a98cb4f58b5452a8510b8c756ad6f257e2bb0a","project":"openstack/oslo.log","branch":"master","attention_set":{},"removed_from_attention_set":{"28522":{"account":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"last_update":"2026-05-26 12:47:49.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I24a98cb4f58b5452a8510b8c756ad6f257e2bb0a","subject":"Fix mypy type checking errors","status":"MERGED","created":"2026-05-26 08:28:16.000000000","updated":"2026-05-26 12:48:46.000000000","submitted":"2026-05-26 12:47:49.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":1,"unresolved_comment_count":1,"has_review_started":true,"submission_id":"990057","meta_rev_id":"e0357a69065223954fee30e15badaeefe4fe58d7","_number":990057,"virtual_id_number":990057,"owner":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-05-26 12:47:49.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":2,"date":"2026-05-26 11:31:21.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":1,"date":"2026-05-26 11:31:21.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"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},"Backport-Candidate":{"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do Not Backport","-1":"Not A Backport Candidate"," 0":"Backport Review Needed","+1":"Proposed Backport","+2":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-05-26 10:25:21.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-05-26 11:31:21.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"REVIEWER"}],"messages":[{"id":"50bc04b5c4e7b1dff6a7aeb53c7d57c6f1753398","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2026-05-26 08:28:16.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"c5e5b75f9533867f76948cb5d3f9f675ca8cfcc1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-26 10:25:21.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/8150185a54454798be4610cff9152ec4\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/d60bbdfdda75416c9dd36ecc00f4e1aa : SUCCESS in 1h 50m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/152ecc450aac48cf88ce5c7b2fc5f1ff : SUCCESS in 3m 16s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/491e6c83607d48a4ab980c3eb778292c : SUCCESS in 5m 49s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/95287b8dadc447e9bf8fe3dd77a654e5 : SUCCESS in 2m 50s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/39dd3b6ce0ea42aba42acd01ef0151b5 : SUCCESS in 5m 08s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/65ec86da0e044ba5a3a7e90b8c86b6eb : SUCCESS in 2m 29s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a329e5c3eb2c45058698793c79df6ae9 : SUCCESS in 3m 30s\n- oslo.log-src-grenade https://zuul.opendev.org/t/openstack/build/fdb9615521994d92a71bb5eaeb1003ff : SUCCESS in 44m 08s (non-voting)\n- oslo.log-jsonformatter https://zuul.opendev.org/t/openstack/build/48af0c462c3f4a56b70f0277c249d4d1 : SUCCESS in 31m 39s\n- oslo.log-tox-py312-eventlet-patched https://zuul.opendev.org/t/openstack/build/f23fc0e37dc44a5ea40f0d2a1da4e854 : SUCCESS in 4m 46s\n- oslo.log-tox-py312-eventlet-patched-asyncio https://zuul.opendev.org/t/openstack/build/8045e62500b640e4bce0a5c22a1c7152 : SUCCESS in 3m 26s","accounts_in_message":[],"_revision_number":1},{"id":"ec71769a0744caf39b2a5cde74a68b62326a35c0","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-05-26 11:31:21.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"7af7cfd952e0648fb9199c9a85c49730b9d698f8","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-26 11:31:44.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"f449f0e8ff66200610980bff4ffdb9661c50e793","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-05-26 11:41:10.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"ccc1327bd723c174a5672343082f1312547f2a1e","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-26 12:47:49.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/531dd11e8c1f40a38d5ce2c03faa974a\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/f378d8e11303469398488d1eed2a57a9 : SUCCESS in 1h 15m 19s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/311a0b367f094da3992702e75e7b7a84 : SUCCESS in 4m 17s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/da9643a7034c47dfab102e2eaf233699 : SUCCESS in 2m 00s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/bd00435702564547b879a864d9b32ab8 : SUCCESS in 2m 49s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/88f66807d5e3405da976f04556975e33 : SUCCESS in 2m 35s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a748637f668f4658896337729c3e0c39 : SUCCESS in 3m 02s\n- oslo.log-jsonformatter https://zuul.opendev.org/t/openstack/build/612f26ba3c7d411daa603db8c4475f79 : SUCCESS in 19m 07s\n- oslo.log-tox-py312-eventlet-patched https://zuul.opendev.org/t/openstack/build/db19088f02574fcdb5e8174494d3a9ad : SUCCESS in 2m 05s\n- oslo.log-tox-py312-eventlet-patched-asyncio https://zuul.opendev.org/t/openstack/build/3e928aaedc5045d8b1851320fbf31c45 : SUCCESS in 2m 06s","accounts_in_message":[],"_revision_number":1},{"id":"5767797c5b481ff958f8f88a4b02bd66c15bfaa2","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-26 12:47:49.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"e0357a69065223954fee30e15badaeefe4fe58d7","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-26 12:48:46.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b1aff47b8aa64eb183656f9ee4261675\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e7dc5b3471c54507a4f9da966b3babe6 : SUCCESS in 45s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"0640ed88feed42e01412dcd5d409e024e11175ed","revisions":{"0640ed88feed42e01412dcd5d409e024e11175ed":{"kind":"REWORK","_number":1,"created":"2026-05-26 08:28:16.000000000","uploader":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"ref":"refs/changes/57/990057/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.log","ref":"refs/changes/57/990057/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.log refs/changes/57/990057/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.log refs/changes/57/990057/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.log refs/changes/57/990057/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.log refs/changes/57/990057/1"}}},"commit":{"parents":[{"commit":"546add476e8a40954c9b34eb5fb584e5b2f1cb68","subject":"typing: Update for typed oslotest","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.log/commit/546add476e8a40954c9b34eb5fb584e5b2f1cb68"}]}],"author":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-05-26 08:26:23.000000000","tz":120},"committer":{"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","date":"2026-05-26 08:27:44.000000000","tz":120},"subject":"Fix mypy type checking errors","message":"Fix mypy type checking errors\n\nThe typed oslo.config stubs introduced new type mismatches that\nneeded attention across five files.\n\nAn empty set() without annotation left mypy unable to infer the\nelement type, so _DEPRECATED_EXCEPTIONS now carries an explicit\nset[type] annotation.\n\nThe list_opts() concatenation mixed list[BoolOpt] with list[Opt]\nvia the + operator, which mypy rejects because list is invariant.\nSwitching to unpacking ([*a, *b, ...]) builds a single list whose\nelement type is the union of all sources, sidestepping the issue\nwithout casts or redundant annotations on each individual list.\n\n_store_global_conf was annotated as returning ConfigOpts but never\nreturns anything — the return type is now None to match reality.\n\nThe tuple-based membership checks in _mutate_hook ((None, \u0027debug\u0027)\nin fresh) are a legitimate oslo.config API pattern for querying\nmutated options by (group, name), but the typed stubs only declare\n__contains__(str). These are silenced with type: ignore until the\nstubs are updated upstream.\n\nThe TestConfigOpts.__call__ override intentionally narrows the\nparent signature to hardcode test defaults — this is a deliberate\nsimplification for test ergonomics, not a Liskov violation worth\nfixing, so it gets a type: ignore[override].\n\nAssisted-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\nChange-Id: I24a98cb4f58b5452a8510b8c756ad6f257e2bb0a\nSigned-off-by: Hervé Beraud \u003cherveberaud.pro@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.log/commit/0640ed88feed42e01412dcd5d409e024e11175ed"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.log/commit/0640ed88feed42e01412dcd5d409e024e11175ed"}]},"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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},{"label":"Backport-Candidate","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Backport-Candidate","description":"Backport candidate status","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"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":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
