)]}'
{"id":"openstack%2Fpython-magnumclient~994516","triplet_id":"openstack%2Fpython-magnumclient~master~I673e7082e3bb4db0fe8fee783ac47035452f3e37","project":"openstack/python-magnumclient","branch":"master","hashtags":[],"change_id":"I673e7082e3bb4db0fe8fee783ac47035452f3e37","subject":"Remove deprecated apiclient indirection layer","status":"NEW","created":"2026-06-23 18:04:26.000000000","updated":"2026-06-24 05:57:32.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":3,"unresolved_comment_count":0,"work_in_progress":true,"has_review_started":false,"meta_rev_id":"a4784652dc5301eefca12e9f06fbcf2f787fe8d1","_number":994516,"virtual_id_number":994516,"owner":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2026-06-24 05:57:32.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},"Backport-Candidate":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"reviewer_updates":[{"updated":"2026-06-24 05:57:32.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":"a8b172efa1d07036255aedc053a6050523feeb37","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"date":"2026-06-23 18:04:26.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"4640b71406b0607ddeff1e9ea68d40352c0e968a","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"date":"2026-06-24 05:37:29.000000000","message":"Patch Set 2: Patch Set 1 was rebased","accounts_in_message":[],"_revision_number":2},{"id":"a4784652dc5301eefca12e9f06fbcf2f787fe8d1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-24 05:57:32.000000000","message":"Patch Set 2: Verified-1\n\n(3 comments)\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/ef3395b979854c499becc871abc4b646\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/165a4d23b5164cebba6456098a564b7a : SUCCESS in 3m 32s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a21932f7ec074f638b5e4e7cce0f8cfe : FAILURE in 3m 37s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/086957171b5d4afb81f756a291756e6a : SUCCESS in 3m 17s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/f5ae906e4339419094c29403bd3c2a95 : SUCCESS in 3m 23s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/b4d9c79ff0f14a798ca23b1a64bf879a : SUCCESS in 5m 57s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e1fa0dfeddda4628865e8316106262dc : SUCCESS in 2m 13s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/14f128dad1fc49739b440b3f260dbe5f : SUCCESS in 2m 10s\n\nWarning:\n  Comments left for invalid file magnumclient/tests/v1/test_client.py","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"fd55f148d81336e1c0de6c2f16e46589fdf0f4c5","revisions":{"36ec23e4f51c5bc7b8828759390f70bbd32c0350":{"kind":"REWORK","_number":1,"created":"2026-06-23 18:04:26.000000000","uploader":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"ref":"refs/changes/16/994516/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-magnumclient","ref":"refs/changes/16/994516/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-magnumclient refs/changes/16/994516/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-magnumclient refs/changes/16/994516/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-magnumclient refs/changes/16/994516/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-magnumclient refs/changes/16/994516/1"}}},"commit":{"parents":[{"commit":"72d5faf177595eaa35eacf575ba5186bfb9773d1","subject":"Remove legacy magnum CLI and shell infrastructure","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-magnumclient/commit/72d5faf177595eaa35eacf575ba5186bfb9773d1"}]}],"author":{"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","date":"2026-06-23 18:01:13.000000000","tz":120},"committer":{"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","date":"2026-06-23 18:01:13.000000000","tz":120},"subject":"Remove deprecated apiclient indirection layer","message":"Remove deprecated apiclient indirection layer\n\nInline the exception hierarchy from common/apiclient/exceptions.py\ndirectly into magnumclient/exceptions.py, combining the two\nfrom_response() implementations into one. Inline the Resource base\nclass from common/apiclient/base.py into common/base.py, eliminating\nthe inheritance indirection. Update all import sites (cliutils.py,\ncommon/base.py, tests/test_httpclient.py, tests/utils.py) to reference\nthe canonical locations. Delete the now-empty apiclient subpackage.\n\nChange-Id: I673e7082e3bb4db0fe8fee783ac47035452f3e37\nSigned-off-by: Michal Nasiadka \u003cmnasiadka@gmail.com\u003e\nAssisted-by: Claude code \u003cclaude-sonnet-4-6\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-magnumclient/commit/36ec23e4f51c5bc7b8828759390f70bbd32c0350"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-magnumclient/commit/36ec23e4f51c5bc7b8828759390f70bbd32c0350"}]},"branch":"refs/heads/master"},"fd55f148d81336e1c0de6c2f16e46589fdf0f4c5":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-06-24 05:37:29.000000000","uploader":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"ref":"refs/changes/16/994516/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-magnumclient","ref":"refs/changes/16/994516/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-magnumclient refs/changes/16/994516/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-magnumclient refs/changes/16/994516/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-magnumclient refs/changes/16/994516/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-magnumclient refs/changes/16/994516/2"}}},"commit":{"parents":[{"commit":"469a0a40930917077383d345988a88a98fefa90e","subject":"Remove legacy magnum CLI and shell infrastructure","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-magnumclient/commit/469a0a40930917077383d345988a88a98fefa90e"}]}],"author":{"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","date":"2026-06-23 18:01:13.000000000","tz":120},"committer":{"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","date":"2026-06-24 05:37:29.000000000","tz":0},"subject":"Remove deprecated apiclient indirection layer","message":"Remove deprecated apiclient indirection layer\n\nInline the exception hierarchy from common/apiclient/exceptions.py\ndirectly into magnumclient/exceptions.py, combining the two\nfrom_response() implementations into one. Inline the Resource base\nclass from common/apiclient/base.py into common/base.py, eliminating\nthe inheritance indirection. Update all import sites (cliutils.py,\ncommon/base.py, tests/test_httpclient.py, tests/utils.py) to reference\nthe canonical locations. Delete the now-empty apiclient subpackage.\n\nChange-Id: I673e7082e3bb4db0fe8fee783ac47035452f3e37\nSigned-off-by: Michal Nasiadka \u003cmnasiadka@gmail.com\u003e\nAssisted-by: Claude code \u003cclaude-sonnet-4-6\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-magnumclient/commit/fd55f148d81336e1c0de6c2f16e46589fdf0f4c5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-magnumclient/commit/fd55f148d81336e1c0de6c2f16e46589fdf0f4c5"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"72d5faf177595eaa35eacf575ba5186bfb9773d1","ours":"36ec23e4f51c5bc7b8828759390f70bbd32c0350","theirs":"469a0a40930917077383d345988a88a98fefa90e","merge_strategy":"recursive","contains_conflicts":false}}},"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"},{"label":"Backport-Candidate","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":"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":"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":""}}}]}
