)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"369d22c17ce160d9ae8182ce49a13ab34ae3e123","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Yi Yang \u003cyangyi01@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-03-12 18:21:32 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Enable \"accepted egress direct flow\" to work for iptables_hybrid"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"commit efa8dd08957b5b6b1a05f0ed412ff00462a9f216 doesn\u0027t work for"},{"line_number":10,"context_line":"the case firewall\u003diptables_hybrid, this patch fixes it and make"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df33271e_29565507","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":64},"updated":"2020-04-01 06:42:39.000000000","message":"IMO, this title should be enough:\n\"Enable egress direct flow for iptables_hybrid\"","commit_id":"a1a02f15f2ef06e478dad91af4cf859574efa2e1"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"369d22c17ce160d9ae8182ce49a13ab34ae3e123","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Enable \"accepted egress direct flow\" to work for iptables_hybrid"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"commit efa8dd08957b5b6b1a05f0ed412ff00462a9f216 doesn\u0027t work for"},{"line_number":10,"context_line":"the case firewall\u003diptables_hybrid, this patch fixes it and make"},{"line_number":11,"context_line":"sure it can work in same way for openvswitch and iptables_hybrid"},{"line_number":12,"context_line":"firewall."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Related-Bug: #1732067"},{"line_number":15,"context_line":"Related-Bug: #1866445"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df33271e_296f75c5","line":12,"range":{"start_line":9,"start_character":0,"end_line":12,"end_character":9},"updated":"2020-04-01 06:42:39.000000000","message":"It not necessary to mention the commit it here, and it just repeat the same thing twice, how about:\n\"When enable explicitly_egress_direct for iptables_hybrid security group driver, the egress flooding still occurs on br-int. This patch adds the iptables_hybrid to the driver check list to ensure the direct flows are installed properly.\"","commit_id":"a1a02f15f2ef06e478dad91af4cf859574efa2e1"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"97e90c98966dd2e36826349d718f5a2bc0a4c243","unresolved":false,"context_lines":[{"line_number":11,"context_line":"iptables_hybrid to the driver check list to ensure the direct flows are"},{"line_number":12,"context_line":"installed properly."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"These direct flows also need br-int to support OPENFLOW14 because they"},{"line_number":15,"context_line":"are installed by using bundle, so this patch also adds required protocols"},{"line_number":16,"context_line":"to br-int. Note: only OPENFLOW10 and OPENFLOW13 are added for br-int in"},{"line_number":17,"context_line":"case of firewall_driver\u003diptables_hybrid."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"df33271e_c55c65ef","line":15,"range":{"start_line":14,"start_character":0,"end_line":15,"end_character":30},"updated":"2020-04-07 13:14:34.000000000","message":"Not encounter such condition locally, did you mix some other flows to this table which need the higher OF version?","commit_id":"03557f06a5df99776d4354667c3d56120c357b27"}],"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":"a51593d34fd7deb201e52a784349b68627dc105f","unresolved":false,"context_lines":[{"line_number":662,"context_line":""},{"line_number":663,"context_line":"                if (isinstance(self.sg_agent.firewall,"},{"line_number":664,"context_line":"                               agent_firewall.NoopFirewallDriver) or"},{"line_number":665,"context_line":"                        isinstance(self.sg_agent.firewall,"},{"line_number":666,"context_line":"                            iptables_firewall.OVSHybridIptablesFirewallDriver)"},{"line_number":667,"context_line":"                        or not agent_sg_rpc.is_firewall_enabled()):"},{"line_number":668,"context_line":"                    try:"},{"line_number":669,"context_line":"                        self.delete_accepted_egress_direct_flow("}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_09f8b246","line":666,"range":{"start_line":665,"start_character":24,"end_line":666,"end_character":78},"updated":"2020-04-01 06:08:16.000000000","message":"Nice, this should be the right approach. I just missed that.","commit_id":"a1a02f15f2ef06e478dad91af4cf859574efa2e1"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"369d22c17ce160d9ae8182ce49a13ab34ae3e123","unresolved":false,"context_lines":[{"line_number":662,"context_line":""},{"line_number":663,"context_line":"                if (isinstance(self.sg_agent.firewall,"},{"line_number":664,"context_line":"                               agent_firewall.NoopFirewallDriver) or"},{"line_number":665,"context_line":"                        isinstance(self.sg_agent.firewall,"},{"line_number":666,"context_line":"                            iptables_firewall.OVSHybridIptablesFirewallDriver)"},{"line_number":667,"context_line":"                        or not agent_sg_rpc.is_firewall_enabled()):"},{"line_number":668,"context_line":"                    try:"},{"line_number":669,"context_line":"                        self.delete_accepted_egress_direct_flow("}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_a96265d6","line":666,"range":{"start_line":665,"start_character":24,"end_line":666,"end_character":78},"in_reply_to":"df33271e_09f8b246","updated":"2020-04-01 06:42:39.000000000","message":"pep8 issue here.","commit_id":"a1a02f15f2ef06e478dad91af4cf859574efa2e1"},{"author":{"_account_id":30454,"name":"Yi Yang","email":"yangyi01@inspur.com","username":"yangyi01"},"change_message_id":"ea17782dd825f73c3a81a2df834e497c3719d1da","unresolved":false,"context_lines":[{"line_number":662,"context_line":""},{"line_number":663,"context_line":"                if (isinstance(self.sg_agent.firewall,"},{"line_number":664,"context_line":"                               agent_firewall.NoopFirewallDriver) or"},{"line_number":665,"context_line":"                        isinstance(self.sg_agent.firewall,"},{"line_number":666,"context_line":"                            iptables_firewall.OVSHybridIptablesFirewallDriver)"},{"line_number":667,"context_line":"                        or not agent_sg_rpc.is_firewall_enabled()):"},{"line_number":668,"context_line":"                    try:"},{"line_number":669,"context_line":"                        self.delete_accepted_egress_direct_flow("}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_09df113a","line":666,"range":{"start_line":665,"start_character":24,"end_line":666,"end_character":78},"in_reply_to":"df33271e_a96265d6","updated":"2020-04-01 06:51:43.000000000","message":"Thanks comments, I don\u0027t know how to fix this pep8 issue, indentation must be 8 white spaces?","commit_id":"a1a02f15f2ef06e478dad91af4cf859574efa2e1"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"4f7ef90e0d67b3ce694a6fcecf1d45b4a0f679ea","unresolved":false,"context_lines":[{"line_number":57,"context_line":"from neutron.agent import firewall as agent_firewall"},{"line_number":58,"context_line":"from neutron.agent.l2 import l2_agent_extensions_manager as ext_manager"},{"line_number":59,"context_line":"from neutron.agent.linux.iptables_firewall \\"},{"line_number":60,"context_line":"    import OVSHybridIptablesFirewallDriver as iptables_hybrid"},{"line_number":61,"context_line":"from neutron.agent.linux import xenapi_root_helper"},{"line_number":62,"context_line":"from neutron.agent import rpc as agent_rpc"},{"line_number":63,"context_line":"from neutron.agent import securitygroups_rpc as agent_sg_rpc"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_8f8cc1d7","line":60,"range":{"start_line":60,"start_character":4,"end_line":60,"end_character":42},"updated":"2020-04-01 10:20:12.000000000","message":"The class import is not recommended in Neutron. The final level is module import.","commit_id":"ccd778049f116065b4dd8c9b3390cd369a328683"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"7acdba09396e27e1ddc76875a17857333c0fcfe6","unresolved":false,"context_lines":[{"line_number":1352,"context_line":"        #   ovs-vsctl -- --may-exist add-br BRIDGE_NAME"},{"line_number":1353,"context_line":"        # which does nothing if bridge already exists."},{"line_number":1354,"context_line":"        self.int_br.create()"},{"line_number":1355,"context_line":"        self.int_br.add_protocols(*OVSNeutronAgent.REQUIRED_PROTOCOLS)"},{"line_number":1356,"context_line":"        self.int_br.set_secure_mode()"},{"line_number":1357,"context_line":"        self.int_br.setup_controllers(self.conf)"},{"line_number":1358,"context_line":"        self.int_br.set_igmp_snooping_state(self.conf.OVS.igmp_snooping_enable)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f4c43b2_c4570426","line":1355,"range":{"start_line":1355,"start_character":8,"end_line":1355,"end_character":70},"updated":"2020-04-22 01:37:42.000000000","message":"nit: If it is possible to check the security group driver before adding these protocols?","commit_id":"01882de1f568fd6037ff459011cca0dbbf9df125"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"ea923433dfd5d5989668f2a53632d2c41760925f","unresolved":false,"context_lines":[{"line_number":1352,"context_line":"        #   ovs-vsctl -- --may-exist add-br BRIDGE_NAME"},{"line_number":1353,"context_line":"        # which does nothing if bridge already exists."},{"line_number":1354,"context_line":"        self.int_br.create()"},{"line_number":1355,"context_line":"        self.int_br.add_protocols(*OVSNeutronAgent.REQUIRED_PROTOCOLS)"},{"line_number":1356,"context_line":"        self.int_br.set_secure_mode()"},{"line_number":1357,"context_line":"        self.int_br.setup_controllers(self.conf)"},{"line_number":1358,"context_line":"        self.int_br.set_igmp_snooping_state(self.conf.OVS.igmp_snooping_enable)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_77ed67ee","line":1355,"range":{"start_line":1355,"start_character":8,"end_line":1355,"end_character":70},"in_reply_to":"1f493fa4_08eccfc5","updated":"2020-04-22 13:23:07.000000000","message":"Yes, I know the code path. But the class SecurityGroupAgentRpc init method accepts the integration bridge instance[1]. So it should be possible to check the driver type after that \"init_firewall\" [2] was called.\n\n[1] https://github.com/openstack/neutron/blob/master/neutron/agent/securitygroups_rpc.py#L59\n[2] https://github.com/openstack/neutron/blob/master/neutron/agent/securitygroups_rpc.py#L62","commit_id":"01882de1f568fd6037ff459011cca0dbbf9df125"},{"author":{"_account_id":30454,"name":"Yi Yang","email":"yangyi01@inspur.com","username":"yangyi01"},"change_message_id":"fc7db0a79f026a62fd917d01fe579bbb1ced90ab","unresolved":false,"context_lines":[{"line_number":1352,"context_line":"        #   ovs-vsctl -- --may-exist add-br BRIDGE_NAME"},{"line_number":1353,"context_line":"        # which does nothing if bridge already exists."},{"line_number":1354,"context_line":"        self.int_br.create()"},{"line_number":1355,"context_line":"        self.int_br.add_protocols(*OVSNeutronAgent.REQUIRED_PROTOCOLS)"},{"line_number":1356,"context_line":"        self.int_br.set_secure_mode()"},{"line_number":1357,"context_line":"        self.int_br.setup_controllers(self.conf)"},{"line_number":1358,"context_line":"        self.int_br.set_igmp_snooping_state(self.conf.OVS.igmp_snooping_enable)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_12ea3174","line":1355,"range":{"start_line":1355,"start_character":8,"end_line":1355,"end_character":70},"in_reply_to":"1f493fa4_77ed67ee","updated":"2020-04-22 14:03:58.000000000","message":"Got it, do you mean doing it like this?\n\niptables_hybrid \u003d iptables_firewall.OVSHybridIptablesFirewallDriver\nif (self.sg_agent and\n        isinstance(self.sg_agent.firewall, iptables_hybrid)):\n    self.int_br.add_protocols(*OVSNeutronAgent.REQUIRED_PROTOCOLS)","commit_id":"01882de1f568fd6037ff459011cca0dbbf9df125"},{"author":{"_account_id":30454,"name":"Yi Yang","email":"yangyi01@inspur.com","username":"yangyi01"},"change_message_id":"717db3c7d0c859f222fa8cf478692820b36486f0","unresolved":false,"context_lines":[{"line_number":1352,"context_line":"        #   ovs-vsctl -- --may-exist add-br BRIDGE_NAME"},{"line_number":1353,"context_line":"        # which does nothing if bridge already exists."},{"line_number":1354,"context_line":"        self.int_br.create()"},{"line_number":1355,"context_line":"        self.int_br.add_protocols(*OVSNeutronAgent.REQUIRED_PROTOCOLS)"},{"line_number":1356,"context_line":"        self.int_br.set_secure_mode()"},{"line_number":1357,"context_line":"        self.int_br.setup_controllers(self.conf)"},{"line_number":1358,"context_line":"        self.int_br.set_igmp_snooping_state(self.conf.OVS.igmp_snooping_enable)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_08eccfc5","line":1355,"range":{"start_line":1355,"start_character":8,"end_line":1355,"end_character":70},"in_reply_to":"3f4c43b2_c4570426","updated":"2020-04-22 04:08:40.000000000","message":"It is impossible, because sg initialization is just after setup_integration_br().","commit_id":"01882de1f568fd6037ff459011cca0dbbf9df125"}]}
