)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"bf4ff3690c5e764ba7c8dfcdff4bbfae2ab9f94e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"method which sets address scope rules and method which sets"},{"line_number":12,"context_line":"port forwarding nat rules where run in almost same time and"},{"line_number":13,"context_line":"one of them was adding rules which wasn\u0027t expected to be added."},{"line_number":14,"context_line":"Because of that port forwarding rules wasn\u0027t confiugred properly."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This patch fixed that by adding lock for methods which are changing"},{"line_number":17,"context_line":"rules in iptables_manager\u0027s nat table in both router_info and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f560f44_100dba34","line":14,"range":{"start_line":14,"start_character":45,"end_line":14,"end_character":55},"updated":"2020-10-07 09:44:41.000000000","message":"nit: configured","commit_id":"e01b58042b2c907c4ccfaa9993aee2d2430ae204"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"14eb85cd901cec7069e0fb4d78cd9e26730f4e14","unresolved":false,"context_lines":[{"line_number":11,"context_line":"method which sets address scope rules and method which sets"},{"line_number":12,"context_line":"port forwarding nat rules where run in almost same time and"},{"line_number":13,"context_line":"one of them was adding rules which wasn\u0027t expected to be added."},{"line_number":14,"context_line":"Because of that port forwarding rules wasn\u0027t confiugred properly."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This patch fixed that by adding lock for methods which are changing"},{"line_number":17,"context_line":"rules in iptables_manager\u0027s nat table in both router_info and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f560f44_b6213db8","line":14,"range":{"start_line":14,"start_character":45,"end_line":14,"end_character":55},"in_reply_to":"9f560f44_100dba34","updated":"2020-10-09 13:49:41.000000000","message":"Done","commit_id":"e01b58042b2c907c4ccfaa9993aee2d2430ae204"}],"neutron/agent/l3/extensions/port_forwarding.py":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"cd2d4c5091a864201a60799cbf0136add23f8d2e","unresolved":false,"context_lines":[{"line_number":169,"context_line":"                iptables_manager.ipv4[\u0027nat\u0027].add_chain(chain)"},{"line_number":170,"context_line":"            iptables_manager.ipv4[\u0027nat\u0027].add_rule(chain, rule, tag\u003drule_tag)"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    @coordination.synchronized(\u0027router-iptables-{namespace}\u0027)"},{"line_number":173,"context_line":"    def _process_create(self, port_forwardings, ri, interface_name, namespace,"},{"line_number":174,"context_line":"                        iptables_manager):"},{"line_number":175,"context_line":"        if not port_forwardings:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_589295fd","line":172,"range":{"start_line":172,"start_character":39,"end_line":172,"end_character":47},"updated":"2020-10-09 06:19:30.000000000","message":"I\u0027d perfer not change this lock name prefix like this since the function has some extra works, not only the iptables actions. How about \"router-ns-lock-{namespace}\"?","commit_id":"e01b58042b2c907c4ccfaa9993aee2d2430ae204"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"14eb85cd901cec7069e0fb4d78cd9e26730f4e14","unresolved":false,"context_lines":[{"line_number":169,"context_line":"                iptables_manager.ipv4[\u0027nat\u0027].add_chain(chain)"},{"line_number":170,"context_line":"            iptables_manager.ipv4[\u0027nat\u0027].add_rule(chain, rule, tag\u003drule_tag)"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    @coordination.synchronized(\u0027router-iptables-{namespace}\u0027)"},{"line_number":173,"context_line":"    def _process_create(self, port_forwardings, ri, interface_name, namespace,"},{"line_number":174,"context_line":"                        iptables_manager):"},{"line_number":175,"context_line":"        if not port_forwardings:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_f62735c7","line":172,"range":{"start_line":172,"start_character":39,"end_line":172,"end_character":47},"in_reply_to":"9f560f44_589295fd","updated":"2020-10-09 13:49:41.000000000","message":"Done","commit_id":"e01b58042b2c907c4ccfaa9993aee2d2430ae204"}],"neutron/agent/l3/router_info.py":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"cd2d4c5091a864201a60799cbf0136add23f8d2e","unresolved":false,"context_lines":[{"line_number":986,"context_line":"        finally:"},{"line_number":987,"context_line":"            self.update_fip_statuses(fip_statuses)"},{"line_number":988,"context_line":""},{"line_number":989,"context_line":"    @coordination.synchronized(\u0027router-iptables-{self.ns_name}\u0027)"},{"line_number":990,"context_line":"    def process_external(self):"},{"line_number":991,"context_line":"        fip_statuses \u003d {}"},{"line_number":992,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_b859315c","line":989,"range":{"start_line":989,"start_character":39,"end_line":989,"end_character":47},"updated":"2020-10-09 06:19:30.000000000","message":"nit: \"router-ns-lock-{self.ns_name}\"","commit_id":"e01b58042b2c907c4ccfaa9993aee2d2430ae204"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"14eb85cd901cec7069e0fb4d78cd9e26730f4e14","unresolved":false,"context_lines":[{"line_number":986,"context_line":"        finally:"},{"line_number":987,"context_line":"            self.update_fip_statuses(fip_statuses)"},{"line_number":988,"context_line":""},{"line_number":989,"context_line":"    @coordination.synchronized(\u0027router-iptables-{self.ns_name}\u0027)"},{"line_number":990,"context_line":"    def process_external(self):"},{"line_number":991,"context_line":"        fip_statuses \u003d {}"},{"line_number":992,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_d624b1c5","line":989,"range":{"start_line":989,"start_character":39,"end_line":989,"end_character":47},"in_reply_to":"9f560f44_b859315c","updated":"2020-10-09 13:49:41.000000000","message":"Done","commit_id":"e01b58042b2c907c4ccfaa9993aee2d2430ae204"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"bf4ff3690c5e764ba7c8dfcdff4bbfae2ab9f94e","unresolved":false,"context_lines":[{"line_number":1211,"context_line":"        rule \u003d \u0027-o %s -m connmark --mark %s -j ACCEPT\u0027 % ("},{"line_number":1212,"context_line":"            external_devicename,"},{"line_number":1213,"context_line":"            self.get_address_scope_mark_mask(address_scope))"},{"line_number":1214,"context_line":"        iptables_manager.ipv4[\u0027nat\u0027].add_rule(\u0027snat\u0027, rule)"},{"line_number":1215,"context_line":""},{"line_number":1216,"context_line":"    @coordination.synchronized(\u0027router-iptables-{self.ns_name}\u0027)"},{"line_number":1217,"context_line":"    def process_address_scope(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_3010be4f","line":1214,"updated":"2020-10-07 09:44:41.000000000","message":"There are other places here, in dvr_edge_router, dvr_fip_ns2 and dvr_local_router where the iptables manager is called.\n\nI think this patch could be enough but maybe a locker method integrated in IptablesManager could be better. Just an opinion.","commit_id":"e01b58042b2c907c4ccfaa9993aee2d2430ae204"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"31c781e583858881311f92dc813f88bb71638c06","unresolved":false,"context_lines":[{"line_number":1211,"context_line":"        rule \u003d \u0027-o %s -m connmark --mark %s -j ACCEPT\u0027 % ("},{"line_number":1212,"context_line":"            external_devicename,"},{"line_number":1213,"context_line":"            self.get_address_scope_mark_mask(address_scope))"},{"line_number":1214,"context_line":"        iptables_manager.ipv4[\u0027nat\u0027].add_rule(\u0027snat\u0027, rule)"},{"line_number":1215,"context_line":""},{"line_number":1216,"context_line":"    @coordination.synchronized(\u0027router-iptables-{self.ns_name}\u0027)"},{"line_number":1217,"context_line":"    def process_address_scope(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_b0edee8f","line":1214,"in_reply_to":"9f560f44_3010be4f","updated":"2020-10-07 10:22:23.000000000","message":"E.g. in dvr classes it is in different namespace (snat-) so I don\u0027t think it requires same lock.\n\nHere I think I missed it so I will try to add lock in that place also.","commit_id":"e01b58042b2c907c4ccfaa9993aee2d2430ae204"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"fb7c8c0fcf6f6d951503dcb2a86f4c691372aa1f","unresolved":false,"context_lines":[{"line_number":1211,"context_line":"        rule \u003d \u0027-o %s -m connmark --mark %s -j ACCEPT\u0027 % ("},{"line_number":1212,"context_line":"            external_devicename,"},{"line_number":1213,"context_line":"            self.get_address_scope_mark_mask(address_scope))"},{"line_number":1214,"context_line":"        iptables_manager.ipv4[\u0027nat\u0027].add_rule(\u0027snat\u0027, rule)"},{"line_number":1215,"context_line":""},{"line_number":1216,"context_line":"    @coordination.synchronized(\u0027router-iptables-{self.ns_name}\u0027)"},{"line_number":1217,"context_line":"    def process_address_scope(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_91c9b55b","line":1214,"in_reply_to":"9f560f44_56ac3387","updated":"2020-10-08 15:48:55.000000000","message":"Makes sense","commit_id":"e01b58042b2c907c4ccfaa9993aee2d2430ae204"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"4619734d272c5a887056981d609343ca6decb36e","unresolved":false,"context_lines":[{"line_number":1211,"context_line":"        rule \u003d \u0027-o %s -m connmark --mark %s -j ACCEPT\u0027 % ("},{"line_number":1212,"context_line":"            external_devicename,"},{"line_number":1213,"context_line":"            self.get_address_scope_mark_mask(address_scope))"},{"line_number":1214,"context_line":"        iptables_manager.ipv4[\u0027nat\u0027].add_rule(\u0027snat\u0027, rule)"},{"line_number":1215,"context_line":""},{"line_number":1216,"context_line":"    @coordination.synchronized(\u0027router-iptables-{self.ns_name}\u0027)"},{"line_number":1217,"context_line":"    def process_address_scope(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_56ac3387","line":1214,"in_reply_to":"9f560f44_b0edee8f","updated":"2020-10-08 15:01:23.000000000","message":"Actually I locked only methods which are calling iptables_manager.apply() and in fact this is locked also as this will be called (not directly) from process_external method (see L995 and follow from there) so it will be locked already :)","commit_id":"e01b58042b2c907c4ccfaa9993aee2d2430ae204"}],"neutron/tests/unit/extensions/.test_l3.py.swp":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"864c7839cf484692c8f60da247f021345114af1e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9f560f44_5e7b8ef2","updated":"2020-10-10 07:29:31.000000000","message":"This file is redundant I guess.","commit_id":"0a971bbbbd5912e8b11e4f13004f53ad44ec4fe0"}]}
