)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"a92addafa13f920fdabee474cc4157b6e822488f","unresolved":true,"context_lines":[{"line_number":25,"context_line":"- Use \u0027unknown\u0027 for network_id in logging when segment is None"},{"line_number":26,"context_line":"- Skip L2VNI cleanup when segment is None (requires segment metadata)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Change-Id: I4c084e67c9d4790e79b2088fcc889df8f8b52732"},{"line_number":29,"context_line":"Signed-off-by: Harald Jensås \u003chjensas@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3225f07f_864d2575","line":28,"updated":"2026-03-06 23:08:33.000000000","message":"Other changes in this stack were Assisted by claude, just ensuring we didn\u0027t accidentally omit that here.","commit_id":"bf746830357d45e8b054942bfa5dfd69f1ebaf89"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"000679574352c806d6b569b068ea9e1c9ea3a633","unresolved":true,"context_lines":[{"line_number":25,"context_line":"- Use \u0027unknown\u0027 for network_id in logging when segment is None"},{"line_number":26,"context_line":"- Skip L2VNI cleanup when segment is None (requires segment metadata)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Change-Id: I4c084e67c9d4790e79b2088fcc889df8f8b52732"},{"line_number":29,"context_line":"Signed-off-by: Harald Jensås \u003chjensas@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fc866b68_2d88e083","line":28,"in_reply_to":"3225f07f_864d2575","updated":"2026-03-09 13:30:15.000000000","message":"That is a miss, I will update. I\u0027ll try to submit them 1-by-1 as well I think they don\u0027t need to be a series.","commit_id":"bf746830357d45e8b054942bfa5dfd69f1ebaf89"}],"networking_generic_switch/generic_switch_mech.py":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"dfb1460e7ff98b4669bedbda40c93598307cf7f3","unresolved":true,"context_lines":[{"line_number":789,"context_line":"        else:"},{"line_number":790,"context_line":"            # If segment is None (e.g., already released), use defaults"},{"line_number":791,"context_line":"            segmentation_id \u003d 1"},{"line_number":792,"context_line":"            network_id \u003d \u0027unknown\u0027"},{"line_number":793,"context_line":""},{"line_number":794,"context_line":"        for link in local_link_information:"},{"line_number":795,"context_line":"            switch_info \u003d link.get(\u0027switch_info\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"c1aa3f66_c5d03143","line":792,"updated":"2026-03-06 22:58:18.000000000","message":"How is 1 a safe default? Is this not going to lead to us tearing down the wrong VNI mappings in some cases?","commit_id":"bf746830357d45e8b054942bfa5dfd69f1ebaf89"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"ddc2681736bafcc4e5454cff1e229451d8149136","unresolved":true,"context_lines":[{"line_number":789,"context_line":"        else:"},{"line_number":790,"context_line":"            # If segment is None (e.g., already released), use defaults"},{"line_number":791,"context_line":"            segmentation_id \u003d 1"},{"line_number":792,"context_line":"            network_id \u003d \u0027unknown\u0027"},{"line_number":793,"context_line":""},{"line_number":794,"context_line":"        for link in local_link_information:"},{"line_number":795,"context_line":"            switch_info \u003d link.get(\u0027switch_info\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"f5c6ed7f_414623de","line":792,"in_reply_to":"c1aa3f66_c5d03143","updated":"2026-03-07 12:45:58.000000000","message":"`segment` is passed to `_cleanup_l2vni_if_needed` - if it is `None` it returns before doing anything. So I don\u0027t think this change the pre-existing defaulting to 1, as far as the VNI cleanup goes? I may have missed something?\n\nAn alternative would be `if not segment -\u003e log warning -\u003e return`. That would stop the Exception I saw, but would not unplug the port so we\u0027d end up with possible stale state.","commit_id":"bf746830357d45e8b054942bfa5dfd69f1ebaf89"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"80dc8335a13310e9fef8229f314badddebd6488b","unresolved":true,"context_lines":[{"line_number":789,"context_line":"        else:"},{"line_number":790,"context_line":"            # If segment is None (e.g., already released), use defaults"},{"line_number":791,"context_line":"            segmentation_id \u003d 1"},{"line_number":792,"context_line":"            network_id \u003d \u0027unknown\u0027"},{"line_number":793,"context_line":""},{"line_number":794,"context_line":"        for link in local_link_information:"},{"line_number":795,"context_line":"            switch_info \u003d link.get(\u0027switch_info\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"850e0ff3_52ec290b","line":792,"in_reply_to":"f5c6ed7f_414623de","updated":"2026-03-09 17:43:09.000000000","message":"Err, okay. Slight problem then, we could orphan vlans. We do still need to attach the vlan, but we shouldn\u0027t orphan the vlan or vni on the switch if its the last port.\n\nWhich makes me think we should *explicitly* have a segmentation ID check of None, and if None attempt to get the current vlan off of the port so we don\u0027t orphan anything.","commit_id":"bf746830357d45e8b054942bfa5dfd69f1ebaf89"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"51d811a88a6901da7c6da3a650502f4bbc4bfa73","unresolved":true,"context_lines":[{"line_number":461,"context_line":"        port \u003d context.current"},{"line_number":462,"context_line":"        if ngs_utils.is_port_bound(port):"},{"line_number":463,"context_line":"            self._unplug_port_from_segment("},{"line_number":464,"context_line":"                port, context.bottom_bound_segment,"},{"line_number":465,"context_line":"                vxlan_segment\u003dcontext.top_bound_segment)"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"    def bind_port(self, context):"},{"line_number":468,"context_line":"        \"\"\"Attempt to bind a port."}],"source_content_type":"text/x-python","patch_set":2,"id":"0ffecc13_d1987f70","line":465,"range":{"start_line":464,"start_character":13,"end_line":465,"end_character":56},"updated":"2026-03-09 18:40:26.000000000","message":"so, looks like the right fix is something like:\n\nself._unplug_port_from_segment(context.original_bottom_bound_segment, vxlan_segment\u003dcontext.original_top_bound_segment)\n\nBecause that should have the original context as things start to get unwound such that we ensrue we have unwound the vni/vlans.","commit_id":"029e3195e78b87e0cd281b4aa04c60a168ac2377"}]}
