)]}'
{"neutron/plugins/ml2/drivers/openvswitch/agent/ovs_dvr_neutron_agent.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"62074df5bcb071db2dcfd1bffa28ef46828a7f58","unresolved":false,"context_lines":[{"line_number":646,"context_line":"            else:"},{"line_number":647,"context_line":"                br.delete_dvr_process_ipv6("},{"line_number":648,"context_line":"                    vlan_tag\u003dlvm.vlan,"},{"line_number":649,"context_line":"                    gateway_mac\u003dsubnet_info[\u0027gateway_mac\u0027])"},{"line_number":650,"context_line":"            ovsport.remove_subnet(sub_uuid)"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"        if lvm.network_type \u003d\u003d n_const.TYPE_VLAN:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_eb6ed394","line":649,"updated":"2019-07-09 20:52:05.000000000","message":"i was playing with this while debugging test failures, will change it back to be on the same line","commit_id":"35d9222b65aa26f6767d20a5a0baa2624d2161de"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b4c91695903b194caf3fef6ba9646d1bf5739a72","unresolved":false,"context_lines":[{"line_number":423,"context_line":"                gateway_mac\u003dsubnet_info[\u0027gateway_mac\u0027],"},{"line_number":424,"context_line":"                dst_mac\u003dcomp_ovsport.get_mac(),"},{"line_number":425,"context_line":"                dst_port\u003dcomp_ovsport.get_ofport())"},{"line_number":426,"context_line":"        self.int_br.install_dvr_dst_mac_for_arp("},{"line_number":427,"context_line":"            lvm.network_type,"},{"line_number":428,"context_line":"            vlan_tag\u003dlvm.vlan,"},{"line_number":429,"context_line":"            gateway_mac\u003dport.vif_mac,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_0bb6b3dd","line":426,"updated":"2019-11-14 18:25:48.000000000","message":"Here we have DVR but, do we have necessarily tunneling? \n\nOr maybe I\u0027m missing something and in DVR we always need it.","commit_id":"4be29f08ad6522df70dff72759f00ae6453e2274"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"13515a5c6a32cfbd658b73f70bc234403f5b2be7","unresolved":false,"context_lines":[{"line_number":423,"context_line":"                gateway_mac\u003dsubnet_info[\u0027gateway_mac\u0027],"},{"line_number":424,"context_line":"                dst_mac\u003dcomp_ovsport.get_mac(),"},{"line_number":425,"context_line":"                dst_port\u003dcomp_ovsport.get_ofport())"},{"line_number":426,"context_line":"        self.int_br.install_dvr_dst_mac_for_arp("},{"line_number":427,"context_line":"            lvm.network_type,"},{"line_number":428,"context_line":"            vlan_tag\u003dlvm.vlan,"},{"line_number":429,"context_line":"            gateway_mac\u003dport.vif_mac,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_a503c3bd","line":426,"in_reply_to":"3fa7e38b_0bb6b3dd","updated":"2019-11-20 21:20:06.000000000","message":"AIUI we don\u0027t care about tunneling here, as we could just be installing for other MACs on this hypervisor as bridge is br-int.","commit_id":"4be29f08ad6522df70dff72759f00ae6453e2274"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"dda1c623255f23cc1834537079f2b3f63074cf78","unresolved":false,"context_lines":[{"line_number":423,"context_line":"                gateway_mac\u003dsubnet_info[\u0027gateway_mac\u0027],"},{"line_number":424,"context_line":"                dst_mac\u003dcomp_ovsport.get_mac(),"},{"line_number":425,"context_line":"                dst_port\u003dcomp_ovsport.get_ofport())"},{"line_number":426,"context_line":"        self.int_br.install_dvr_dst_mac_for_arp("},{"line_number":427,"context_line":"            lvm.network_type,"},{"line_number":428,"context_line":"            vlan_tag\u003dlvm.vlan,"},{"line_number":429,"context_line":"            gateway_mac\u003dport.vif_mac,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_856d6030","line":426,"in_reply_to":"3fa7e38b_a503c3bd","updated":"2019-11-21 10:12:09.000000000","message":"I agree with Brian. And also before this patch it was installed only if arp_responder was enabled. There was no checking if tunneling is enabled or not","commit_id":"4be29f08ad6522df70dff72759f00ae6453e2274"}],"neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"121de4d464c1827fb2c3395a910aec37f0b1146d","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        # TODO(ethuleau): Change ARP responder so it\u0027s not dependent on the"},{"line_number":165,"context_line":"        #                 ML2 l2 population mechanism driver."},{"line_number":166,"context_line":"        self.enable_distributed_routing \u003d agent_conf.enable_distributed_routing"},{"line_number":167,"context_line":"        self.arp_responder_enabled \u003d agent_conf.arp_responder and self.l2_pop"},{"line_number":168,"context_line":"        if self.enable_distributed_routing and not self.arp_responder_enabled:"},{"line_number":169,"context_line":"            LOG.info(\"ARP responder was not enabled but is required \""},{"line_number":170,"context_line":"                     \"since DVR is enabled, setting to True.\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_da711946","line":167,"range":{"start_line":167,"start_character":66,"end_line":167,"end_character":77},"updated":"2019-07-15 09:07:59.000000000","message":"Same question here: how will this effect the DVR with VLAN type networks?","commit_id":"0e27598168c927ffccae11d84f1b2a656fd255ff"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"99c2eae90b310ec8b06dc1f82237b21b3d67ee10","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        # TODO(ethuleau): Change ARP responder so it\u0027s not dependent on the"},{"line_number":165,"context_line":"        #                 ML2 l2 population mechanism driver."},{"line_number":166,"context_line":"        self.enable_distributed_routing \u003d agent_conf.enable_distributed_routing"},{"line_number":167,"context_line":"        self.arp_responder_enabled \u003d agent_conf.arp_responder and self.l2_pop"},{"line_number":168,"context_line":"        if self.enable_distributed_routing and not self.arp_responder_enabled:"},{"line_number":169,"context_line":"            LOG.info(\"ARP responder was not enabled but is required \""},{"line_number":170,"context_line":"                     \"since DVR is enabled, setting to True.\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_fe42acaa","line":167,"range":{"start_line":167,"start_character":66,"end_line":167,"end_character":77},"in_reply_to":"7faddb67_da711946","updated":"2019-07-16 17:59:47.000000000","message":"How is this related to VLAN when enabling ARP responder.","commit_id":"0e27598168c927ffccae11d84f1b2a656fd255ff"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"b5713097ac0e51f07f5b20cbe5a1ce5dc27c51f2","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        # TODO(ethuleau): Change ARP responder so it\u0027s not dependent on the"},{"line_number":165,"context_line":"        #                 ML2 l2 population mechanism driver."},{"line_number":166,"context_line":"        self.enable_distributed_routing \u003d agent_conf.enable_distributed_routing"},{"line_number":167,"context_line":"        self.arp_responder_enabled \u003d agent_conf.arp_responder and self.l2_pop"},{"line_number":168,"context_line":"        if self.enable_distributed_routing and not self.arp_responder_enabled:"},{"line_number":169,"context_line":"            LOG.info(\"ARP responder was not enabled but is required \""},{"line_number":170,"context_line":"                     \"since DVR is enabled, setting to True.\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_091734a6","line":167,"range":{"start_line":167,"start_character":66,"end_line":167,"end_character":77},"in_reply_to":"7faddb67_fe42acaa","updated":"2019-07-18 09:31:40.000000000","message":"For deployment with VLAN types network only , it should disable l2pop and arp_responder, but this patch will re-enable it anyway. So what will happen then?","commit_id":"0e27598168c927ffccae11d84f1b2a656fd255ff"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"40ad3629e5713c7ee320ac48df6bb1b1855b1a69","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        self.enable_distributed_routing \u003d agent_conf.enable_distributed_routing"},{"line_number":167,"context_line":"        self.arp_responder_enabled \u003d agent_conf.arp_responder and self.l2_pop"},{"line_number":168,"context_line":"        if self.enable_distributed_routing and not self.arp_responder_enabled:"},{"line_number":169,"context_line":"            LOG.info(\"ARP responder was not enabled but is required \""},{"line_number":170,"context_line":"                     \"since DVR is enabled, setting to True.\")"},{"line_number":171,"context_line":"            self.arp_responder_enabled \u003d True"},{"line_number":172,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_f0fd176e","line":169,"range":{"start_line":169,"start_character":16,"end_line":169,"end_character":20},"updated":"2019-07-15 08:15:45.000000000","message":"I would maybe change it to WARNING but INFO is also fine :)","commit_id":"0e27598168c927ffccae11d84f1b2a656fd255ff"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a9c9301fd730b478ac8088732e61389c746b5fb2","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        self.enable_distributed_routing \u003d agent_conf.enable_distributed_routing"},{"line_number":167,"context_line":"        self.arp_responder_enabled \u003d agent_conf.arp_responder and self.l2_pop"},{"line_number":168,"context_line":"        if self.enable_distributed_routing and not self.arp_responder_enabled:"},{"line_number":169,"context_line":"            LOG.info(\"ARP responder was not enabled but is required \""},{"line_number":170,"context_line":"                     \"since DVR is enabled, setting to True.\")"},{"line_number":171,"context_line":"            self.arp_responder_enabled \u003d True"},{"line_number":172,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_7930da9f","line":169,"range":{"start_line":169,"start_character":16,"end_line":169,"end_character":20},"in_reply_to":"7faddb67_f0fd176e","updated":"2019-09-30 21:30:35.000000000","message":"Done","commit_id":"0e27598168c927ffccae11d84f1b2a656fd255ff"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"52b75303081767620ff94beb11ac86bd52657dec","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        self.enable_tunneling \u003d bool(self.tunnel_types)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        # Validate agent configurations"},{"line_number":179,"context_line":"        self._check_agent_configurations()"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        # Keep track of int_br\u0027s device count for use by _report_state()"},{"line_number":182,"context_line":"        self.int_br_device_count \u003d 0"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_faa35c9c","line":179,"updated":"2019-08-06 20:19:23.000000000","message":"Liu - so maybe the call to this check helps makes sense of this.  It does:\n\n    if (self.enable_distributed_routing and self.enable_tunneling and       \n            not self.l2_pop):                                               \n                                                                                \n        raise ValueError(_(\"DVR deployments for VXLAN/GRE/Geneve \"          \n                           \"underlays require L2-pop to be enabled, \"       \n                           \"in both the Agent and Server side.\"))\n\nSo perhaps we just need to also check for enable_tunneling above?","commit_id":"0e27598168c927ffccae11d84f1b2a656fd255ff"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a9c9301fd730b478ac8088732e61389c746b5fb2","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        self.enable_tunneling \u003d bool(self.tunnel_types)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        # Validate agent configurations"},{"line_number":179,"context_line":"        self._check_agent_configurations()"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        # Keep track of int_br\u0027s device count for use by _report_state()"},{"line_number":182,"context_line":"        self.int_br_device_count \u003d 0"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_19e4460c","line":179,"in_reply_to":"7faddb67_2212e9b5","updated":"2019-09-30 21:30:35.000000000","message":"Done","commit_id":"0e27598168c927ffccae11d84f1b2a656fd255ff"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"b90a343549e9af1115925a6e7e1f43db5b49bcf2","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        self.enable_tunneling \u003d bool(self.tunnel_types)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        # Validate agent configurations"},{"line_number":179,"context_line":"        self._check_agent_configurations()"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        # Keep track of int_br\u0027s device count for use by _report_state()"},{"line_number":182,"context_line":"        self.int_br_device_count \u003d 0"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_2212e9b5","line":179,"in_reply_to":"7faddb67_faa35c9c","updated":"2019-08-09 16:25:29.000000000","message":"Make sense, it is necessary to check if tunnels are enabled.","commit_id":"0e27598168c927ffccae11d84f1b2a656fd255ff"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"dda1c623255f23cc1834537079f2b3f63074cf78","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        #                 ML2 l2 population mechanism driver."},{"line_number":169,"context_line":"        self.enable_distributed_routing \u003d agent_conf.enable_distributed_routing"},{"line_number":170,"context_line":"        self.arp_responder_enabled \u003d agent_conf.arp_responder and self.l2_pop"},{"line_number":171,"context_line":"        if (self.enable_distributed_routing and self.enable_tunneling and"},{"line_number":172,"context_line":"                not self.arp_responder_enabled):"},{"line_number":173,"context_line":"            LOG.warning(\"ARP responder was not enabled but is required \""},{"line_number":174,"context_line":"                        \"since DVR is enabled, setting to True.\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_45ca081a","line":171,"range":{"start_line":171,"start_character":53,"end_line":171,"end_character":69},"updated":"2019-11-21 10:12:09.000000000","message":"do we need this check here also? In https://review.opendev.org/#/c/669938/5/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_dvr_neutron_agent.py You are not checking tunneling anywhere. So how it would work if You would have enabled distributed routing but not enabled tunneling? Here You wouldn\u0027t force arp_responder to true but in https://review.opendev.org/#/c/669938/5/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_dvr_neutron_agent.py You would install flows which should be there only if arp_responder is enabled. Am I right or am I missing something?","commit_id":"4be29f08ad6522df70dff72759f00ae6453e2274"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"334c814406bdd78f52f83794e400e1a745159106","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        #                 ML2 l2 population mechanism driver."},{"line_number":169,"context_line":"        self.enable_distributed_routing \u003d agent_conf.enable_distributed_routing"},{"line_number":170,"context_line":"        self.arp_responder_enabled \u003d agent_conf.arp_responder and self.l2_pop"},{"line_number":171,"context_line":"        if (self.enable_distributed_routing and self.enable_tunneling and"},{"line_number":172,"context_line":"                not self.arp_responder_enabled):"},{"line_number":173,"context_line":"            LOG.warning(\"ARP responder was not enabled but is required \""},{"line_number":174,"context_line":"                        \"since DVR is enabled, setting to True.\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_2f30d454","line":171,"range":{"start_line":171,"start_character":53,"end_line":171,"end_character":69},"in_reply_to":"3fa7e38b_45ca081a","updated":"2019-11-25 21:33:29.000000000","message":"I added it after a comment in PS3 from Liu.  The call on L181 to _check_agent_configurations() is actually going to raise when:\n\nif (self.enable_distributed_routing and self.enable_tunneling and\n                not self.l2_pop):\n\nso I made this check similar to that one, even though this only prints a warning message.","commit_id":"4be29f08ad6522df70dff72759f00ae6453e2274"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"dda1c623255f23cc1834537079f2b3f63074cf78","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        if (self.enable_distributed_routing and self.enable_tunneling and"},{"line_number":172,"context_line":"                not self.arp_responder_enabled):"},{"line_number":173,"context_line":"            LOG.warning(\"ARP responder was not enabled but is required \""},{"line_number":174,"context_line":"                        \"since DVR is enabled, setting to True.\")"},{"line_number":175,"context_line":"            self.arp_responder_enabled \u003d True"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        host \u003d self.conf.host"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_e5577459","line":174,"range":{"start_line":174,"start_character":31,"end_line":174,"end_character":34},"updated":"2019-11-21 10:12:09.000000000","message":"since DVR and tunneling are enabled","commit_id":"4be29f08ad6522df70dff72759f00ae6453e2274"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"334c814406bdd78f52f83794e400e1a745159106","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        if (self.enable_distributed_routing and self.enable_tunneling and"},{"line_number":172,"context_line":"                not self.arp_responder_enabled):"},{"line_number":173,"context_line":"            LOG.warning(\"ARP responder was not enabled but is required \""},{"line_number":174,"context_line":"                        \"since DVR is enabled, setting to True.\")"},{"line_number":175,"context_line":"            self.arp_responder_enabled \u003d True"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        host \u003d self.conf.host"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_4f33d061","line":174,"range":{"start_line":174,"start_character":31,"end_line":174,"end_character":34},"in_reply_to":"3fa7e38b_e5577459","updated":"2019-11-25 21:33:29.000000000","message":"I\u0027ll fix it.","commit_id":"4be29f08ad6522df70dff72759f00ae6453e2274"}]}
