)]}'
{"id":"openstack%2Fpython-openstackclient~1012993","triplet_id":"openstack%2Fpython-openstackclient~master~I88f2da6892d1e2b183e876c1c276e6cd83980385","project":"openstack/python-openstackclient","branch":"master","attention_set":{},"removed_from_attention_set":{"5890":{"account":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"last_update":"2026-10-30 18:46:55.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I88f2da6892d1e2b183e876c1c276e6cd83980385","subject":"tests: Use osc-lib\u0027s assertIsSubset and tolerate new SDK fields","status":"MERGED","created":"2026-10-30 04:07:30.000000000","updated":"2026-10-30 18:50:34.000000000","submitted":"2026-10-30 18:46:55.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":2,"unresolved_comment_count":1,"has_review_started":true,"submission_id":"1012993","meta_rev_id":"0d2d96a37e84e7678ba9b3635edc65ba68da64be","_number":1012993,"virtual_id_number":1012993,"owner":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"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-10-30 18:46:54.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-10-30 17:41:06.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-10-30 17:41:06.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}},"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-10-30 05:22:52.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-10-30 17:41:06.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":"9b97c711f791b789a78ebe2eb3ab33ba4c3e9722","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-10-30 04:07:30.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"0e8dcdad92992bb867da9d0effb9808282b7b82f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-30 05:22:52.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6ee0ac15095341eab7a9d0522c7d2360\n\n- openstackclient-check-plugins https://zuul.opendev.org/t/openstack/build/a36460a9e72a43afa2089db1fa1efd8c : SUCCESS in 5m 04s\n- osc-tox-py311-tips https://zuul.opendev.org/t/openstack/build/1392928308c749e5967f777491eba2da : SUCCESS in 4m 27s\n- osc-tox-py314-tips https://zuul.opendev.org/t/openstack/build/6459e8c2f1ba400a971ab4da40958767 : SUCCESS in 7m 20s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/fdb1fe72afc54a0f988ed8c9f4f94e32 : SUCCESS in 2m 52s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/edebf1e4ba4a41bdad5d114c11a06901 : SUCCESS in 4m 19s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/5aab973cd59144daa4491520c8f29be1 : SUCCESS in 2m 53s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/ebeb2225d2e94c62b0d2940f68816edf : SUCCESS in 8m 43s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/ed3e9d4b80cd40ada329c175ed0af7fe : SUCCESS in 5m 29s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d16244b1f9ef4782bcf530da5ba8d52d : SUCCESS in 4m 08s\n- requirements-check https://zuul.opendev.org/t/openstack/build/800a377aa1a64fed9546128ebaffea1d : SUCCESS in 2m 39s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/566b940580824dcd8ad18c4083533536 : SUCCESS in 5m 44s\n- osc-build-image https://zuul.opendev.org/t/openstack/build/800069322a71427d9b3e5b161888c961 : FAILURE in 4m 28s (non-voting)\n- osc-functional-devstack https://zuul.opendev.org/t/openstack/build/4e9e6d7bae1a4f6c9bd89d8c30535eca : SUCCESS in 1h 03m 02s\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/330d4efb6eab4506be8f32e45ceb516f : SUCCESS in 1h 09m 45s\n- osc-functional-devstack-cyborg https://zuul.opendev.org/t/openstack/build/2972b605d0ed48a880d196907b9456a1 : SUCCESS in 13m 55s","accounts_in_message":[],"_revision_number":1},{"id":"be6462681b968efc61b77ddd049dfbdb0ae5774d","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-10-30 17:41:06.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"b8fbaabb1904fc31c5176c55f3a4ba8f81412680","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-30 17:43:31.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"cf2be0a92267844274cefcf4d54c98ef9eb84941","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-10-30 17:43:36.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"fd4356723fcc577a1309c17e0811e11a19584dd9","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-30 18:46:54.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/48b8c410bb524e268a181b38de49b599\n\n- osc-tox-py311-tips https://zuul.opendev.org/t/openstack/build/582c2a6135c54c498fc242edf6a8daaf : SUCCESS in 3m 58s\n- osc-tox-py314-tips https://zuul.opendev.org/t/openstack/build/c24ee13eac42479fa0560bb4122b9597 : SUCCESS in 5m 46s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/344711b3c9e548dc92825d7bfcb8581c : SUCCESS in 6m 01s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/993088cf20de4013992b63c3844843ab : SUCCESS in 2m 44s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/395977610c7d4a9a96a5cbff32af6762 : SUCCESS in 8m 23s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/45ef0a67f46d4e279fc20b65db405f23 : SUCCESS in 10m 27s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a5fbe471f5fc4050ad0af5450592cac7 : SUCCESS in 3m 30s\n- requirements-check https://zuul.opendev.org/t/openstack/build/99411c038f0944a2a8d11a455e68d031 : SUCCESS in 2m 48s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/86279944e1df4a559e54741b1bbd48b0 : SUCCESS in 10m 06s\n- osc-functional-devstack https://zuul.opendev.org/t/openstack/build/249a332415494730830c6b9dcc8138ae : SUCCESS in 38m 20s","accounts_in_message":[],"_revision_number":1},{"id":"ca02b3ca4d5b58c51c973b85feaeeb3cc67eb3c1","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-30 18:46:55.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"0d2d96a37e84e7678ba9b3635edc65ba68da64be","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-30 18:50:34.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e7d686d4de154a9dadafde5145712f01\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ad69ed9105b54f01aa05c63ce7a09b93 : SUCCESS in 58s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"9d2de44bd42e78f1b122adbf7f9e26e82dd4e4b1","revisions":{"9d2de44bd42e78f1b122adbf7f9e26e82dd4e4b1":{"kind":"REWORK","_number":1,"created":"2026-10-30 04:07:30.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/93/1012993/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/93/1012993/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/93/1012993/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/93/1012993/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/93/1012993/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/93/1012993/1"}}},"commit":{"parents":[{"commit":"afadefaa2231436a165f0c4a0e21d9d0cd41e0fd","subject":"Fix the block storage v3 index to say v3 instead of v2","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/afadefaa2231436a165f0c4a0e21d9d0cd41e0fd"}]}],"author":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-10-30 04:03:51.000000000","tz":-300},"committer":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-10-30 04:05:39.000000000","tz":-300},"subject":"tests: Use osc-lib\u0027s assertIsSubset and tolerate new SDK fields","message":"tests: Use osc-lib\u0027s assertIsSubset and tolerate new SDK fields\n\nRequire osc-lib\u003e\u003d4.7.0, which provides TestCase.assertIsSubset, and\nhave our TestCase derive from osc_lib.test.base.TestCase so that the\nhelper, and the stdout/stderr capture and assertNotCalled we were\nduplicating, come from osc-lib.\n\nAdd assertColumnsDataSubset for command output. It checks that every\nexpected column is present with its expected value while tolerating\nextra columns. Use it, and assertIsSubset for columns, in the router\nand IP availability create/show tests so they keep passing as\nopenstacksdk adds fields to these resources. Also add the new\nrouter_routes entry to the network quota details fixture used by the\nquota show tests.\n\nAssisted-By: Claude Sonnet 5.5\nChange-Id: I88f2da6892d1e2b183e876c1c276e6cd83980385\nSigned-off-by: Doug Goldstein \u003ccardoe@cardoe.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/9d2de44bd42e78f1b122adbf7f9e26e82dd4e4b1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/9d2de44bd42e78f1b122adbf7f9e26e82dd4e4b1"}]},"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"}}]}],"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":"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":""}}}]}
