)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ea6b6df022dc515065d714aeace54b26b6b2a12b","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add test for mac learning"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This scenario test checks that, even with no DHCP and no port security,"},{"line_number":10,"context_line":"packets are not flooded to every port on the network. This is only"},{"line_number":11,"context_line":"achieved if neutron uses its mac learning capabilities as intended."},{"line_number":12,"context_line":"More information on the mac learning capability available here[0]."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"deb64e6e_a34be7ab","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":53},"updated":"2021-07-01 14:53:27.000000000","message":"That feature works for OVS, OVN and LB. This first comment applies to all those backends.\n\nI think you should divide that from the second part, that is specific for OVN, saying that that was solved in [0], etc.","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"24cd692a7e9fc2422c3e18002510ef0367e12e90","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add test for mac learning"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This scenario test checks that, even with no DHCP and no port security,"},{"line_number":10,"context_line":"packets are not flooded to every port on the network. This is only"},{"line_number":11,"context_line":"achieved if neutron uses its mac learning capabilities as intended."},{"line_number":12,"context_line":"More information on the mac learning capability available here[0]."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5d21c29d_4a71933b","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":53},"in_reply_to":"deb64e6e_a34be7ab","updated":"2021-07-06 19:07:19.000000000","message":"Sure, that makes sense, thanks!!","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ea6b6df022dc515065d714aeace54b26b6b2a12b","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This scenario test checks that, even with no DHCP and no port security,"},{"line_number":10,"context_line":"packets are not flooded to every port on the network. This is only"},{"line_number":11,"context_line":"achieved if neutron uses its mac learning capabilities as intended."},{"line_number":12,"context_line":"More information on the mac learning capability available here[0]."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"[0] https://review.opendev.org/c/openstack/neutron/+/763567"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"61cd1b39_994201cc","line":11,"range":{"start_line":11,"start_character":12,"end_line":11,"end_character":42},"updated":"2021-07-01 14:53:27.000000000","message":"not Neutron but OVN","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"24cd692a7e9fc2422c3e18002510ef0367e12e90","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This scenario test checks that, even with no DHCP and no port security,"},{"line_number":10,"context_line":"packets are not flooded to every port on the network. This is only"},{"line_number":11,"context_line":"achieved if neutron uses its mac learning capabilities as intended."},{"line_number":12,"context_line":"More information on the mac learning capability available here[0]."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"[0] https://review.opendev.org/c/openstack/neutron/+/763567"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"90b78444_c3e60b61","line":11,"range":{"start_line":11,"start_character":12,"end_line":11,"end_character":42},"in_reply_to":"61cd1b39_994201cc","updated":"2021-07-06 19:07:19.000000000","message":"Done","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"}],"neutron_tempest_plugin/scenario/test_mac_learning.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1046e72afe332cbb1c9b7faab7f98d0d3eb0625a","unresolved":true,"context_lines":[{"line_number":155,"context_line":"        \"\"\"Test mac learning works in a network."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        The receiver server will receive all the sent packets."},{"line_number":158,"context_line":"        Even with port securit and DHCP disabled, the other server will not"},{"line_number":159,"context_line":"        receive any packet. This is because the OVN switch can learn the MAC of"},{"line_number":160,"context_line":"        a port and store it on the FDB table."},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"f0654f76_ab4739b6","line":158,"range":{"start_line":158,"start_character":23,"end_line":158,"end_character":30},"updated":"2021-06-25 12:36:19.000000000","message":"nit: security","commit_id":"2e830de968eedf05471b20cabc19cb70037e60b9"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"5ed286b66520d861caa1a169a0de3d715d71c3e6","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        \"\"\"Test mac learning works in a network."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        The receiver server will receive all the sent packets."},{"line_number":158,"context_line":"        Even with port securit and DHCP disabled, the other server will not"},{"line_number":159,"context_line":"        receive any packet. This is because the OVN switch can learn the MAC of"},{"line_number":160,"context_line":"        a port and store it on the FDB table."},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"b5ee83be_aeaf3ea4","line":158,"range":{"start_line":158,"start_character":23,"end_line":158,"end_character":30},"in_reply_to":"f0654f76_ab4739b6","updated":"2021-06-30 15:52:09.000000000","message":"Done","commit_id":"2e830de968eedf05471b20cabc19cb70037e60b9"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1046e72afe332cbb1c9b7faab7f98d0d3eb0625a","unresolved":true,"context_lines":[{"line_number":163,"context_line":"        sender \u003d self._create_server()"},{"line_number":164,"context_line":"        receiver \u003d self._create_server()"},{"line_number":165,"context_line":"        non_receiver \u003d self._create_server()"},{"line_number":166,"context_line":"        self._check_mac_learning(sender\u003dsender, receiver\u003dreceiver,"},{"line_number":167,"context_line":"                                 non_receiver\u003dnon_receiver)"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    def _check_mac_learning(self, sender, receiver, non_receiver):"}],"source_content_type":"text/x-python","patch_set":2,"id":"d5aa81f6_58556968","line":166,"range":{"start_line":166,"start_character":33,"end_line":166,"end_character":40},"updated":"2021-06-25 12:36:19.000000000","message":"very nit: the \"\u003carg\u003e\u003d\" syntax is redundant as _check_mac_learning() have positional arguments","commit_id":"2e830de968eedf05471b20cabc19cb70037e60b9"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"5ed286b66520d861caa1a169a0de3d715d71c3e6","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        sender \u003d self._create_server()"},{"line_number":164,"context_line":"        receiver \u003d self._create_server()"},{"line_number":165,"context_line":"        non_receiver \u003d self._create_server()"},{"line_number":166,"context_line":"        self._check_mac_learning(sender\u003dsender, receiver\u003dreceiver,"},{"line_number":167,"context_line":"                                 non_receiver\u003dnon_receiver)"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    def _check_mac_learning(self, sender, receiver, non_receiver):"}],"source_content_type":"text/x-python","patch_set":2,"id":"78578ef4_c1e819d2","line":166,"range":{"start_line":166,"start_character":33,"end_line":166,"end_character":40},"in_reply_to":"d5aa81f6_58556968","updated":"2021-06-30 15:52:09.000000000","message":"Done","commit_id":"2e830de968eedf05471b20cabc19cb70037e60b9"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1046e72afe332cbb1c9b7faab7f98d0d3eb0625a","unresolved":true,"context_lines":[{"line_number":167,"context_line":"                                 non_receiver\u003dnon_receiver)"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    def _check_mac_learning(self, sender, receiver, non_receiver):"},{"line_number":170,"context_line":"        \"\"\"Test that the OVN mac learning feature works correctly.\"\"\""},{"line_number":171,"context_line":"        def _message_received(client, msg, file_path):"},{"line_number":172,"context_line":"            result \u003d client.execute_script("},{"line_number":173,"context_line":"                \"cat {path} || echo \u0027{path} not exists yet\u0027\".format("}],"source_content_type":"text/x-python","patch_set":2,"id":"fbab545c_948333a3","line":170,"range":{"start_line":170,"start_character":11,"end_line":170,"end_character":28},"updated":"2021-06-25 12:36:19.000000000","message":"Nit: This test is not OVN specific right ? It also runs against other drivers in Neutron. I think we should be more generic in the description","commit_id":"2e830de968eedf05471b20cabc19cb70037e60b9"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"5ed286b66520d861caa1a169a0de3d715d71c3e6","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                                 non_receiver\u003dnon_receiver)"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    def _check_mac_learning(self, sender, receiver, non_receiver):"},{"line_number":170,"context_line":"        \"\"\"Test that the OVN mac learning feature works correctly.\"\"\""},{"line_number":171,"context_line":"        def _message_received(client, msg, file_path):"},{"line_number":172,"context_line":"            result \u003d client.execute_script("},{"line_number":173,"context_line":"                \"cat {path} || echo \u0027{path} not exists yet\u0027\".format("}],"source_content_type":"text/x-python","patch_set":2,"id":"6382f556_abd0f559","line":170,"range":{"start_line":170,"start_character":11,"end_line":170,"end_character":28},"in_reply_to":"fbab545c_948333a3","updated":"2021-06-30 15:52:09.000000000","message":"Done","commit_id":"2e830de968eedf05471b20cabc19cb70037e60b9"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1046e72afe332cbb1c9b7faab7f98d0d3eb0625a","unresolved":true,"context_lines":[{"line_number":225,"context_line":"                \"killall tcpdump \u0026\u0026 sleep 2\", become_root\u003dTrue)"},{"line_number":226,"context_line":"        except exceptions.SSHScriptFailed:"},{"line_number":227,"context_line":"            LOG.debug(\"Killing tcpdump failed\")"},{"line_number":228,"context_line":"            self.assertTrue(check_server_result(non_receiver,"},{"line_number":229,"context_line":"                            non_receiver_expected_result,"},{"line_number":230,"context_line":"                            self.output_file),"},{"line_number":231,"context_line":"                            \u0027Non targeted server received unexpected packets\u0027)"},{"line_number":232,"context_line":"            return"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        utils.wait_until_true("}],"source_content_type":"text/x-python","patch_set":2,"id":"6fa952ad_dd561799","line":231,"range":{"start_line":228,"start_character":0,"end_line":231,"end_character":78},"updated":"2021-06-25 12:36:19.000000000","message":"it\u0027s the same check as L234-238, maybe we just need one ?","commit_id":"2e830de968eedf05471b20cabc19cb70037e60b9"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"5ed286b66520d861caa1a169a0de3d715d71c3e6","unresolved":false,"context_lines":[{"line_number":225,"context_line":"                \"killall tcpdump \u0026\u0026 sleep 2\", become_root\u003dTrue)"},{"line_number":226,"context_line":"        except exceptions.SSHScriptFailed:"},{"line_number":227,"context_line":"            LOG.debug(\"Killing tcpdump failed\")"},{"line_number":228,"context_line":"            self.assertTrue(check_server_result(non_receiver,"},{"line_number":229,"context_line":"                            non_receiver_expected_result,"},{"line_number":230,"context_line":"                            self.output_file),"},{"line_number":231,"context_line":"                            \u0027Non targeted server received unexpected packets\u0027)"},{"line_number":232,"context_line":"            return"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        utils.wait_until_true("}],"source_content_type":"text/x-python","patch_set":2,"id":"f8e7e399_35404292","line":231,"range":{"start_line":228,"start_character":0,"end_line":231,"end_character":78},"in_reply_to":"6fa952ad_dd561799","updated":"2021-06-30 15:52:09.000000000","message":"Done","commit_id":"2e830de968eedf05471b20cabc19cb70037e60b9"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"1046e72afe332cbb1c9b7faab7f98d0d3eb0625a","unresolved":true,"context_lines":[{"line_number":235,"context_line":"            lambda: check_server_result(non_receiver,"},{"line_number":236,"context_line":"                non_receiver_expected_result, self.output_file),"},{"line_number":237,"context_line":"            exception\u003dRuntimeError("},{"line_number":238,"context_line":"                \u0027Non receiver server did not receive expected packet\u0027))"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"class MacLearningTest(BaseMacLearningTest, base.BaseTempestTestCase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fd240525_96da60f4","line":238,"range":{"start_line":238,"start_character":37,"end_line":238,"end_character":68},"updated":"2021-06-25 12:36:19.000000000","message":"The non-receiver is not expecting any packet, should be the other way around.","commit_id":"2e830de968eedf05471b20cabc19cb70037e60b9"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"5ed286b66520d861caa1a169a0de3d715d71c3e6","unresolved":false,"context_lines":[{"line_number":235,"context_line":"            lambda: check_server_result(non_receiver,"},{"line_number":236,"context_line":"                non_receiver_expected_result, self.output_file),"},{"line_number":237,"context_line":"            exception\u003dRuntimeError("},{"line_number":238,"context_line":"                \u0027Non receiver server did not receive expected packet\u0027))"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"class MacLearningTest(BaseMacLearningTest, base.BaseTempestTestCase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9594f488_03b41f12","line":238,"range":{"start_line":238,"start_character":37,"end_line":238,"end_character":68},"in_reply_to":"fd240525_96da60f4","updated":"2021-06-30 15:52:09.000000000","message":"Done","commit_id":"2e830de968eedf05471b20cabc19cb70037e60b9"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ff0d039ab29cd6254f3bcd9ad58c6dd92b9a5b6a","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2018 Red Hat, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":4,"id":"38d2ecca_b2e730af","line":1,"updated":"2021-07-01 19:55:41.000000000","message":"nit: please change year :)","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"24cd692a7e9fc2422c3e18002510ef0367e12e90","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2018 Red Hat, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":4,"id":"0372bdc8_a1db9f9f","line":1,"in_reply_to":"38d2ecca_b2e730af","updated":"2021-07-06 19:07:19.000000000","message":"Done","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ff0d039ab29cd6254f3bcd9ad58c6dd92b9a5b6a","unresolved":true,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"CONF \u003d config.CONF"},{"line_number":29,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":30,"context_line":"PYTHON3_BIN \u003d \"python3\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# -s0 -l -c5 \u0026\u003e /tmp/tcpdump_out \u0026"}],"source_content_type":"text/x-python","patch_set":4,"id":"57970028_17612f0c","line":30,"updated":"2021-07-01 19:55:41.000000000","message":"same constant is defined in https://github.com/openstack/neutron-tempest-plugin/blob/master/neutron_tempest_plugin/scenario/test_multicast.py#L32 - maybe we could move both to one common place and reuse it?","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"24cd692a7e9fc2422c3e18002510ef0367e12e90","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"CONF \u003d config.CONF"},{"line_number":29,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":30,"context_line":"PYTHON3_BIN \u003d \"python3\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# -s0 -l -c5 \u0026\u003e /tmp/tcpdump_out \u0026"}],"source_content_type":"text/x-python","patch_set":4,"id":"f3850c62_c97f0f24","line":30,"in_reply_to":"57970028_17612f0c","updated":"2021-07-06 19:07:19.000000000","message":"Indeed I think it\u0027s a reminiscent from having used the other test as guide. It is not needed for this test.","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ff0d039ab29cd6254f3bcd9ad58c6dd92b9a5b6a","unresolved":true,"context_lines":[{"line_number":115,"context_line":"                                          self.username,"},{"line_number":116,"context_line":"                                          pkey\u003dself.keypair[\u0027private_key\u0027])"},{"line_number":117,"context_line":"        self._check_cmd_installed_on_server(server[\u0027ssh_client\u0027],"},{"line_number":118,"context_line":"                                            server[\u0027id\u0027], PYTHON3_BIN)"},{"line_number":119,"context_line":"        return server"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def _check_cmd_installed_on_server(self, ssh_client, server_id, cmd):"}],"source_content_type":"text/x-python","patch_set":4,"id":"8869fdf0_f1d38270","line":118,"updated":"2021-07-01 19:55:41.000000000","message":"why You are checking if python3 is installed on guest? I don\u0027t see use of python3 anywhere in that test. It seems You are using bash scripts only","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"24cd692a7e9fc2422c3e18002510ef0367e12e90","unresolved":false,"context_lines":[{"line_number":115,"context_line":"                                          self.username,"},{"line_number":116,"context_line":"                                          pkey\u003dself.keypair[\u0027private_key\u0027])"},{"line_number":117,"context_line":"        self._check_cmd_installed_on_server(server[\u0027ssh_client\u0027],"},{"line_number":118,"context_line":"                                            server[\u0027id\u0027], PYTHON3_BIN)"},{"line_number":119,"context_line":"        return server"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def _check_cmd_installed_on_server(self, ssh_client, server_id, cmd):"}],"source_content_type":"text/x-python","patch_set":4,"id":"393ab02f_97629d1e","line":118,"in_reply_to":"8869fdf0_f1d38270","updated":"2021-07-06 19:07:19.000000000","message":"Done","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ff0d039ab29cd6254f3bcd9ad58c6dd92b9a5b6a","unresolved":true,"context_lines":[{"line_number":129,"context_line":"        ssh_client \u003d ssh.Client("},{"line_number":130,"context_line":"             server[\u0027fip\u0027][\u0027floating_ip_address\u0027],"},{"line_number":131,"context_line":"             self.username,"},{"line_number":132,"context_line":"             pkey\u003dself.keypair[\u0027private_key\u0027])"},{"line_number":133,"context_line":"        check_script \u003d get_sender_script(self.sender_output_file, address,"},{"line_number":134,"context_line":"                                         self.completed_message)"},{"line_number":135,"context_line":"        self._check_cmd_installed_on_server(ssh_client, server[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"4551e8c4_c58a01b9","line":132,"updated":"2021-07-01 19:55:41.000000000","message":"You are creating ssh_client for each server in L114 so it\u0027s already available as server[\u0027ssh_client\u0027]. I don\u0027t think there is need to create new instance here","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"24cd692a7e9fc2422c3e18002510ef0367e12e90","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        ssh_client \u003d ssh.Client("},{"line_number":130,"context_line":"             server[\u0027fip\u0027][\u0027floating_ip_address\u0027],"},{"line_number":131,"context_line":"             self.username,"},{"line_number":132,"context_line":"             pkey\u003dself.keypair[\u0027private_key\u0027])"},{"line_number":133,"context_line":"        check_script \u003d get_sender_script(self.sender_output_file, address,"},{"line_number":134,"context_line":"                                         self.completed_message)"},{"line_number":135,"context_line":"        self._check_cmd_installed_on_server(ssh_client, server[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"afcfc3b0_da05c9b5","line":132,"in_reply_to":"4551e8c4_c58a01b9","updated":"2021-07-06 19:07:19.000000000","message":"Done","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ff0d039ab29cd6254f3bcd9ad58c6dd92b9a5b6a","unresolved":true,"context_lines":[{"line_number":135,"context_line":"        self._check_cmd_installed_on_server(ssh_client, server[\u0027id\u0027],"},{"line_number":136,"context_line":"                                            \u0027tcpdump\u0027)"},{"line_number":137,"context_line":"        server[\u0027ssh_client\u0027].execute_script("},{"line_number":138,"context_line":"            \u0027echo \"%s\" \u003e /tmp/ping.sh\u0027 % check_script)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def _prepare_listener(self, server, n_packets):"},{"line_number":141,"context_line":"        ssh_client \u003d ssh.Client("}],"source_content_type":"text/x-python","patch_set":4,"id":"8aabe9ad_97d9cd51","line":138,"range":{"start_line":138,"start_character":25,"end_line":138,"end_character":37},"updated":"2021-07-01 19:55:41.000000000","message":"You are using this path in couple of places in that module. Maybe it would be good to define is as simple constant?","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"24cd692a7e9fc2422c3e18002510ef0367e12e90","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        self._check_cmd_installed_on_server(ssh_client, server[\u0027id\u0027],"},{"line_number":136,"context_line":"                                            \u0027tcpdump\u0027)"},{"line_number":137,"context_line":"        server[\u0027ssh_client\u0027].execute_script("},{"line_number":138,"context_line":"            \u0027echo \"%s\" \u003e /tmp/ping.sh\u0027 % check_script)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def _prepare_listener(self, server, n_packets):"},{"line_number":141,"context_line":"        ssh_client \u003d ssh.Client("}],"source_content_type":"text/x-python","patch_set":4,"id":"0bcbfcad_5664d9c8","line":138,"range":{"start_line":138,"start_character":25,"end_line":138,"end_character":37},"in_reply_to":"8aabe9ad_97d9cd51","updated":"2021-07-06 19:07:19.000000000","message":"Done","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ff0d039ab29cd6254f3bcd9ad58c6dd92b9a5b6a","unresolved":true,"context_lines":[{"line_number":141,"context_line":"        ssh_client \u003d ssh.Client("},{"line_number":142,"context_line":"            server[\u0027fip\u0027][\u0027floating_ip_address\u0027],"},{"line_number":143,"context_line":"            self.username,"},{"line_number":144,"context_line":"            pkey\u003dself.keypair[\u0027private_key\u0027])"},{"line_number":145,"context_line":"        check_script \u003d get_receiver_script("},{"line_number":146,"context_line":"            result_file\u003dself.output_file,"},{"line_number":147,"context_line":"            packets_expected\u003dn_packets)"}],"source_content_type":"text/x-python","patch_set":4,"id":"c252d1a2_c1a990dc","line":144,"updated":"2021-07-01 19:55:41.000000000","message":"same here","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"24cd692a7e9fc2422c3e18002510ef0367e12e90","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        ssh_client \u003d ssh.Client("},{"line_number":142,"context_line":"            server[\u0027fip\u0027][\u0027floating_ip_address\u0027],"},{"line_number":143,"context_line":"            self.username,"},{"line_number":144,"context_line":"            pkey\u003dself.keypair[\u0027private_key\u0027])"},{"line_number":145,"context_line":"        check_script \u003d get_receiver_script("},{"line_number":146,"context_line":"            result_file\u003dself.output_file,"},{"line_number":147,"context_line":"            packets_expected\u003dn_packets)"}],"source_content_type":"text/x-python","patch_set":4,"id":"e2ecae55_ca63236c","line":144,"in_reply_to":"c252d1a2_c1a990dc","updated":"2021-07-06 19:07:19.000000000","message":"Done","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ff0d039ab29cd6254f3bcd9ad58c6dd92b9a5b6a","unresolved":true,"context_lines":[{"line_number":148,"context_line":"        self._check_cmd_installed_on_server(ssh_client, server[\u0027id\u0027],"},{"line_number":149,"context_line":"                                            \u0027tcpdump\u0027)"},{"line_number":150,"context_line":"        server[\u0027ssh_client\u0027].execute_script("},{"line_number":151,"context_line":"            \u0027echo \"%s\" \u003e /tmp/traffic.sh\u0027 % check_script)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    @decorators.idempotent_id(\u0027013686ac-23b1-23e4-8361-10b1c98a2861\u0027)"},{"line_number":154,"context_line":"    def test_mac_learning_vms_on_same_network(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"12477775_0309b950","line":151,"range":{"start_line":151,"start_character":25,"end_line":151,"end_character":40},"updated":"2021-07-01 19:55:41.000000000","message":"same comment about constants here","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"24cd692a7e9fc2422c3e18002510ef0367e12e90","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        self._check_cmd_installed_on_server(ssh_client, server[\u0027id\u0027],"},{"line_number":149,"context_line":"                                            \u0027tcpdump\u0027)"},{"line_number":150,"context_line":"        server[\u0027ssh_client\u0027].execute_script("},{"line_number":151,"context_line":"            \u0027echo \"%s\" \u003e /tmp/traffic.sh\u0027 % check_script)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    @decorators.idempotent_id(\u0027013686ac-23b1-23e4-8361-10b1c98a2861\u0027)"},{"line_number":154,"context_line":"    def test_mac_learning_vms_on_same_network(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"475cd98b_3d753958","line":151,"range":{"start_line":151,"start_character":25,"end_line":151,"end_character":40},"in_reply_to":"12477775_0309b950","updated":"2021-07-06 19:07:19.000000000","message":"Done","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ea6b6df022dc515065d714aeace54b26b6b2a12b","unresolved":true,"context_lines":[{"line_number":155,"context_line":"        \"\"\"Test mac learning works in a network."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        The receiver server will receive all the sent packets."},{"line_number":158,"context_line":"        Even with port security and DHCP disabled, the other server will not"},{"line_number":159,"context_line":"        receive any packet. This is because the OVN switch can learn the MAC of"},{"line_number":160,"context_line":"        a port and store it on the FDB table."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        \"\"\""},{"line_number":163,"context_line":"        sender \u003d self._create_server()"}],"source_content_type":"text/x-python","patch_set":4,"id":"8a47cc8d_8bab92eb","line":160,"range":{"start_line":158,"start_character":8,"end_line":160,"end_character":45},"updated":"2021-07-01 14:53:27.000000000","message":"That works in all backends, including OVN that recently merged this patch. I don\u0027t think you should add this comment here but in the commit message. This is too specific for OVN.","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ff0d039ab29cd6254f3bcd9ad58c6dd92b9a5b6a","unresolved":true,"context_lines":[{"line_number":155,"context_line":"        \"\"\"Test mac learning works in a network."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        The receiver server will receive all the sent packets."},{"line_number":158,"context_line":"        Even with port security and DHCP disabled, the other server will not"},{"line_number":159,"context_line":"        receive any packet. This is because the OVN switch can learn the MAC of"},{"line_number":160,"context_line":"        a port and store it on the FDB table."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        \"\"\""},{"line_number":163,"context_line":"        sender \u003d self._create_server()"}],"source_content_type":"text/x-python","patch_set":4,"id":"ed401538_c2e4ca39","line":160,"range":{"start_line":158,"start_character":8,"end_line":160,"end_character":45},"in_reply_to":"8a47cc8d_8bab92eb","updated":"2021-07-01 19:55:41.000000000","message":"+1","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"24cd692a7e9fc2422c3e18002510ef0367e12e90","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        \"\"\"Test mac learning works in a network."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        The receiver server will receive all the sent packets."},{"line_number":158,"context_line":"        Even with port security and DHCP disabled, the other server will not"},{"line_number":159,"context_line":"        receive any packet. This is because the OVN switch can learn the MAC of"},{"line_number":160,"context_line":"        a port and store it on the FDB table."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        \"\"\""},{"line_number":163,"context_line":"        sender \u003d self._create_server()"}],"source_content_type":"text/x-python","patch_set":4,"id":"68216baf_5d264e69","line":160,"range":{"start_line":158,"start_character":8,"end_line":160,"end_character":45},"in_reply_to":"ed401538_c2e4ca39","updated":"2021-07-06 19:07:19.000000000","message":"Done","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ff0d039ab29cd6254f3bcd9ad58c6dd92b9a5b6a","unresolved":true,"context_lines":[{"line_number":163,"context_line":"        sender \u003d self._create_server()"},{"line_number":164,"context_line":"        receiver \u003d self._create_server()"},{"line_number":165,"context_line":"        non_receiver \u003d self._create_server()"},{"line_number":166,"context_line":"        self._check_mac_learning(sender, receiver, non_receiver)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def _check_mac_learning(self, sender, receiver, non_receiver):"},{"line_number":169,"context_line":"        \"\"\"Test that mac learning feature works correctly.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"c24b9856_198eedd5","line":166,"updated":"2021-07-01 19:55:41.000000000","message":"this test method is doing nothing except creating 3 servers and passing them to _check_mac_learning(). Do we need to split it into 2 different methods? Can\u0027t we just have everything in one?","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"24cd692a7e9fc2422c3e18002510ef0367e12e90","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        sender \u003d self._create_server()"},{"line_number":164,"context_line":"        receiver \u003d self._create_server()"},{"line_number":165,"context_line":"        non_receiver \u003d self._create_server()"},{"line_number":166,"context_line":"        self._check_mac_learning(sender, receiver, non_receiver)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def _check_mac_learning(self, sender, receiver, non_receiver):"},{"line_number":169,"context_line":"        \"\"\"Test that mac learning feature works correctly.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"36a532eb_87d41e88","line":166,"in_reply_to":"c24b9856_198eedd5","updated":"2021-07-06 19:07:19.000000000","message":"yes, that makes more sense, thanks!","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ff0d039ab29cd6254f3bcd9ad58c6dd92b9a5b6a","unresolved":true,"context_lines":[{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def _check_mac_learning(self, sender, receiver, non_receiver):"},{"line_number":169,"context_line":"        \"\"\"Test that mac learning feature works correctly.\"\"\""},{"line_number":170,"context_line":"        def _message_received(client, msg, file_path):"},{"line_number":171,"context_line":"            result \u003d client.execute_script("},{"line_number":172,"context_line":"                \"cat {path} || echo \u0027{path} not exists yet\u0027\".format("},{"line_number":173,"context_line":"                    path\u003dfile_path))"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3d435c_300348e3","line":170,"updated":"2021-07-01 19:55:41.000000000","message":"nitty nit: please add empty line between comment line and function def line","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"24cd692a7e9fc2422c3e18002510ef0367e12e90","unresolved":false,"context_lines":[{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def _check_mac_learning(self, sender, receiver, non_receiver):"},{"line_number":169,"context_line":"        \"\"\"Test that mac learning feature works correctly.\"\"\""},{"line_number":170,"context_line":"        def _message_received(client, msg, file_path):"},{"line_number":171,"context_line":"            result \u003d client.execute_script("},{"line_number":172,"context_line":"                \"cat {path} || echo \u0027{path} not exists yet\u0027\".format("},{"line_number":173,"context_line":"                    path\u003dfile_path))"}],"source_content_type":"text/x-python","patch_set":4,"id":"7d1da4b1_3a9a7470","line":170,"in_reply_to":"7a3d435c_300348e3","updated":"2021-07-06 19:07:19.000000000","message":"Done","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ff0d039ab29cd6254f3bcd9ad58c6dd92b9a5b6a","unresolved":true,"context_lines":[{"line_number":185,"context_line":"                \"bash /tmp/traffic.sh\", become_root\u003dTrue)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        # Prepare the server that will make the ping."},{"line_number":188,"context_line":"        target_ip \u003d receiver[\u0027port\u0027][\u0027dns_assignment\u0027][0][\u0027ip_address\u0027]"},{"line_number":189,"context_line":"        self._prepare_sender(sender, address\u003dtarget_ip)"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"        LOG.debug(\"The receiver IP is: %s\", target_ip)"}],"source_content_type":"text/x-python","patch_set":4,"id":"0177e615_9dd95734","line":188,"range":{"start_line":188,"start_character":38,"end_line":188,"end_character":52},"updated":"2021-07-01 19:55:41.000000000","message":"why You get IP from dns_assignment which isn\u0027t always available? Can\u0027t it be taken from \"fixed_ips\"?","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"24cd692a7e9fc2422c3e18002510ef0367e12e90","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                \"bash /tmp/traffic.sh\", become_root\u003dTrue)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        # Prepare the server that will make the ping."},{"line_number":188,"context_line":"        target_ip \u003d receiver[\u0027port\u0027][\u0027dns_assignment\u0027][0][\u0027ip_address\u0027]"},{"line_number":189,"context_line":"        self._prepare_sender(sender, address\u003dtarget_ip)"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"        LOG.debug(\"The receiver IP is: %s\", target_ip)"}],"source_content_type":"text/x-python","patch_set":4,"id":"2dbde674_9a31dcde","line":188,"range":{"start_line":188,"start_character":38,"end_line":188,"end_character":52},"in_reply_to":"0177e615_9dd95734","updated":"2021-07-06 19:07:19.000000000","message":"I didn\u0027t know it wouldn\u0027t always be available, thanks!","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ff0d039ab29cd6254f3bcd9ad58c6dd92b9a5b6a","unresolved":true,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"        # Check if the message was sent."},{"line_number":197,"context_line":"        utils.wait_until_true("},{"line_number":198,"context_line":"                lambda: _message_received("},{"line_number":199,"context_line":"                    sender[\u0027ssh_client\u0027], self.completed_message,"},{"line_number":200,"context_line":"                    self.sender_output_file),"},{"line_number":201,"context_line":"                exception\u003dRuntimeError("},{"line_number":202,"context_line":"                    \"Sender script wasn\u0027t executed properly\"))"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        def check_server_result(server, expected_result, output_file):"},{"line_number":205,"context_line":"            result \u003d server[\u0027ssh_client\u0027].execute_script("}],"source_content_type":"text/x-python","patch_set":4,"id":"d604c557_3452b73f","line":202,"range":{"start_line":198,"start_character":16,"end_line":202,"end_character":62},"updated":"2021-07-01 19:55:41.000000000","message":"nitty nit: can be 4 spaces less of indentation","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"24cd692a7e9fc2422c3e18002510ef0367e12e90","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"        # Check if the message was sent."},{"line_number":197,"context_line":"        utils.wait_until_true("},{"line_number":198,"context_line":"                lambda: _message_received("},{"line_number":199,"context_line":"                    sender[\u0027ssh_client\u0027], self.completed_message,"},{"line_number":200,"context_line":"                    self.sender_output_file),"},{"line_number":201,"context_line":"                exception\u003dRuntimeError("},{"line_number":202,"context_line":"                    \"Sender script wasn\u0027t executed properly\"))"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        def check_server_result(server, expected_result, output_file):"},{"line_number":205,"context_line":"            result \u003d server[\u0027ssh_client\u0027].execute_script("}],"source_content_type":"text/x-python","patch_set":4,"id":"22edf58c_134bd3cd","line":202,"range":{"start_line":198,"start_character":16,"end_line":202,"end_character":62},"in_reply_to":"d604c557_3452b73f","updated":"2021-07-06 19:07:19.000000000","message":"Done","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ff0d039ab29cd6254f3bcd9ad58c6dd92b9a5b6a","unresolved":true,"context_lines":[{"line_number":201,"context_line":"                exception\u003dRuntimeError("},{"line_number":202,"context_line":"                    \"Sender script wasn\u0027t executed properly\"))"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        def check_server_result(server, expected_result, output_file):"},{"line_number":205,"context_line":"            result \u003d server[\u0027ssh_client\u0027].execute_script("},{"line_number":206,"context_line":"                \"cat {path} || echo \u0027{path} not exists yet\u0027\".format("},{"line_number":207,"context_line":"                    path\u003doutput_file))"},{"line_number":208,"context_line":"            LOG.debug(\"VM result: %s\", result)"},{"line_number":209,"context_line":"            return expected_result in result"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        # Check receiver server"},{"line_number":212,"context_line":"        receiver_expected_result \u003d \u00275 packets captured\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"368f2c9e_d8d6b16b","line":209,"range":{"start_line":204,"start_character":8,"end_line":209,"end_character":44},"updated":"2021-07-01 19:55:41.000000000","message":"it is exactly the same as function _message_received() above, isn\u0027t it?","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"24cd692a7e9fc2422c3e18002510ef0367e12e90","unresolved":false,"context_lines":[{"line_number":201,"context_line":"                exception\u003dRuntimeError("},{"line_number":202,"context_line":"                    \"Sender script wasn\u0027t executed properly\"))"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        def check_server_result(server, expected_result, output_file):"},{"line_number":205,"context_line":"            result \u003d server[\u0027ssh_client\u0027].execute_script("},{"line_number":206,"context_line":"                \"cat {path} || echo \u0027{path} not exists yet\u0027\".format("},{"line_number":207,"context_line":"                    path\u003doutput_file))"},{"line_number":208,"context_line":"            LOG.debug(\"VM result: %s\", result)"},{"line_number":209,"context_line":"            return expected_result in result"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        # Check receiver server"},{"line_number":212,"context_line":"        receiver_expected_result \u003d \u00275 packets captured\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"15f4d18c_ecefecf2","line":209,"range":{"start_line":204,"start_character":8,"end_line":209,"end_character":44},"in_reply_to":"368f2c9e_d8d6b16b","updated":"2021-07-06 19:07:19.000000000","message":"Almost, it\u0027s not worth breaking it into two just because of the debug log.","commit_id":"3e4c3d9fc0cc1a762ef3fc5b476f0ff2789b7690"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"17a7a5ccd1c7ef4b5b35daf03e772afdc0879584","unresolved":true,"context_lines":[{"line_number":73,"context_line":"            CONF.neutron_plugin_options.advanced_image_ref or"},{"line_number":74,"context_line":"            CONF.neutron_plugin_options.default_image_is_advanced)"},{"line_number":75,"context_line":"        if not advanced_image_available:"},{"line_number":76,"context_line":"            skip_reason \u003d \"This test require advanced tools for this test\""},{"line_number":77,"context_line":"            raise cls.skipException(skip_reason)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":5,"id":"b76a6c4c_a1b077b2","line":76,"updated":"2021-07-15 07:53:41.000000000","message":"nit: requires\nperhaps: \"This test require advanced tools to be executed\"","commit_id":"238f8135eaaf57ada34331b32ed8b8a50dafb5ec"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"17a7a5ccd1c7ef4b5b35daf03e772afdc0879584","unresolved":true,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"    # IP version specific parameters"},{"line_number":217,"context_line":"    _ip_version \u003d constants.IP_VERSION_4"},{"line_number":218,"context_line":"    any_addresses \u003d constants.IPv4_ANY"}],"source_content_type":"text/x-python","patch_set":5,"id":"6facf3b2_d35d2468","line":218,"range":{"start_line":218,"start_character":4,"end_line":218,"end_character":17},"updated":"2021-07-15 07:53:41.000000000","message":"It is not used","commit_id":"238f8135eaaf57ada34331b32ed8b8a50dafb5ec"}]}
