)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"75d1bdf01fb9443c8a821756958101fef439e0e6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"681ce256_3b84eb3a","updated":"2021-12-15 05:50:58.000000000","message":"For example:\n```\n01:01:13     FAIL: neutron.tests.unit.plugins.ml2.drivers.ovn.mech_driver.test_mech_driver.TestOVNMechanismDriverMetadataPort.test_metadata_ip_on_subnet_create\n01:01:13     tags: worker-9\n01:01:13     ----------------------------------------------------------------------\n01:01:13     stderr: {{{\n01:01:13     /opt/cache/source/neutron/.tox/shared/lib/python3.8/site-packages/neutron_lib/context.py:151: DeprecationWarning: context.session is used with and without new enginefacade. Please update the code to use new enginefacede consistently.\n01:01:13       warnings.warn(\u0027context.session is used with and without \u0027\n01:01:13     }}}\n01:01:13   \n01:01:13     Traceback (most recent call last):\n01:01:13       File \"/opt/cache/source/neutron/neutron/tests/base.py\", line 183, in func\n01:01:13         return f(self, *args, **kwargs)\n01:01:13       File \"/opt/cache/source/neutron/neutron/tests/unit/plugins/ml2/drivers/ovn/mech_driver/test_mech_driver.py\", line 3437, in test_metadata_ip_on_subnet_create\n01:01:13         self.assertEqual(\u002710.0.0.2/24 20.0.0.2/24\u0027,\n01:01:13       File \"/opt/cache/source/neutron/.tox/shared/lib/python3.8/site-packages/testtools/testcase.py\", line 415, in assertEqual\n01:01:13         self.assertThat(observed, matcher, message)\n01:01:13       File \"/opt/cache/source/neutron/.tox/shared/lib/python3.8/site-packages/testtools/testcase.py\", line 502, in assertThat\n01:01:13         raise mismatch_error\n01:01:13     testtools.matchers._impl.MismatchError: \u002710.0.0.2/24 20.0.0.2/24\u0027 !\u003d \u002710.0.0.3/24 20.0.0.2/24\u0027\n```\nThe CIDRs are \"right\" for the IP assigned, which happens to be the second one (probably because of running many tests in parallel?) so it fails incorrectly.","commit_id":"da271a690b29663e69f4fb08f9da1b5ffc5263fd"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"2e4ab192388b964d20bbb59efe2ffe8498218d6a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a2bfdaf0_3112f6d6","updated":"2021-12-17 13:25:43.000000000","message":"Thx","commit_id":"92a1646594c06698afeb861f8ab811ca8499f223"}],"neutron/tests/unit/plugins/ml2/drivers/ovn/mech_driver/test_mech_driver.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b9969014b1d4a15fb32e8d2f6ec920f6c4ac0843","unresolved":true,"context_lines":[{"line_number":3537,"context_line":"                        self.assertRegex(expected_cidrs,"},{"line_number":3538,"context_line":"                                         r\u002710.0.0.\\d{0,2}?[2-9]\\/24 \u0027"},{"line_number":3539,"context_line":"                                         r\u002720.0.0.\\d{0,2}?[2-9]\\/24\u0027)"},{"line_number":3540,"context_line":"                        self.assertEqual(expected_cidrs,"},{"line_number":3541,"context_line":"                                         kwargs[\u0027external_ids\u0027].get("},{"line_number":3542,"context_line":"                                             ovn_const.OVN_CIDRS_EXT_ID_KEY,"},{"line_number":3543,"context_line":"                                             \u0027\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"016aaa46_a17e0088","line":3540,"updated":"2021-12-16 21:52:23.000000000","message":"instead of playing with regexes, can\u0027t we simply create netaddr.IPAddress and IPNetwork objects and check that both IP addresses are belongs to specific IPNetwork(s)?","commit_id":"da271a690b29663e69f4fb08f9da1b5ffc5263fd"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"6b0fc8899cc9cd5c96271ebff13eb46827f3539c","unresolved":true,"context_lines":[{"line_number":3537,"context_line":"                        self.assertRegex(expected_cidrs,"},{"line_number":3538,"context_line":"                                         r\u002710.0.0.\\d{0,2}?[2-9]\\/24 \u0027"},{"line_number":3539,"context_line":"                                         r\u002720.0.0.\\d{0,2}?[2-9]\\/24\u0027)"},{"line_number":3540,"context_line":"                        self.assertEqual(expected_cidrs,"},{"line_number":3541,"context_line":"                                         kwargs[\u0027external_ids\u0027].get("},{"line_number":3542,"context_line":"                                             ovn_const.OVN_CIDRS_EXT_ID_KEY,"},{"line_number":3543,"context_line":"                                             \u0027\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"8215d06c_c29f0aa1","line":3540,"in_reply_to":"016aaa46_a17e0088","updated":"2021-12-17 00:37:53.000000000","message":"Sounds like a sensible suggestion","commit_id":"da271a690b29663e69f4fb08f9da1b5ffc5263fd"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"ef2e4f445bd75d500bc5f6a9dc4064ef940d045e","unresolved":true,"context_lines":[{"line_number":3537,"context_line":"                        self.assertRegex(expected_cidrs,"},{"line_number":3538,"context_line":"                                         r\u002710.0.0.\\d{0,2}?[2-9]\\/24 \u0027"},{"line_number":3539,"context_line":"                                         r\u002720.0.0.\\d{0,2}?[2-9]\\/24\u0027)"},{"line_number":3540,"context_line":"                        self.assertEqual(expected_cidrs,"},{"line_number":3541,"context_line":"                                         kwargs[\u0027external_ids\u0027].get("},{"line_number":3542,"context_line":"                                             ovn_const.OVN_CIDRS_EXT_ID_KEY,"},{"line_number":3543,"context_line":"                                             \u0027\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a19ed8a_064301f5","line":3540,"in_reply_to":"8215d06c_c29f0aa1","updated":"2021-12-17 12:51:07.000000000","message":"Yeah, that\u0027s reasonable. I was just upgrading it from the hardcoded string check it was using before to something SLIGHTLY more dynamic, but I can do this.","commit_id":"da271a690b29663e69f4fb08f9da1b5ffc5263fd"}]}
