)]}'
{"neutron/plugins/ofagent/agent/ofa_neutron_agent.py":[{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"f7cb48ea633ed75eb5e700fb002f85330a7be906","unresolved":false,"context_lines":[{"line_number":403,"context_line":"                        tables.TUNNEL_FLOOD[lvm.network_type],"},{"line_number":404,"context_line":"                        lvm.vlan)"},{"line_number":405,"context_line":"            else:"},{"line_number":406,"context_line":"                LOG.warning(_LW(\"attempt to remove a non-existent port %s\"),"},{"line_number":407,"context_line":"                            ofport)"},{"line_number":408,"context_line":"        else:"},{"line_number":409,"context_line":"            self.ryuapp.del_arp_table_entry(lvm.vlan, port_info.ip_address)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_09fdb43a","line":406,"updated":"2015-02-23 15:46:40.000000000","message":"I would be helpful to clarify the message, specifying that the port was already deleted. Something like\n\"attempt to remove port %s that doesn\u0027t exist anymore, it was probably concurrently deleted\"","commit_id":"021c69b27823fe051f6a75ae1c66f7b516b387a6"},{"author":{"_account_id":5215,"name":"Dermot Tynan","email":"tynan@hpe.com","username":"dtynan"},"change_message_id":"f891ab3e1080643581a83f22bb6c2de142e3c145","unresolved":false,"context_lines":[{"line_number":403,"context_line":"                        tables.TUNNEL_FLOOD[lvm.network_type],"},{"line_number":404,"context_line":"                        lvm.vlan)"},{"line_number":405,"context_line":"            else:"},{"line_number":406,"context_line":"                LOG.warning(_LW(\"attempt to remove a non-existent port %s\"),"},{"line_number":407,"context_line":"                            ofport)"},{"line_number":408,"context_line":"        else:"},{"line_number":409,"context_line":"            self.ryuapp.del_arp_table_entry(lvm.vlan, port_info.ip_address)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_c9255cc3","line":406,"in_reply_to":"ba7be1f8_09fdb43a","updated":"2015-02-23 15:50:52.000000000","message":"The message already says that. It\u0027s an assumption to say that it was concurrently deleted. All I can say is that it isn\u0027t there now. Either it never existed or it was deleted concurrent with this invocation.","commit_id":"021c69b27823fe051f6a75ae1c66f7b516b387a6"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"fc0d8c6a8789b4cc36c37d48dc340efca208b045","unresolved":false,"context_lines":[{"line_number":391,"context_line":""},{"line_number":392,"context_line":"    def del_fdb_flow(self, br, port_info, remote_ip, lvm, ofport):"},{"line_number":393,"context_line":"        if port_info \u003d\u003d n_const.FLOODING_ENTRY:"},{"line_number":394,"context_line":"            if ofport in lvm.tun_ofports:"},{"line_number":395,"context_line":"                lvm.tun_ofports.remove(ofport)"},{"line_number":396,"context_line":"                if len(lvm.tun_ofports) \u003e 0:"},{"line_number":397,"context_line":"                    br.install_tunnel_output("}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_3c1cc977","line":394,"updated":"2015-02-26 21:10:12.000000000","message":"If you change this to the following, this change set will be smaller, indentation will be decreased, and it will be clear that this method is finished right away if ofport is not found in lvm.tun_ofports.  All goodness.\n\n  if ofport not in lvm.ofports:\n     return","commit_id":"c1c842b7416c7d7f3d5d1ac624cc894d7af6eeec"}],"neutron/plugins/openvswitch/agent/ovs_neutron_agent.py":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"a129dacb66bc6b0214a4fbbd08b6e807c132e6cc","unresolved":false,"context_lines":[{"line_number":414,"context_line":"                    br.delete_flows(table\u003dconstants.FLOOD_TO_TUN,"},{"line_number":415,"context_line":"                                    dl_vlan\u003dlvm.vlan)"},{"line_number":416,"context_line":"            else:"},{"line_number":417,"context_line":"                LOG.error(_LE(\"attempt to remove a non-existent port %s\"),"},{"line_number":418,"context_line":"                          ofport)"},{"line_number":419,"context_line":"        else:"},{"line_number":420,"context_line":"            self.setup_entry_for_arp_reply(br, \u0027remove\u0027, lvm.vlan,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_e8fce140","line":417,"updated":"2015-02-23 13:16:21.000000000","message":"it looks like more a warning than an error?","commit_id":"d032dbaedccb7d73713eca971af5d9d4e37a3260"},{"author":{"_account_id":5215,"name":"Dermot Tynan","email":"tynan@hpe.com","username":"dtynan"},"change_message_id":"0d15618c0ffee8f0a5634e9040408d2e36f18f08","unresolved":false,"context_lines":[{"line_number":414,"context_line":"                    br.delete_flows(table\u003dconstants.FLOOD_TO_TUN,"},{"line_number":415,"context_line":"                                    dl_vlan\u003dlvm.vlan)"},{"line_number":416,"context_line":"            else:"},{"line_number":417,"context_line":"                LOG.error(_LE(\"attempt to remove a non-existent port %s\"),"},{"line_number":418,"context_line":"                          ofport)"},{"line_number":419,"context_line":"        else:"},{"line_number":420,"context_line":"            self.setup_entry_for_arp_reply(br, \u0027remove\u0027, lvm.vlan,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_09ba1423","line":417,"in_reply_to":"ba7be1f8_e8fce140","updated":"2015-02-23 15:34:04.000000000","message":"Done","commit_id":"d032dbaedccb7d73713eca971af5d9d4e37a3260"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"d3320ea85292f249e10cd029b437a26922aa2bc4","unresolved":false,"context_lines":[{"line_number":435,"context_line":"                                    dl_vlan\u003dlvm.vlan)"},{"line_number":436,"context_line":"            else:"},{"line_number":437,"context_line":"                LOG.warning(_LW(\"attempt to remove a non-existent port %s\"),"},{"line_number":438,"context_line":"                            ofport)"},{"line_number":439,"context_line":"        else:"},{"line_number":440,"context_line":"            self.setup_entry_for_arp_reply(br, \u0027remove\u0027, lvm.vlan,"},{"line_number":441,"context_line":"                                           port_info.mac_address,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_9814ec4d","line":438,"updated":"2015-02-26 16:58:17.000000000","message":"Sorry that I\u0027m late to the party on this one :) but I\u0027m not so sure we should log anything, or at worst make this a LOG.debug.  The reason I say that is we recently tweaked iptables_manager to have a LOG.warning(), which then started showing up in the gate logs, which begged the question \"Is this really bad, should I be worried?\".  If we truly don\u0027t care then we make it debugging or do nothing.","commit_id":"3dcabdbffa46394c94f2494f1cbbc574131acf6a"},{"author":{"_account_id":5215,"name":"Dermot Tynan","email":"tynan@hpe.com","username":"dtynan"},"change_message_id":"27c9ed9279184e312c10e804a31e9ef3842e2a2f","unresolved":false,"context_lines":[{"line_number":435,"context_line":"                                    dl_vlan\u003dlvm.vlan)"},{"line_number":436,"context_line":"            else:"},{"line_number":437,"context_line":"                LOG.warning(_LW(\"attempt to remove a non-existent port %s\"),"},{"line_number":438,"context_line":"                            ofport)"},{"line_number":439,"context_line":"        else:"},{"line_number":440,"context_line":"            self.setup_entry_for_arp_reply(br, \u0027remove\u0027, lvm.vlan,"},{"line_number":441,"context_line":"                                           port_info.mac_address,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_abd31c02","line":438,"in_reply_to":"ba7be1f8_9814ec4d","updated":"2015-02-26 17:07:49.000000000","message":"it\u0027s a pretty rare condition because the final FLOODING_ENTRY constant should only be sent once. I\u0027ve seen this derailed due to overloaded Neutron servers. Both decide to send the FLOODING_ENTRY constant, and the second one arrives to find that the port has already been removed, hence the problem. Ideally this situation would never arise, hence the log message.","commit_id":"3dcabdbffa46394c94f2494f1cbbc574131acf6a"}],"neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"d085537c2bafc879e9f10264e6ed8730b46762b1","unresolved":false,"context_lines":[{"line_number":878,"context_line":"            self.agent.del_fdb_flow(self.agent.tun_br, n_const.FLOODING_ENTRY,"},{"line_number":879,"context_line":"                                    \u00271.1.1.1\u0027, lvm, ofport)"},{"line_number":880,"context_line":"            mod_flow_fn.assert_has_calls([])"},{"line_number":881,"context_line":"            delete_flows_fn.assert_has_calls([])"},{"line_number":882,"context_line":""},{"line_number":883,"context_line":"    def test_recl_lv_port_to_preserve(self):"},{"line_number":884,"context_line":"        self._prepare_l2_pop_ofports()"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba7be1f8_e8ffdd31","line":881,"updated":"2015-02-26 16:00:32.000000000","message":"L880-881 doesn\u0027t assert anything.\n\ni guess you mean assertFalse(xxx_fn.called)","commit_id":"cbaae7ee6386b314b30a45c495af6249a63004b4"},{"author":{"_account_id":5215,"name":"Dermot Tynan","email":"tynan@hpe.com","username":"dtynan"},"change_message_id":"41cc151376d87141dfcbc04e7be61457aa48c20a","unresolved":false,"context_lines":[{"line_number":878,"context_line":"            self.agent.del_fdb_flow(self.agent.tun_br, n_const.FLOODING_ENTRY,"},{"line_number":879,"context_line":"                                    \u00271.1.1.1\u0027, lvm, ofport)"},{"line_number":880,"context_line":"            mod_flow_fn.assert_has_calls([])"},{"line_number":881,"context_line":"            delete_flows_fn.assert_has_calls([])"},{"line_number":882,"context_line":""},{"line_number":883,"context_line":"    def test_recl_lv_port_to_preserve(self):"},{"line_number":884,"context_line":"        self._prepare_l2_pop_ofports()"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba7be1f8_c3c67a99","line":881,"in_reply_to":"ba7be1f8_e8ffdd31","updated":"2015-02-26 16:08:06.000000000","message":"Yes, I did. Thanks.","commit_id":"cbaae7ee6386b314b30a45c495af6249a63004b4"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"d8876fa88301a34fa5d48e8967d8f4ebde90f870","unresolved":false,"context_lines":[{"line_number":874,"context_line":"            mock.patch.object(self.agent.tun_br, \u0027delete_flows\u0027)"},{"line_number":875,"context_line":"        ) as (mod_flow_fn, delete_flows_fn):"},{"line_number":876,"context_line":"            ofport \u003d \u00273\u0027"},{"line_number":877,"context_line":"            port_info \u003d n_const.FLOODING_ENTRY"},{"line_number":878,"context_line":"            self.agent.del_fdb_flow(self.agent.tun_br, n_const.FLOODING_ENTRY,"},{"line_number":879,"context_line":"                                    \u00271.1.1.1\u0027, lvm, ofport)"},{"line_number":880,"context_line":"            self.assertFalse(mod_flow_fn.called)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_4baff97d","line":877,"updated":"2015-02-26 19:43:36.000000000","message":"pep8 error as this isn\u0027t used","commit_id":"c1c842b7416c7d7f3d5d1ac624cc894d7af6eeec"}]}
