)]}'
{"id":"openstack%2Fpython-keystoneclient~958882","triplet_id":"openstack%2Fpython-keystoneclient~master~I26350578fa58f8f2b16821aeeeafbd58fac4b168","project":"openstack/python-keystoneclient","branch":"master","topic":"eventlet-removal","hashtags":[],"change_id":"I26350578fa58f8f2b16821aeeeafbd58fac4b168","subject":"Add hacking rules to prevent eventlet usage","status":"NEW","created":"2025-08-29 13:27:10.000000000","updated":"2025-09-01 13:53:46.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"work_in_progress":true,"has_review_started":false,"meta_rev_id":"c31a34fe1e1ad65869ce553b6cba48e15be0b03e","_number":958882,"virtual_id_number":958882,"owner":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2025-09-01 13:53:46.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":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"reviewer_updates":[{"updated":"2025-08-29 15:11:54.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"}],"messages":[{"id":"aa1075b6e8b1ebe5c1a4a4228a1e645ec09256a1","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2025-08-29 13:27:10.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"2b7f83e8f7f1b19316634dd0dfdae3a07b1b927c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-29 15:11:54.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/d6823abd3ac749f69f371e3988707d03\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/ea2422681f124a589f0c9c4e764d7467 : SUCCESS in 2m 29s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/2d7cada4df0a4cfc9dafad57d447024c : SUCCESS in 2m 49s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/398c791907f84a8f8b7f0503b7376866 : SUCCESS in 2m 46s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/6bf6c8d2d649471394892a308edd26e5 : SUCCESS in 3m 01s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/0117f04734324af69eeef5f1f9a08f7b : SUCCESS in 4m 08s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/8434c03571d141849a3736eff92835ee : SUCCESS in 6m 15s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ea14a172076b4a1c9c94a92f1e1d9c93 : FAILURE in 10m 56s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/7da0bc275bc842f1bbaead7667312218 : SUCCESS in 1h 41m 38s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/8649c538cd834b56966524aedb1be7e5 : SUCCESS in 13m 02s","accounts_in_message":[],"_revision_number":1},{"id":"d7709ca57e3c8923ffa6781636b355674b8461d5","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2025-09-01 12:59:34.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"c31a34fe1e1ad65869ce553b6cba48e15be0b03e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-01 13:53:46.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3d42a7b52f1544dbbd8af99f7af2f9ca\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/29beba9085e640eb98ddc92acf3acbc7 : SUCCESS in 2m 49s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/1f8d166896244da69fa631405f2d176b : SUCCESS in 3m 00s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1769195011d94dc99576179511b3b243 : SUCCESS in 3m 27s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/2b4e77c9a5ff48c0af8cdb41169620fc : SUCCESS in 3m 18s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/597ea2f603d74d2e860ab5cc166899f7 : SUCCESS in 3m 22s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/945e8df678af49c091c135fd0c0565a3 : SUCCESS in 4m 12s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0d1811641e27495b9b32374254959537 : SUCCESS in 7m 51s\n- requirements-check https://zuul.opendev.org/t/openstack/build/f7881c569db4418c94ea4a9ac88459de : SUCCESS in 1m 40s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/37fd104b34bc46488240339c11f800cf : SUCCESS in 53m 12s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/328f67879e7b4de89ecdcda23a430933 : SUCCESS in 3m 19s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/dab549046a7342da892ecfc3b6f68e00 : SUCCESS in 21m 36s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"67d6c71b8d71673346eaae44c141e1a4fe5dcf83","revisions":{"5cf15f14be2372872a0201d8d789252947d9f989":{"kind":"REWORK","_number":1,"created":"2025-08-29 13:27:10.000000000","uploader":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"ref":"refs/changes/82/958882/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/82/958882/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/82/958882/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/82/958882/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/82/958882/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/82/958882/1"}}},"commit":{"parents":[{"commit":"ee58ef4d0084b01a1bbfe193626642bfe57b80c7","subject":"Remove eventlet usage from cms.py","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/ee58ef4d0084b01a1bbfe193626642bfe57b80c7"}]}],"author":{"name":"Hervé Beraud","email":"hberaud@redhat.com","date":"2025-08-29 13:20:52.000000000","tz":120},"committer":{"name":"Hervé Beraud","email":"hberaud@redhat.com","date":"2025-08-29 13:21:24.000000000","tz":120},"subject":"Add hacking rules to ban eventlet usage","message":"Add hacking rules to ban eventlet usage\n\nIntroduce hacking checks to ban eventlet usage\nin keystoneclient. This helps maintain code quality and\nprevents regression to deprecated eventlet patterns after\nthe recent eventlet removal.\n\n- Add K001 check for eventlet imports\n- Add K002 check for eventlet usage patterns in code\n- Register checks as flake8 extensions in setup.cfg\n- Skip comments and docstrings to avoid false positives\n\nThe checks will catch patterns like:\n- import eventlet / from eventlet import ...\n- eventlet.*, green.*, patcher.*, already_patched references\n\nGenerated-By: Claude Code\nChange-Id: I26350578fa58f8f2b16821aeeeafbd58fac4b168\nSigned-off-by: Hervé Beraud \u003chberaud@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/5cf15f14be2372872a0201d8d789252947d9f989"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/5cf15f14be2372872a0201d8d789252947d9f989"}]},"branch":"refs/heads/master"},"67d6c71b8d71673346eaae44c141e1a4fe5dcf83":{"kind":"REWORK","_number":2,"created":"2025-09-01 12:59:34.000000000","uploader":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"ref":"refs/changes/82/958882/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/82/958882/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/82/958882/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/82/958882/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/82/958882/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/82/958882/2"}}},"commit":{"parents":[{"commit":"ee58ef4d0084b01a1bbfe193626642bfe57b80c7","subject":"Remove eventlet usage from cms.py","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/ee58ef4d0084b01a1bbfe193626642bfe57b80c7"}]}],"author":{"name":"Hervé Beraud","email":"hberaud@redhat.com","date":"2025-08-29 13:20:52.000000000","tz":120},"committer":{"name":"Hervé Beraud","email":"hberaud@redhat.com","date":"2025-09-01 12:58:49.000000000","tz":120},"subject":"Add hacking rules to prevent eventlet usage","message":"Add hacking rules to prevent eventlet usage\n\nIntroduce flake8 hacking checks to prevent future eventlet usage in\nkeystoneclient. This helps maintain code quality and prevents regression\nto deprecated eventlet patterns after the recent eventlet removal.\n\n- Add K001 check for eventlet imports\n- Add K002 check for eventlet usage patterns in code\n- Register checks as flake8 extensions in setup.cfg\n- Skip comments and docstrings to avoid false positives\n- Add hacking to docs requirements to fix autodoc import\n\nThe checks will catch patterns like:\n- import eventlet / from eventlet import ...\n- eventlet.*, green.*, patcher.*, already_patched references\n\nGenerated-By: Claude Code\nChange-Id: I26350578fa58f8f2b16821aeeeafbd58fac4b168\nSigned-off-by: Hervé Beraud \u003chberaud@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/67d6c71b8d71673346eaae44c141e1a4fe5dcf83"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/67d6c71b8d71673346eaae44c141e1a4fe5dcf83"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
