)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"58a26f16cd4d84a6aa1afd69ce1cdb1430587b86","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1d510365_239a399e","updated":"2026-07-23 20:34:22.000000000","message":"I\u0027d like to have this backported to 2026.1","commit_id":"915887633d5d5fda225e4c1bf4ed4bfa27d8b180"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"4aee7527951e9c0864d54a3fdac40854c6f0400f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5934a6ef_162c1722","updated":"2026-07-24 08:59:01.000000000","message":"LGTM","commit_id":"915887633d5d5fda225e4c1bf4ed4bfa27d8b180"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"f0b6e04be342063a1f4af33fa044f7ce67472e78","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"02f8512b_78e0f34d","updated":"2026-07-25 04:12:04.000000000","message":"recheck neutron-ovs-tempest-dvr-ha-multinode-full","commit_id":"ebc25fb8cbad0cba35c9c9bc24d455069e903686"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"31f0e42a6d35daa25d23919700d7f3f9676c9c82","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"93572988_7a7baef4","updated":"2026-07-27 08:19:33.000000000","message":"recheck neutron-ovs-tempest-dvr-ha-multinode-full","commit_id":"ebc25fb8cbad0cba35c9c9bc24d455069e903686"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"cde6742009ab203e56bad3acb4089185b5f6f6ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0eaca0b9_335b4a3d","updated":"2026-07-27 14:00:37.000000000","message":"recheck neutron-ovs-tempest-dvr-ha-multinode-full - timed out live migrating","commit_id":"ebc25fb8cbad0cba35c9c9bc24d455069e903686"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"aa0712acc01ed97723e712be4e2e31bc08207310","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a8bebefd_399e8c4f","updated":"2026-07-28 14:41:03.000000000","message":"recheck neutron_functional","commit_id":"ebc25fb8cbad0cba35c9c9bc24d455069e903686"}],"neutron/services/network_segment_range/plugin.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19b8544931dd4cf50f17e04719f6f18fbc7b0c7b","unresolved":true,"context_lines":[{"line_number":97,"context_line":"            # Non-VLAN ranges are stored with physical_network\u003d\u0027\u0027 (not NULL),"},{"line_number":98,"context_line":"            # so normalize to \u0027\u0027 to match the stored rows. Otherwise the"},{"line_number":99,"context_line":"            # lookup filters on NULL and misses existing tunnel ranges."},{"line_number":100,"context_line":"            \u0027physical_network\u0027:"},{"line_number":101,"context_line":"                _get_physical_network(network_segment_range) or \u0027\u0027"},{"line_number":102,"context_line":"        }"},{"line_number":103,"context_line":"        range_objs \u003d obj_network_segment_range.NetworkSegmentRange.get_objects("},{"line_number":104,"context_line":"            context, **filters)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ef289595_49fc90cd","line":101,"range":{"start_line":100,"start_character":13,"end_line":101,"end_character":66},"updated":"2026-07-24 15:01:49.000000000","message":"Instead of changing this code, let change the auxiliary method `_get_physical_network` instead:\n```\ndef _get_physical_network(network_segment_range):\n    if network_segment_range.get(\u0027network_type\u0027) !\u003d const.TYPE_VLAN:\n        # We can add this ^^^ same comment here.\n        return \u0027\u0027\n    ...\n```","commit_id":"915887633d5d5fda225e4c1bf4ed4bfa27d8b180"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"89e0d15f39d05ca79e6cb0fb0f8e6faa6dd8beee","unresolved":false,"context_lines":[{"line_number":97,"context_line":"            # Non-VLAN ranges are stored with physical_network\u003d\u0027\u0027 (not NULL),"},{"line_number":98,"context_line":"            # so normalize to \u0027\u0027 to match the stored rows. Otherwise the"},{"line_number":99,"context_line":"            # lookup filters on NULL and misses existing tunnel ranges."},{"line_number":100,"context_line":"            \u0027physical_network\u0027:"},{"line_number":101,"context_line":"                _get_physical_network(network_segment_range) or \u0027\u0027"},{"line_number":102,"context_line":"        }"},{"line_number":103,"context_line":"        range_objs \u003d obj_network_segment_range.NetworkSegmentRange.get_objects("},{"line_number":104,"context_line":"            context, **filters)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f8c9e27_b9a9aeeb","line":101,"range":{"start_line":100,"start_character":13,"end_line":101,"end_character":66},"in_reply_to":"ef289595_49fc90cd","updated":"2026-07-25 01:34:29.000000000","message":"Done","commit_id":"915887633d5d5fda225e4c1bf4ed4bfa27d8b180"}],"releasenotes/notes/fix-network-segment-range-overlap-6da0ecd784269105.yaml":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19b8544931dd4cf50f17e04719f6f18fbc7b0c7b","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"09caf5ad_6dcc0dfd","line":11,"updated":"2026-07-24 15:01:49.000000000","message":"Again, this is too implementation focused. My suggestion:\n```\nfixes:\n  - |\n    Overlapping network segment ranges can no longer be created for tunnel\n    network types (VXLAN, GRE and Geneve). Previously, only VLAN ranges\n    were checked for overlaps. See bug\n    `2161676 \u003chttps://bugs.launchpad.net/neutron/+bug/2161676\u003e`_.\n```","commit_id":"915887633d5d5fda225e4c1bf4ed4bfa27d8b180"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"89e0d15f39d05ca79e6cb0fb0f8e6faa6dd8beee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"31c8f87a_3cf0a4fa","line":11,"in_reply_to":"09caf5ad_6dcc0dfd","updated":"2026-07-25 01:34:29.000000000","message":"Done","commit_id":"915887633d5d5fda225e4c1bf4ed4bfa27d8b180"}]}
