)]}'
{"neutron/tests/fullstack/test_securitygroup.py":[{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"b4477d45b623c0f0b84f65345640ac46b628a6fa","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        vms[4].block_until_boot()"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        netcat \u003d net_helpers.NetcatTester("},{"line_number":253,"context_line":"            vms[4].namespace, vms[0].namespace, vms[0].ip, 3355,"},{"line_number":254,"context_line":"            net_helpers.NetcatTester.TCP)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        self.addCleanup(netcat.stop_processes)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_a39c8d5d","line":253,"range":{"start_line":252,"start_character":0,"end_line":253,"end_character":64},"updated":"2020-02-27 18:18:27.000000000","message":"Unrelated change?","commit_id":"3573ca6260a6345db59f4f0c14abd912fa4c8ac2"},{"author":{"_account_id":31669,"name":"lina He","email":"lina.he@nokia.com","username":"linahe"},"change_message_id":"a5a281d935d4b1c39a15ac4ced62d55cce68d0df","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        vms[4].block_until_boot()"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        netcat \u003d net_helpers.NetcatTester("},{"line_number":253,"context_line":"            vms[4].namespace, vms[0].namespace, vms[0].ip, 3355,"},{"line_number":254,"context_line":"            net_helpers.NetcatTester.TCP)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        self.addCleanup(netcat.stop_processes)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_a713195c","line":253,"range":{"start_line":252,"start_character":0,"end_line":253,"end_character":64},"in_reply_to":"1fa4df85_a39c8d5d","updated":"2020-03-02 04:56:49.000000000","message":"Yes, I got pep8 error, so I changed this.\nI reverted this change in the patchset2.","commit_id":"3573ca6260a6345db59f4f0c14abd912fa4c8ac2"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"32918a37f55122b8b0c918afe95696df90e61f9b","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        vms[4].block_until_boot()"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        netcat \u003d net_helpers.NetcatTester("},{"line_number":253,"context_line":"            vms[4].namespace, vms[0].namespace, vms[0].ip, 3355,"},{"line_number":254,"context_line":"            net_helpers.NetcatTester.TCP)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        self.addCleanup(netcat.stop_processes)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_10f49c5a","line":253,"range":{"start_line":252,"start_character":0,"end_line":253,"end_character":64},"in_reply_to":"1fa4df85_a713195c","updated":"2020-03-02 14:28:45.000000000","message":"Ah, well we are all victims of pep8.  Do whatever you need to do in order to satisfy it. :-)","commit_id":"3573ca6260a6345db59f4f0c14abd912fa4c8ac2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"e349fccc9bcdccf2feca427735df9dc98be7d344","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        self._test_using_multiple_security_groups()"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        # 12. test stateless security groups when firewall_driver is iptables"},{"line_number":310,"context_line":"        if self.firewall_driver \u003d\u003d \u0027iptables\u0027:"},{"line_number":311,"context_line":"            self._test_stateless_security_groups()"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def _test_using_multiple_security_groups(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_d7885ac7","line":310,"updated":"2020-02-28 09:32:20.000000000","message":"I think that \"iptables_hybrid\" also supports this","commit_id":"3573ca6260a6345db59f4f0c14abd912fa4c8ac2"},{"author":{"_account_id":31669,"name":"lina He","email":"lina.he@nokia.com","username":"linahe"},"change_message_id":"c899c5a213e1bb41b49b2c6a053dbe83a2268bbf","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        self._test_using_multiple_security_groups()"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        # 12. test stateless security groups when firewall_driver is iptables"},{"line_number":310,"context_line":"        if self.firewall_driver \u003d\u003d \u0027iptables\u0027:"},{"line_number":311,"context_line":"            self._test_stateless_security_groups()"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def _test_using_multiple_security_groups(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_5a61afd2","line":310,"in_reply_to":"1fa4df85_7f629840","updated":"2020-03-04 03:34:01.000000000","message":"I checked ovs case, there is nothing adding for ovs. So I prefer to just skip the stateless tests for ovs.","commit_id":"3573ca6260a6345db59f4f0c14abd912fa4c8ac2"},{"author":{"_account_id":31669,"name":"lina He","email":"lina.he@nokia.com","username":"linahe"},"change_message_id":"a5a281d935d4b1c39a15ac4ced62d55cce68d0df","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        self._test_using_multiple_security_groups()"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        # 12. test stateless security groups when firewall_driver is iptables"},{"line_number":310,"context_line":"        if self.firewall_driver \u003d\u003d \u0027iptables\u0027:"},{"line_number":311,"context_line":"            self._test_stateless_security_groups()"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def _test_using_multiple_security_groups(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_a73c79c8","line":310,"in_reply_to":"1fa4df85_7f629840","updated":"2020-03-02 04:56:49.000000000","message":"Maybe dump the openvswitch rules and check the rules.\nI dumped the iptable rules and checked for openvswitch in my second patchset. That needs to be fixed.","commit_id":"3573ca6260a6345db59f4f0c14abd912fa4c8ac2"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"7bef30a2c66047b4f1dca68c99b86c7ec0003f26","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        self._test_using_multiple_security_groups()"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        # 12. test stateless security groups when firewall_driver is iptables"},{"line_number":310,"context_line":"        if self.firewall_driver \u003d\u003d \u0027iptables\u0027:"},{"line_number":311,"context_line":"            self._test_stateless_security_groups()"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def _test_using_multiple_security_groups(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_7f629840","line":310,"in_reply_to":"1fa4df85_d7885ac7","updated":"2020-02-28 14:52:55.000000000","message":"As I see only iptables is supposed to be supported.\nBy the way is there a way to add some negative tests here that expects some nice \"not supported\" exception in case of ovs or hybrid?","commit_id":"3573ca6260a6345db59f4f0c14abd912fa4c8ac2"},{"author":{"_account_id":31669,"name":"lina He","email":"lina.he@nokia.com","username":"linahe"},"change_message_id":"a5a281d935d4b1c39a15ac4ced62d55cce68d0df","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        self._test_using_multiple_security_groups()"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        # 12. test stateless security groups when firewall_driver is iptables"},{"line_number":310,"context_line":"        if self.firewall_driver \u003d\u003d \u0027iptables\u0027:"},{"line_number":311,"context_line":"            self._test_stateless_security_groups()"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def _test_using_multiple_security_groups(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_c70e5531","line":310,"in_reply_to":"1fa4df85_d7885ac7","updated":"2020-03-02 04:56:49.000000000","message":"Thanks for reminding me. I have added the stateless test for \"iptables_hybrid\".","commit_id":"3573ca6260a6345db59f4f0c14abd912fa4c8ac2"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"b4477d45b623c0f0b84f65345640ac46b628a6fa","unresolved":false,"context_lines":[{"line_number":409,"context_line":"        \"\"\"Test stateless security groups."},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        This test will run basic tests for stateless security groups"},{"line_number":412,"context_line":"        1. Check connection is blocked for stateless security group."},{"line_number":413,"context_line":"        2. Check if connection from allowed security group is permitted."},{"line_number":414,"context_line":"        3. Check if traffic not explicitly allowed (eg. ICMP) is blocked."},{"line_number":415,"context_line":"        4. Check if a security group update for entire port range works."},{"line_number":416,"context_line":"        \"\"\""},{"line_number":417,"context_line":"        tenant_uuid \u003d uuidutils.generate_uuid()"},{"line_number":418,"context_line":"        subnet_cidr \u003d \u002740.0.0.0/24\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_e3e045cf","line":415,"range":{"start_line":412,"start_character":0,"end_line":415,"end_character":72},"updated":"2020-02-27 18:18:27.000000000","message":"Two improvements:\n\n1. I think it would also be in order to try to attach a stateful rule to a port that already has stateless rules and ensure that the correct response is returned.\n\n2. Upon attaching a stateless rule, it would be great to inspect the iptables rules to verify that the rule added is indeed stateless.  An example of how this can be done is found here: https://opendev.org/openstack/neutron/src/branch/master/neutron/tests/fullstack/test_firewall.py#L95","commit_id":"3573ca6260a6345db59f4f0c14abd912fa4c8ac2"},{"author":{"_account_id":31669,"name":"lina He","email":"lina.he@nokia.com","username":"linahe"},"change_message_id":"c899c5a213e1bb41b49b2c6a053dbe83a2268bbf","unresolved":false,"context_lines":[{"line_number":409,"context_line":"        \"\"\"Test stateless security groups."},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        This test will run basic tests for stateless security groups"},{"line_number":412,"context_line":"        1. Check connection is blocked for stateless security group."},{"line_number":413,"context_line":"        2. Check if connection from allowed security group is permitted."},{"line_number":414,"context_line":"        3. Check if traffic not explicitly allowed (eg. ICMP) is blocked."},{"line_number":415,"context_line":"        4. Check if a security group update for entire port range works."},{"line_number":416,"context_line":"        \"\"\""},{"line_number":417,"context_line":"        tenant_uuid \u003d uuidutils.generate_uuid()"},{"line_number":418,"context_line":"        subnet_cidr \u003d \u002740.0.0.0/24\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_3a8b936e","line":415,"range":{"start_line":412,"start_character":0,"end_line":415,"end_character":72},"in_reply_to":"1fa4df85_b0d108d0","updated":"2020-03-04 03:34:01.000000000","message":"Thanks for your help. I uploaded a new patchset, which works well for both iptables and iptables_hybrid cases in my local devstack. Welcome any comments.","commit_id":"3573ca6260a6345db59f4f0c14abd912fa4c8ac2"},{"author":{"_account_id":31669,"name":"lina He","email":"lina.he@nokia.com","username":"linahe"},"change_message_id":"a5a281d935d4b1c39a15ac4ced62d55cce68d0df","unresolved":false,"context_lines":[{"line_number":409,"context_line":"        \"\"\"Test stateless security groups."},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        This test will run basic tests for stateless security groups"},{"line_number":412,"context_line":"        1. Check connection is blocked for stateless security group."},{"line_number":413,"context_line":"        2. Check if connection from allowed security group is permitted."},{"line_number":414,"context_line":"        3. Check if traffic not explicitly allowed (eg. ICMP) is blocked."},{"line_number":415,"context_line":"        4. Check if a security group update for entire port range works."},{"line_number":416,"context_line":"        \"\"\""},{"line_number":417,"context_line":"        tenant_uuid \u003d uuidutils.generate_uuid()"},{"line_number":418,"context_line":"        subnet_cidr \u003d \u002740.0.0.0/24\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_e7a59105","line":415,"range":{"start_line":412,"start_character":0,"end_line":415,"end_character":72},"in_reply_to":"1fa4df85_e3e045cf","updated":"2020-03-02 04:56:49.000000000","message":"Thanks for your comments. I improved the tests based on your suggestions in the second patchset. \nI tested the stateless rules for \"iptables_hybrid\" scenario and they are passed locally.\nBut for \"iptables\" scenario, there are no rules configured for the vm interface when dumping the rules from iptables. I need more investigation into this scenario.\nOne question for the security group fullstack tests. They are marked unstable and skipped when they fail. How can we make sure the tests fail because it is unstable or stateless?","commit_id":"3573ca6260a6345db59f4f0c14abd912fa4c8ac2"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"32918a37f55122b8b0c918afe95696df90e61f9b","unresolved":false,"context_lines":[{"line_number":409,"context_line":"        \"\"\"Test stateless security groups."},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        This test will run basic tests for stateless security groups"},{"line_number":412,"context_line":"        1. Check connection is blocked for stateless security group."},{"line_number":413,"context_line":"        2. Check if connection from allowed security group is permitted."},{"line_number":414,"context_line":"        3. Check if traffic not explicitly allowed (eg. ICMP) is blocked."},{"line_number":415,"context_line":"        4. Check if a security group update for entire port range works."},{"line_number":416,"context_line":"        \"\"\""},{"line_number":417,"context_line":"        tenant_uuid \u003d uuidutils.generate_uuid()"},{"line_number":418,"context_line":"        subnet_cidr \u003d \u002740.0.0.0/24\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_b0d108d0","line":415,"range":{"start_line":412,"start_character":0,"end_line":415,"end_character":72},"in_reply_to":"1fa4df85_e7a59105","updated":"2020-03-02 14:28:45.000000000","message":"Thank you for your improvements!\n\nI agree, the unstable mark on this test is a blocker.  I have created https://review.opendev.org/#/c/710782/ to mark these tests as stable again so that we can properly judge their stability now that the py3 transition is over.","commit_id":"3573ca6260a6345db59f4f0c14abd912fa4c8ac2"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"f0c2e039653c064ad25b1feb616f36e06f54bbf3","unresolved":false,"context_lines":[{"line_number":515,"context_line":"                namespace\u003dvm.host.host_namespace)"},{"line_number":516,"context_line":"            vm_tap_device \u003d iptables_firewall.get_hybrid_port_name("},{"line_number":517,"context_line":"                vm.neutron_port[\u0027id\u0027])"},{"line_number":518,"context_line":"            max_retries \u003d 3"},{"line_number":519,"context_line":"            for attempts in range(1, max_retries + 1):"},{"line_number":520,"context_line":"                filter_rules \u003d self.iptables_manager.get_rules_for_table(\u0027raw\u0027)"},{"line_number":521,"context_line":"                if any((vm_tap_device and \u0027--notrack\u0027) in line for"},{"line_number":522,"context_line":"                       line in filter_rules):"},{"line_number":523,"context_line":"                    break"},{"line_number":524,"context_line":"                else:"},{"line_number":525,"context_line":"                    if attempts \u003d\u003d max_retries:"},{"line_number":526,"context_line":"                        raise StatelessRulesNotConfiguredException("},{"line_number":527,"context_line":"                            \"There are no stateless rules configured for \""},{"line_number":528,"context_line":"                            \"interface  %s\" % vm_tap_device)"},{"line_number":529,"context_line":"                    time.sleep(5)"},{"line_number":530,"context_line":""},{"line_number":531,"context_line":"    # NOTE: This can be used after refactor other tests to"},{"line_number":532,"context_line":"    # one scenario one test."}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_53d1ff22","line":529,"range":{"start_line":518,"start_character":0,"end_line":529,"end_character":33},"updated":"2020-03-30 09:08:30.000000000","message":"You can use wait_until_true as I see:\nhttps://opendev.org/openstack/neutron/src/branch/master/neutron/common/utils.py#L689","commit_id":"7c51090988dfc233779754e81e292763fd9e381d"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"6177e143fa922c7fae6134387ff385b48643b595","unresolved":false,"context_lines":[{"line_number":102,"context_line":"            \u0027firewall_driver\u0027: \u0027openvswitch\u0027,"},{"line_number":103,"context_line":"            \u0027l2_agent_type\u0027: constants.AGENT_TYPE_OVS,"},{"line_number":104,"context_line":"            \u0027num_hosts\u0027: 2}),"},{"line_number":105,"context_line":"        (\u0027linuxbridge-iptables\u0027, {"},{"line_number":106,"context_line":"            \u0027firewall_driver\u0027: \u0027iptables\u0027,"},{"line_number":107,"context_line":"            \u0027l2_agent_type\u0027: constants.AGENT_TYPE_LINUXBRIDGE,"},{"line_number":108,"context_line":"            \u0027num_hosts\u0027: 2})]"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    index_to_sg \u003d [0, 0, 1, 2]"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_ec4e3b95","line":108,"range":{"start_line":105,"start_character":8,"end_line":108,"end_character":28},"updated":"2020-04-01 08:26:05.000000000","message":"this scenario was the one that caused the security-group tests failing, am I wrong?","commit_id":"e1a02860d65dfee2b4e2ebb7a6fc17bcd795201b"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"94722b0c3c4430d431227563c4baa72619c4197c","unresolved":false,"context_lines":[{"line_number":102,"context_line":"            \u0027firewall_driver\u0027: \u0027openvswitch\u0027,"},{"line_number":103,"context_line":"            \u0027l2_agent_type\u0027: constants.AGENT_TYPE_OVS,"},{"line_number":104,"context_line":"            \u0027num_hosts\u0027: 2}),"},{"line_number":105,"context_line":"        (\u0027linuxbridge-iptables\u0027, {"},{"line_number":106,"context_line":"            \u0027firewall_driver\u0027: \u0027iptables\u0027,"},{"line_number":107,"context_line":"            \u0027l2_agent_type\u0027: constants.AGENT_TYPE_LINUXBRIDGE,"},{"line_number":108,"context_line":"            \u0027num_hosts\u0027: 2})]"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    index_to_sg \u003d [0, 0, 1, 2]"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_afe385a3","line":108,"range":{"start_line":105,"start_character":8,"end_line":108,"end_character":28},"in_reply_to":"df33271e_afc8a573","updated":"2020-04-01 09:25:05.000000000","message":"I think this is rebase issue from Your side. It was removed some time ago by Nate and it should be removed still. We will bring it back when we will find out why it is unstable.","commit_id":"e1a02860d65dfee2b4e2ebb7a6fc17bcd795201b"},{"author":{"_account_id":31669,"name":"lina He","email":"lina.he@nokia.com","username":"linahe"},"change_message_id":"4839945e87e926f27c621759deecfb1f87a5d03b","unresolved":false,"context_lines":[{"line_number":102,"context_line":"            \u0027firewall_driver\u0027: \u0027openvswitch\u0027,"},{"line_number":103,"context_line":"            \u0027l2_agent_type\u0027: constants.AGENT_TYPE_OVS,"},{"line_number":104,"context_line":"            \u0027num_hosts\u0027: 2}),"},{"line_number":105,"context_line":"        (\u0027linuxbridge-iptables\u0027, {"},{"line_number":106,"context_line":"            \u0027firewall_driver\u0027: \u0027iptables\u0027,"},{"line_number":107,"context_line":"            \u0027l2_agent_type\u0027: constants.AGENT_TYPE_LINUXBRIDGE,"},{"line_number":108,"context_line":"            \u0027num_hosts\u0027: 2})]"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    index_to_sg \u003d [0, 0, 1, 2]"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_f239f6a3","line":108,"range":{"start_line":105,"start_character":8,"end_line":108,"end_character":28},"in_reply_to":"df33271e_afe385a3","updated":"2020-04-01 09:28:53.000000000","message":"Ok, I will remove it.","commit_id":"e1a02860d65dfee2b4e2ebb7a6fc17bcd795201b"},{"author":{"_account_id":31669,"name":"lina He","email":"lina.he@nokia.com","username":"linahe"},"change_message_id":"4a5b29b8a0fd079270f0702fb760e01beed02bfb","unresolved":false,"context_lines":[{"line_number":102,"context_line":"            \u0027firewall_driver\u0027: \u0027openvswitch\u0027,"},{"line_number":103,"context_line":"            \u0027l2_agent_type\u0027: constants.AGENT_TYPE_OVS,"},{"line_number":104,"context_line":"            \u0027num_hosts\u0027: 2}),"},{"line_number":105,"context_line":"        (\u0027linuxbridge-iptables\u0027, {"},{"line_number":106,"context_line":"            \u0027firewall_driver\u0027: \u0027iptables\u0027,"},{"line_number":107,"context_line":"            \u0027l2_agent_type\u0027: constants.AGENT_TYPE_LINUXBRIDGE,"},{"line_number":108,"context_line":"            \u0027num_hosts\u0027: 2})]"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    index_to_sg \u003d [0, 0, 1, 2]"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_afc8a573","line":108,"range":{"start_line":105,"start_character":8,"end_line":108,"end_character":28},"in_reply_to":"df33271e_ec4e3b95","updated":"2020-04-01 08:48:59.000000000","message":"This is an unstable scenario. Should I deprecate this scenario?","commit_id":"e1a02860d65dfee2b4e2ebb7a6fc17bcd795201b"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"94722b0c3c4430d431227563c4baa72619c4197c","unresolved":false,"context_lines":[{"line_number":513,"context_line":"        rules are found."},{"line_number":514,"context_line":"        \"\"\""},{"line_number":515,"context_line":"        for vm in vms:"},{"line_number":516,"context_line":"            self.iptables_manager \u003d iptables_manager.IptablesManager("},{"line_number":517,"context_line":"                namespace\u003dvm.host.host_namespace)"},{"line_number":518,"context_line":"            vm_tap_device \u003d iptables_firewall.get_hybrid_port_name("},{"line_number":519,"context_line":"                vm.neutron_port[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_726cc6cd","line":516,"range":{"start_line":516,"start_character":12,"end_line":516,"end_character":17},"updated":"2020-04-01 09:25:05.000000000","message":"You don\u0027t need to make it class variable, it can be passed as an argument to _is_stateless_configured","commit_id":"e1a02860d65dfee2b4e2ebb7a6fc17bcd795201b"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"94722b0c3c4430d431227563c4baa72619c4197c","unresolved":false,"context_lines":[{"line_number":523,"context_line":"                    \"There are no stateless rules configured for \""},{"line_number":524,"context_line":"                    \"interface  %s\" % vm_tap_device))"},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"    def _is_stateless_configured(self, vm_tap_device):"},{"line_number":527,"context_line":"        filter_rules \u003d self.iptables_manager.get_rules_for_table(\u0027raw\u0027)"},{"line_number":528,"context_line":"        return any((vm_tap_device and \u0027--notrack\u0027) in line for"},{"line_number":529,"context_line":"                   line in filter_rules)"}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_b2900e97","line":526,"updated":"2020-04-01 09:25:05.000000000","message":"this can be defined as separate function outside of the class if iptables_manager will be passed as parameter to it.","commit_id":"e1a02860d65dfee2b4e2ebb7a6fc17bcd795201b"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"63bf388dc746514725ea39125ee6ae57c50c4cb4","unresolved":false,"context_lines":[{"line_number":310,"context_line":""},{"line_number":311,"context_line":"        # 12. test stateless security groups when firewall driver is iptables"},{"line_number":312,"context_line":"        # or iptables_hybrid."},{"line_number":313,"context_line":"        # TODO(njohnston): Re-add the iptables here once it is # stable"},{"line_number":314,"context_line":"        if self.firewall_driver \u003d\u003d \u0027iptables_hybrid\u0027:"},{"line_number":315,"context_line":"            self._test_stateless_security_groups()"},{"line_number":316,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"df33271e_361dce73","line":313,"range":{"start_line":313,"start_character":63,"end_line":313,"end_character":64},"updated":"2020-04-03 17:17:35.000000000","message":"nit: remove comment character in middle of line","commit_id":"a8456e550fad48a5a3579c9e60fe624a1e1bb57e"}]}
