)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"68bcb58ba7ddff7e949e3c5588270c6d39d9cf48","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some tests still assume extensions are enabled; those tests are now skipped if the extension is not enabled. Change I25b8811fe09f2a4a9fc20ca5459f5a404b88a337 addressed some but not all of these."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Depends-on: https://review.opendev.org/c/openstack/python-openstackclient/+/901054"},{"line_number":12,"context_line":"Change-Id: If36550650f143a7efe4190e60961c51a8cd20fb3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"75ad5a36_c130fdd9","line":11,"updated":"2023-11-20 17:07:36.000000000","message":"You don\u0027t need this for patches in the same repo. Simply stack the patches (as you\u0027ve done)","commit_id":"ec5e89fd02ab85103400bd6b380d6aea39ab9f8d"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"5e8a61af83bbf29a73b6568fedb25ab615cfad8b","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some tests still assume extensions are enabled; those tests are now skipped if the extension is not enabled. Change I25b8811fe09f2a4a9fc20ca5459f5a404b88a337 addressed some but not all of these."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Depends-on: https://review.opendev.org/c/openstack/python-openstackclient/+/901054"},{"line_number":12,"context_line":"Change-Id: If36550650f143a7efe4190e60961c51a8cd20fb3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5f5d6fa7_4c2331c2","line":11,"in_reply_to":"75ad5a36_c130fdd9","updated":"2023-11-20 18:22:51.000000000","message":"Done","commit_id":"ec5e89fd02ab85103400bd6b380d6aea39ab9f8d"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e9ef22b098e1d5f2d29df1d0afd729178c5b663c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6444a067_812f2668","updated":"2023-11-20 17:07:43.000000000","message":"Nice start here!","commit_id":"ec5e89fd02ab85103400bd6b380d6aea39ab9f8d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f39adc0ae8c8ac0e47a356586408009a0560089a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"16836be3_352a52a0","updated":"2023-11-21 11:24:14.000000000","message":"One outstanding concern. Otherwise this looks ready to me","commit_id":"a071e5b36e96277cb94925d6b1c91544794c7dcb"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"d1e1e4dce469e112bb94f0d91d3c87e01eb48014","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"baae2f40_ff3b3015","updated":"2023-11-24 20:26:46.000000000","message":"thanks","commit_id":"6d3490ed7c103b1a3adbad23f63dbba2f17644d8"}],"openstackclient/tests/functional/network/v2/common.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"68bcb58ba7ddff7e949e3c5588270c6d39d9cf48","unresolved":true,"context_lines":[{"line_number":57,"context_line":"        super().setUp()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if not self.is_extension_enabled(\"qos\"):"},{"line_number":60,"context_line":"            self.skipTest(\"No qos extension present\")"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"class NetworkTagTests(NetworkTests):"}],"source_content_type":"text/x-python","patch_set":4,"id":"e92f5c3b_a98090f9","line":60,"updated":"2023-11-20 17:07:36.000000000","message":"I\u0027d be reluctant to place specific base classes in this file. It doesn\u0027t really save us much and risks this file turning into even more of a catch-all than it already is.\n\nCould we simply add the test to `setUp` in the places it\u0027s needed, ignoring the small bit of duplication?","commit_id":"ec5e89fd02ab85103400bd6b380d6aea39ab9f8d"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"5e8a61af83bbf29a73b6568fedb25ab615cfad8b","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        super().setUp()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if not self.is_extension_enabled(\"qos\"):"},{"line_number":60,"context_line":"            self.skipTest(\"No qos extension present\")"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"class NetworkTagTests(NetworkTests):"}],"source_content_type":"text/x-python","patch_set":4,"id":"d6b1efb8_a3a53799","line":60,"in_reply_to":"e92f5c3b_a98090f9","updated":"2023-11-20 18:22:51.000000000","message":"Done","commit_id":"ec5e89fd02ab85103400bd6b380d6aea39ab9f8d"}],"openstackclient/tests/functional/network/v2/test_network_agent.py":[{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"6a2236bcd98e5d05ee0396b6da33d9164f84c9ad","unresolved":true,"context_lines":[{"line_number":104,"context_line":"            \u0027network agent list --agent-type dhcp\u0027,"},{"line_number":105,"context_line":"            parse_output\u003dTrue,"},{"line_number":106,"context_line":"        )"},{"line_number":107,"context_line":"        if not cmd_output2:"},{"line_number":108,"context_line":"            self.skipTest(\"No agents with type\u003ddhcp available\")"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        agent_id \u003d cmd_output2[0][\u0027ID\u0027]"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bc0ca488_0f9885c6","line":108,"range":{"start_line":107,"start_character":7,"end_line":108,"end_character":63},"updated":"2023-11-18 00:21:23.000000000","message":"Should this change be moved to the DHCP agent check patch instead? https://review.opendev.org/c/openstack/python-openstackclient/+/901054","commit_id":"c9bd18b47edc8bd94135b5d217f38f1640541247"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"2596b01989174c0e5c8d014e6870c8cd7f35e2b3","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            \u0027network agent list --agent-type dhcp\u0027,"},{"line_number":105,"context_line":"            parse_output\u003dTrue,"},{"line_number":106,"context_line":"        )"},{"line_number":107,"context_line":"        if not cmd_output2:"},{"line_number":108,"context_line":"            self.skipTest(\"No agents with type\u003ddhcp available\")"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        agent_id \u003d cmd_output2[0][\u0027ID\u0027]"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"e663bcf2_3d744ae9","line":108,"range":{"start_line":107,"start_character":7,"end_line":108,"end_character":63},"in_reply_to":"8bad6441_ffb52989","updated":"2023-11-20 18:48:48.000000000","message":"Done","commit_id":"c9bd18b47edc8bd94135b5d217f38f1640541247"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"68bcb58ba7ddff7e949e3c5588270c6d39d9cf48","unresolved":true,"context_lines":[{"line_number":104,"context_line":"            \u0027network agent list --agent-type dhcp\u0027,"},{"line_number":105,"context_line":"            parse_output\u003dTrue,"},{"line_number":106,"context_line":"        )"},{"line_number":107,"context_line":"        if not cmd_output2:"},{"line_number":108,"context_line":"            self.skipTest(\"No agents with type\u003ddhcp available\")"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        agent_id \u003d cmd_output2[0][\u0027ID\u0027]"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"8bad6441_ffb52989","line":108,"range":{"start_line":107,"start_character":7,"end_line":108,"end_character":63},"in_reply_to":"bc0ca488_0f9885c6","updated":"2023-11-20 17:07:36.000000000","message":"Good point. It probably should. Like that change, we should probably do this first also to avoid creating a network only to immediately delete it again (if DHCP is not possible)","commit_id":"c9bd18b47edc8bd94135b5d217f38f1640541247"}],"openstackclient/tests/functional/network/v2/test_network_meter_rule.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"68bcb58ba7ddff7e949e3c5588270c6d39d9cf48","unresolved":true,"context_lines":[{"line_number":30,"context_line":"        if not cls.is_extension_enabled(\"metering\"):"},{"line_number":31,"context_line":"            raise unittest.SkipTest(\"No metering extension present\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        super().setUpClass()"},{"line_number":34,"context_line":"        if cls.haz_network:"},{"line_number":35,"context_line":"            cls.METER_NAME \u003d uuid.uuid4().hex"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"92cb08a8_3783bdaa","line":33,"updated":"2023-11-20 17:07:36.000000000","message":"Any reason this isn\u0027t placed first?","commit_id":"ec5e89fd02ab85103400bd6b380d6aea39ab9f8d"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"5e8a61af83bbf29a73b6568fedb25ab615cfad8b","unresolved":true,"context_lines":[{"line_number":30,"context_line":"        if not cls.is_extension_enabled(\"metering\"):"},{"line_number":31,"context_line":"            raise unittest.SkipTest(\"No metering extension present\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        super().setUpClass()"},{"line_number":34,"context_line":"        if cls.haz_network:"},{"line_number":35,"context_line":"            cls.METER_NAME \u003d uuid.uuid4().hex"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fcc15fce_fb102d1a","line":33,"in_reply_to":"92cb08a8_3783bdaa","updated":"2023-11-20 18:22:51.000000000","message":"Not anything specific that I can remember... maybe I wanted to avoid running through the super setUpClass() and then finding out that the whole purpose of the class (to test metering extension related things) wasn\u0027t met? In this case though, the super setUpClass() seems to mostly be just setting up the test case object itself, so I agree this should be put first.","commit_id":"ec5e89fd02ab85103400bd6b380d6aea39ab9f8d"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"1b70211a5f3c53c15e41a51c1343cfdc0205597d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        if not cls.is_extension_enabled(\"metering\"):"},{"line_number":31,"context_line":"            raise unittest.SkipTest(\"No metering extension present\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        super().setUpClass()"},{"line_number":34,"context_line":"        if cls.haz_network:"},{"line_number":35,"context_line":"            cls.METER_NAME \u003d uuid.uuid4().hex"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"85cee8a5_1b088d34","line":33,"in_reply_to":"fcc15fce_fb102d1a","updated":"2023-11-20 18:23:43.000000000","message":"Done","commit_id":"ec5e89fd02ab85103400bd6b380d6aea39ab9f8d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f39adc0ae8c8ac0e47a356586408009a0560089a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        super().setUpClass()"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"        if not cls.is_extension_enabled(\"metering\"):"},{"line_number":33,"context_line":"            raise unittest.SkipTest(\"No metering extension present\")"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        if cls.haz_network:"},{"line_number":36,"context_line":"            cls.METER_NAME \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":7,"id":"e3434828_40b70672","line":33,"updated":"2023-11-21 11:24:14.000000000","message":"I did check to see if `skipTest` was a classmethod. Sadly, it is not.","commit_id":"a071e5b36e96277cb94925d6b1c91544794c7dcb"}],"openstackclient/tests/functional/network/v2/test_network_qos_rule.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f39adc0ae8c8ac0e47a356586408009a0560089a","unresolved":true,"context_lines":[{"line_number":18,"context_line":"from openstackclient.tests.functional.network.v2 import common"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class NetworkQosRuleTestsMinimumBandwidth(common.NetworkTests):"},{"line_number":22,"context_line":"    \"\"\"Functional tests for QoS minimum bandwidth rule\"\"\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"b50eda40_2065e411","line":21,"updated":"2023-11-21 11:24:14.000000000","message":"I don\u0027t think you want to do this. The bit of de-duplication is fine in this one file. My concern was with placing those base classes in a `common` module.","commit_id":"a071e5b36e96277cb94925d6b1c91544794c7dcb"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"2f32ab9e71b5a3df3136f4b42f2b45e9af30a239","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from openstackclient.tests.functional.network.v2 import common"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class NetworkQosRuleTestsMinimumBandwidth(common.NetworkTests):"},{"line_number":22,"context_line":"    \"\"\"Functional tests for QoS minimum bandwidth rule\"\"\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5fbb3591_b06e5b62","line":21,"in_reply_to":"b50eda40_2065e411","updated":"2023-11-21 17:52:21.000000000","message":"Done","commit_id":"a071e5b36e96277cb94925d6b1c91544794c7dcb"}]}
