)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e106decfbc0fef9fc045f411a855629059729d29","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b03b4ede_fd945ec4","updated":"2026-06-08 18:58:40.000000000","message":"Thanks for the change, but there is an issue here.","commit_id":"94202bf31c7d784c3221a7a754decec91f213dfb"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e106decfbc0fef9fc045f411a855629059729d29","unresolved":true,"context_lines":[{"line_number":964,"context_line":"    @log_maintenance_task("},{"line_number":965,"context_line":"        start_message\u003d\u0027Reconcile SNAT rules in OVN NB with Neutron\u0027)"},{"line_number":966,"context_line":"    def check_snat_rules(self):"},{"line_number":967,"context_line":"        context \u003d n_context.get_admin_context()"},{"line_number":968,"context_line":""},{"line_number":969,"context_line":"        # Build the SNAT rules Neutron expects for each OVN router"},{"line_number":970,"context_line":"        expected \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"bcfa699a_8c1ca883","line":967,"updated":"2026-06-08 18:58:40.000000000","message":"So this never checks what the flag is set to in the environment:\n\novn_conf.is_ovn_router_indirect_snat_enabled()\n\nIt could be they have not enabled it, and this will break everything.\n\nAt a minimum we would have to read what entry is there, determine if it\u0027s correct based on the setting, and only then change it.","commit_id":"94202bf31c7d784c3221a7a754decec91f213dfb"},{"author":{"_account_id":39125,"name":"Felix Moebius","email":"felix.moebius@digits.schwarz","username":"felixmoebius"},"change_message_id":"42bac106716852cb74299810d8415b7fcfa0cd83","unresolved":true,"context_lines":[{"line_number":964,"context_line":"    @log_maintenance_task("},{"line_number":965,"context_line":"        start_message\u003d\u0027Reconcile SNAT rules in OVN NB with Neutron\u0027)"},{"line_number":966,"context_line":"    def check_snat_rules(self):"},{"line_number":967,"context_line":"        context \u003d n_context.get_admin_context()"},{"line_number":968,"context_line":""},{"line_number":969,"context_line":"        # Build the SNAT rules Neutron expects for each OVN router"},{"line_number":970,"context_line":"        expected \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"3072c2a0_05779838","line":967,"in_reply_to":"bcfa699a_8c1ca883","updated":"2026-06-24 10:00:52.000000000","message":"Hi Brian, thanks for taking a look and sorry for taking so long to respond.\n\nMaybe I misunderstood what you are saying, but when we get the snats for the router via _get_snat_cidrs_for_external_router, that already takes into account the setting internally. So depending on whether that is enabled or not you get the subnet specific snats or just 0.0.0.0/0. Then we apply whatever should be there to the northbound.","commit_id":"94202bf31c7d784c3221a7a754decec91f213dfb"}]}
