)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":36716,"name":"Kyuyeong Lee","display_name":"Kyuyeong Lee","email":"kyu0.lee@samsung.com","username":"kyu0"},"change_message_id":"fade90751e8669bc8714c98f0c8bdd015895fd3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8f7aad7f_53073b46","updated":"2026-05-15 01:20:56.000000000","message":"recheck openstack-tox-cover","commit_id":"7103c08fc79b5414c704faf66e7263699eb1ba0d"},{"author":{"_account_id":36716,"name":"Kyuyeong Lee","display_name":"Kyuyeong Lee","email":"kyu0.lee@samsung.com","username":"kyu0"},"change_message_id":"60012d48a0d0e26c90287fea800c8c9d15f3a772","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"2919fcbf_c725b22b","updated":"2026-05-20 06:08:20.000000000","message":"recheck","commit_id":"10a85c7e8dfc3609f2cc78a9294efb15f996141e"},{"author":{"_account_id":36716,"name":"Kyuyeong Lee","display_name":"Kyuyeong Lee","email":"kyu0.lee@samsung.com","username":"kyu0"},"change_message_id":"51105a585152649d194e054412cf113a19920c3a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"52e24ede_df3c9800","updated":"2026-05-21 02:07:21.000000000","message":"recheck neutron-ovs-tempest-dvr-ha-multinode-full","commit_id":"10a85c7e8dfc3609f2cc78a9294efb15f996141e"},{"author":{"_account_id":36716,"name":"Kyuyeong Lee","display_name":"Kyuyeong Lee","email":"kyu0.lee@samsung.com","username":"kyu0"},"change_message_id":"7c26fbcea6d04f9438b2bebc8b7335478149bef7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7bf20a0a_e8a74825","updated":"2026-05-21 08:35:12.000000000","message":"recheck neutron-tempest-plugin-designate-scenario","commit_id":"10a85c7e8dfc3609f2cc78a9294efb15f996141e"},{"author":{"_account_id":36716,"name":"Kyuyeong Lee","display_name":"Kyuyeong Lee","email":"kyu0.lee@samsung.com","username":"kyu0"},"change_message_id":"692060cc7a8e3ca288ff07c327fd19abdb500f70","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9da71543_53fb9793","updated":"2026-05-20 12:07:34.000000000","message":"recheck openstack-tox-cover","commit_id":"10a85c7e8dfc3609f2cc78a9294efb15f996141e"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"84fe54592331558aa5a36ffaedb4c9098af926d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6790b26e_85cab966","updated":"2026-05-26 08:02:55.000000000","message":"looks ok","commit_id":"cd8f88e3ec1001958c18147ed312bc61021414ac"}],"neutron/plugins/ml2/extensions/dns_integration.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"213b256a96ada45f91a06b9cc3ec4a11c8800f28","unresolved":true,"context_lines":[{"line_number":369,"context_line":"            return int(tun_min) \u003c\u003d segmentation_id \u003c\u003d int(tun_max)"},{"line_number":370,"context_line":""},{"line_number":371,"context_line":"    def _is_vlan_project_network(self, provider_net):"},{"line_number":372,"context_line":"        vlan_driver \u003d VlanTypeDriver()"},{"line_number":373,"context_line":"        network_vlan_ranges \u003d vlan_driver.get_network_segment_ranges()"},{"line_number":374,"context_line":"        vlan_ranges \u003d network_vlan_ranges.get(provider_net[\u0027physical_network\u0027])"},{"line_number":375,"context_line":"        if not vlan_ranges:"}],"source_content_type":"text/x-python","patch_set":3,"id":"8ac677fc_3bdd0183","line":372,"range":{"start_line":372,"start_character":8,"end_line":372,"end_character":38},"updated":"2026-05-21 09:36:55.000000000","message":"This is wrong, you can\u0027t initialize the vlan driver every call. This driver is already initialized and is located in the ML2 `plugin.type_manager.drivers`\n\nIn this case, I would suggest you to retrieve the VLAN driver and store it in a local variable:\n\n    def __init__(self):\n        super().__init__()\n        self._vlan_driver \u003d None\n        self._plugin \u003d None\n\n    @property\n    def vlan_driver(self):\n        if not self._vlan_driver:\n            if not self._plugin:\n                self._plugin \u003d directory.get_plugin()\n            self._vlan_driver \u003d self._plugin.type_manager.drivers.get(\n                lib_const.TYPE_VLAN)\n        return self._vlan_driver\n    ...\n    \n    def _is_vlan_project_network(self, provider_net):\n        if not self._vlan_driver:\n            return False\n        network_vlan_ranges \u003d self._vlan_driver.obj.get_network_segment_ranges()\n        ...","commit_id":"10a85c7e8dfc3609f2cc78a9294efb15f996141e"},{"author":{"_account_id":36716,"name":"Kyuyeong Lee","display_name":"Kyuyeong Lee","email":"kyu0.lee@samsung.com","username":"kyu0"},"change_message_id":"96d6726a26fe569c4e5abd6076ccc184f56b8599","unresolved":false,"context_lines":[{"line_number":369,"context_line":"            return int(tun_min) \u003c\u003d segmentation_id \u003c\u003d int(tun_max)"},{"line_number":370,"context_line":""},{"line_number":371,"context_line":"    def _is_vlan_project_network(self, provider_net):"},{"line_number":372,"context_line":"        vlan_driver \u003d VlanTypeDriver()"},{"line_number":373,"context_line":"        network_vlan_ranges \u003d vlan_driver.get_network_segment_ranges()"},{"line_number":374,"context_line":"        vlan_ranges \u003d network_vlan_ranges.get(provider_net[\u0027physical_network\u0027])"},{"line_number":375,"context_line":"        if not vlan_ranges:"}],"source_content_type":"text/x-python","patch_set":3,"id":"e21747e4_51e6bc8b","line":372,"range":{"start_line":372,"start_character":8,"end_line":372,"end_character":38},"in_reply_to":"8ac677fc_3bdd0183","updated":"2026-05-22 04:18:40.000000000","message":"applied in Patchset 4. Thank you.","commit_id":"10a85c7e8dfc3609f2cc78a9294efb15f996141e"}],"neutron/tests/unit/plugins/ml2/extensions/test_dns_integration.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"3bde9a7b1355df1822eda54d44bc394efdba6d52","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fc885697_dff46f12","updated":"2026-05-19 12:26:27.000000000","message":"Can you please add some tests for this change? Like:\ntest__is_vlan_project_network_static_range()\ntest__is_vlan_project_network_dynamic_range()\n...","commit_id":"7103c08fc79b5414c704faf66e7263699eb1ba0d"},{"author":{"_account_id":36716,"name":"Kyuyeong Lee","display_name":"Kyuyeong Lee","email":"kyu0.lee@samsung.com","username":"kyu0"},"change_message_id":"ddcdec1ba1711a605a5c15b924abf2cdbd233283","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e7a3fbd5_d6f59af8","in_reply_to":"fc885697_dff46f12","updated":"2026-05-20 04:15:21.000000000","message":"Thanks for the review, Lajos.\nI\u0027ve added basic tests for _is_vlan_project_network in Patchset 3.\n\nRegarding the static vs dynamic range difference, it should be tested in VlanTypeDriver.get_network_segment_ranges() itself, since the actual path selection logic happens inside that method (not in _is_vlan_project_network). \n\nIf needed, I can also add tests for VlanTypeDriver.get_network_segment_ranges() to cover both the static config and dynamic DB paths.","commit_id":"7103c08fc79b5414c704faf66e7263699eb1ba0d"}]}
