)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":31291,"name":"Eduardo Olivares","email":"eolivare@redhat.com","username":"eolivare"},"change_message_id":"9ffbc0649959deff27c52333d48fed665b30df94","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"72616447_23a3b772","updated":"2026-09-16 17:05:24.000000000","message":"check experimental","commit_id":"d2a7207c7e301213a88a367b61ee17b93fad9550"},{"author":{"_account_id":31291,"name":"Eduardo Olivares","email":"eolivare@redhat.com","username":"eolivare"},"change_message_id":"babeb6088a00df5954ec07496faaa447ebbcee63","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"4e2cb07c_cc6b1900","updated":"2026-09-17 06:23:12.000000000","message":"recheck neutron-tempest-plugin-tap-as-a-service-ovn-2025-1","commit_id":"d2a7207c7e301213a88a367b61ee17b93fad9550"},{"author":{"_account_id":31291,"name":"Eduardo Olivares","email":"eolivare@redhat.com","username":"eolivare"},"change_message_id":"b2666444eda5e55241164b0d4f10562d9579f2b5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"78dcfaec_af914672","updated":"2026-09-17 08:55:17.000000000","message":"check experimental","commit_id":"981b955e476e4f12f0c6d861100acc36b3e90fec"},{"author":{"_account_id":31291,"name":"Eduardo Olivares","email":"eolivare@redhat.com","username":"eolivare"},"change_message_id":"4b8cc629444a0c0e91d3bba1e19c2e1f14356311","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"938a826e_1ed1fb1e","updated":"2026-09-17 12:35:41.000000000","message":"recheck neutron-tempest-plugin-tap-as-a-service-2025-1","commit_id":"981b955e476e4f12f0c6d861100acc36b3e90fec"}],"neutron_tempest_plugin/common/evpn_provisioner.py":[{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"b213d1b7850bbc11bd928c9b5741572a5d968a6a","unresolved":true,"context_lines":[{"line_number":209,"context_line":"        # Source-NAT return traffic destined to the BGP-EVPN advertised"},{"line_number":210,"context_line":"        # subnet CIDR, leaving through the VNI bridge, to the VTEP IP."},{"line_number":211,"context_line":"        return ("},{"line_number":212,"context_line":"            \u0027sudo iptables -w -t nat %s POSTROUTING -d %s -o br-%d \u0027"},{"line_number":213,"context_line":"            \u0027-j SNAT --to-source %s\u0027 % (action, cidr, vni, self.vtep_ip))"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    def add_snat(self, vni, cidr):"},{"line_number":216,"context_line":"        \"\"\"Add an SNAT rule for a BGP-EVPN advertised subnet CIDR."}],"source_content_type":"text/x-python","patch_set":3,"id":"77e1ad54_3360c9a7","line":213,"range":{"start_line":212,"start_character":13,"end_line":213,"end_character":71},"updated":"2026-09-17 22:44:38.000000000","message":"sorry. I am bit confused.\n1. Why is this not an issue on a real enviroment?\n2. Why not just configure iptables in evpn zuul job? Why does it have to be dynamic?","commit_id":"98cd6b109d38beb9994f7acdb4c66ed655b62e90"},{"author":{"_account_id":31291,"name":"Eduardo Olivares","email":"eolivare@redhat.com","username":"eolivare"},"change_message_id":"9a152ac84ebefaeac3314ce6573cf7810b8f5de3","unresolved":true,"context_lines":[{"line_number":209,"context_line":"        # Source-NAT return traffic destined to the BGP-EVPN advertised"},{"line_number":210,"context_line":"        # subnet CIDR, leaving through the VNI bridge, to the VTEP IP."},{"line_number":211,"context_line":"        return ("},{"line_number":212,"context_line":"            \u0027sudo iptables -w -t nat %s POSTROUTING -d %s -o br-%d \u0027"},{"line_number":213,"context_line":"            \u0027-j SNAT --to-source %s\u0027 % (action, cidr, vni, self.vtep_ip))"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    def add_snat(self, vni, cidr):"},{"line_number":216,"context_line":"        \"\"\"Add an SNAT rule for a BGP-EVPN advertised subnet CIDR."}],"source_content_type":"text/x-python","patch_set":3,"id":"6f7f6b55_37bb5d07","line":213,"range":{"start_line":212,"start_character":13,"end_line":213,"end_character":71},"in_reply_to":"77e1ad54_3360c9a7","updated":"2026-09-18 11:14:43.000000000","message":"Thanks for the comment, because this patch is not necessary, but I hadn\u0027t realized.\n\nI thought I needed a specific SNAT rule per router (per VNI), but I just found out there is a static rule based on a wildcard that can be created even before any VNI is created and it works fine:\n`iptables -t nat -A POSTROUTING -o br+ -j SNAT --to-source \u003cVTEP_IP\u003e`\n\nSo this is something that I can add statically to my environment and doesn\u0027t need to be managed by tempest.\nThis doesn\u0027t affect upstream jobs because the VTEP is in the test machine, which is different from our downstream environments.","commit_id":"98cd6b109d38beb9994f7acdb4c66ed655b62e90"}]}
