)]}'
{"id":"openstack%2Fpython-openstackclient~900606","triplet_id":"openstack%2Fpython-openstackclient~master~Idc6dc54503031ddf3e148f50ed53ad8898f7a7e3","project":"openstack/python-openstackclient","branch":"master","topic":"better-network-extension-check","attention_set":{},"removed_from_attention_set":{"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2023-11-13 09:25:34.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Idc6dc54503031ddf3e148f50ed53ad8898f7a7e3","subject":"tests: Fix API extension check","status":"MERGED","created":"2023-11-10 10:54:51.000000000","updated":"2023-11-13 09:26:41.000000000","submitted":"2023-11-13 09:25:34.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"900606-better-network-extension-check","meta_rev_id":"d1dcdb09eedf32fa0da7c75e35698eede5325d77","_number":900606,"virtual_id_number":900606,"owner":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2023-11-13 09:25:34.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}],"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":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2023-11-13 08:16:46.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}],"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":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2023-11-13 08:16:46.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}],"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"]},{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2023-11-10 11:52:55.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":"2023-11-13 08:16:46.000000000","updated_by":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"reviewer":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"state":"REVIEWER"}],"messages":[{"id":"d57d8c81590d4cffcd4c00c89c81d56476be034e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2023-11-10 10:54:51.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"19d88cfc6b58f60f96279c1b845236de70d381a9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-11-10 11:52:55.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\n\nhttps://zuul.opendev.org/t/openstack/buildset/09691a8c9c3f41ae8c78407d5239f1fb\n\n- openstackclient-check-plugins https://zuul.opendev.org/t/openstack/build/6d4108ab29b44afa87020f99ef870965 : SUCCESS in 6m 15s (non-voting)\n- osc-tox-py38-tips https://zuul.opendev.org/t/openstack/build/dfa4d48c339c4e0ca228337b882a7972 : SUCCESS in 4m 29s\n- osc-tox-py310-tips https://zuul.opendev.org/t/openstack/build/1bddd59525f14984b6c34e1ddeab9843 : SUCCESS in 4m 54s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/298f4753064e46658687bc2c67492a12 : SUCCESS in 5m 21s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/765026a96bbf40888d50f0a69b0c6dbb : SUCCESS in 3m 51s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/32b23c490e74400bb0a824405f7fa1be : SUCCESS in 3m 42s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/127abff316b44944b8a2e42b1d1da7e1 : SUCCESS in 4m 15s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1bbf40860f704ca2b2fb5ba01b207cf1 : SUCCESS in 6m 24s\n- osc-build-image https://zuul.opendev.org/t/openstack/build/ea81dd785d30492488c1ab5660f53539 : SUCCESS in 6m 40s\n- osc-functional-devstack https://zuul.opendev.org/t/openstack/build/982cba55e1ad49da88f31211e289e731 : FAILURE in 51m 01s\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/2df33587ebc4421e9f565ca044c00743 : FAILURE in 54m 48s","accounts_in_message":[],"_revision_number":1},{"id":"e82134decd3c73b23b4c7bb05ae5bd22bd228925","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2023-11-12 10:35:52.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"d9fdff5ea0e2e52f40a73f19c457b86bf3669617","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-11-12 11:51:30.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a6ada7cd4f8e4839ae5f15a6d221a3ac\n\n- openstackclient-check-plugins https://zuul.opendev.org/t/openstack/build/0b34b5b2921340e3be8c31975bbee36d : SUCCESS in 4m 15s (non-voting)\n- osc-tox-py38-tips https://zuul.opendev.org/t/openstack/build/bec35bfee033497ab9bd0786324d83f2 : SUCCESS in 4m 00s\n- osc-tox-py310-tips https://zuul.opendev.org/t/openstack/build/f26bdf00f5114fd0a0a5cd13ce14e45c : SUCCESS in 3m 55s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/b63349717f4646ed9bf6c912b0a41a97 : SUCCESS in 3m 37s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7f314c3558b944c380685dbb0d3e3c6c : SUCCESS in 3m 40s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/d9cfee9de61a41e09a6c6780b405ad38 : SUCCESS in 3m 20s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/73a6ed217303476cbf9a2fa982c73abe : SUCCESS in 3m 25s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fbaf3d74e9ee4f91a47001019cc486d9 : SUCCESS in 4m 52s\n- osc-build-image https://zuul.opendev.org/t/openstack/build/5ee3718dbf7b456d8ce9c76338ccee35 : SUCCESS in 5m 45s\n- osc-functional-devstack https://zuul.opendev.org/t/openstack/build/d36238e4e43a4b39a061fbd67c948c4a : SUCCESS in 1h 09m 59s\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/4a57c9710a3b4e768b8c4eaf516c103e : SUCCESS in 1h 09m 03s","accounts_in_message":[],"_revision_number":2},{"id":"d141f6cf19e6a2623816988e7b20ff7919128ad2","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2023-11-13 08:16:46.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"ee1c0d64e07da67afc24f8df84764641ba1f5d50","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-11-13 08:17:16.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"a0a6d024e2a9850ff4bcc2904784a7f9472a1f00","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-11-13 09:25:34.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/43a798178e274fe98e2880a50c650489\n\n- osc-tox-py38-tips https://zuul.opendev.org/t/openstack/build/677819339ecd483fb4a88477f41df684 : SUCCESS in 5m 32s\n- osc-tox-py310-tips https://zuul.opendev.org/t/openstack/build/bc2cf0ba7bd7452684f46b9f9daf4514 : SUCCESS in 5m 10s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/24be6cd341ab451996db4599ac5225ef : SUCCESS in 3m 12s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/c4db55419ea14c5d98b9ffcd0ba1f751 : SUCCESS in 3m 11s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/4b13b05670ce4be78605bfd870f6d2fa : SUCCESS in 3m 31s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a74c3567dbfd462092e5beb0aad182ee : SUCCESS in 5m 32s\n- osc-upload-image https://zuul.opendev.org/t/openstack/build/9db867fdb1724c75aa41b87ccf326724 : SUCCESS in 6m 13s\n- osc-functional-devstack https://zuul.opendev.org/t/openstack/build/fc65709f428e4538b264056352715619 : SUCCESS in 1h 03m 12s","accounts_in_message":[],"_revision_number":2},{"id":"622ba7210821ca03b090a24b6ee9a598f2b0eb38","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-11-13 09:25:34.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"d1dcdb09eedf32fa0da7c75e35698eede5325d77","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-11-13 09:26:41.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7bc912fd71fc49a79b5a66476b658ae5\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a805744cd5b24c9a9f413dcd23250d91 : SUCCESS in 46s\n- osc-promote-image https://zuul.opendev.org/t/openstack/build/56524b32efae4f149a251e0c0c8b28e9 : SUCCESS in 33s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"c251cb89a5cd11120106f6b0fb662b7daf815597","revisions":{"7419ac2005437fb56080a23b7cb80adf4b865b11":{"kind":"REWORK","_number":1,"created":"2023-11-10 10:54:51.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/06/900606/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/06/900606/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/06/900606/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/06/900606/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/06/900606/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/06/900606/1"}}},"commit":{"parents":[{"commit":"20490dcd102ef231ae554ee516fa3ce306b8f431","subject":"tests: Centralise check for networking service","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/20490dcd102ef231ae554ee516fa3ce306b8f431"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2023-11-10 10:20:03.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2023-11-10 10:20:03.000000000","tz":0},"subject":"tests: Move and fix API extension check","message":"tests: Move and fix API extension check\n\nThe check for network extensions was not using a machine readable format\nfor output. This meant an API check could match on a substring, e.g. a\ncheck for \u0027qos\u0027 would match on \u0027qos-specs\u0027. In addition, no other\nservice uses extensions these days but we were checking for extensions\nacross all services. Fix both issues by switching our command invocation\nto use JSON output and migrating the check function from the general\nbase class to the networking base class.\n\nChange-Id: Idc6dc54503031ddf3e148f50ed53ad8898f7a7e3\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/7419ac2005437fb56080a23b7cb80adf4b865b11"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/7419ac2005437fb56080a23b7cb80adf4b865b11"}]},"branch":"refs/heads/master"},"c251cb89a5cd11120106f6b0fb662b7daf815597":{"kind":"REWORK","_number":2,"created":"2023-11-12 10:35:52.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/06/900606/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/06/900606/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/06/900606/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/06/900606/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/06/900606/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/06/900606/2"}}},"commit":{"parents":[{"commit":"7dbe6e6d3d25b26050dd615196b1fd55a2972f2f","subject":"Merge \"tests: Centralise check for networking service\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/7dbe6e6d3d25b26050dd615196b1fd55a2972f2f"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2023-11-10 10:20:03.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2023-11-12 10:34:41.000000000","tz":0},"subject":"tests: Fix API extension check","message":"tests: Fix API extension check\n\nThe check for extensions was not using a machine readable format for\noutput. This meant an API check could match on a substring, e.g. a check\nfor \u0027qos\u0027 would match on \u0027qos-specs\u0027. Address this issue by switching\nour command invocation to use JSON output and migrating the check\nfunction from the general base class to the networking base class.\n\nChange-Id: Idc6dc54503031ddf3e148f50ed53ad8898f7a7e3\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/c251cb89a5cd11120106f6b0fb662b7daf815597"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/c251cb89a5cd11120106f6b0fb662b7daf815597"}]},"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":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}}]}],"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":{}}}]}
