)]}'
{"tempest/api/network/test_ports.py":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"99887cfeca572f72e72f852cd158f52215546601","unresolved":false,"context_lines":[{"line_number":153,"context_line":"    @test.idempotent_id(\u0027e7fe260b-1e79-4dd3-86d9-bec6a7959fc5\u0027)"},{"line_number":154,"context_line":"    def test_port_list_filter_by_ip(self):"},{"line_number":155,"context_line":"        # Create network and subnet"},{"line_number":156,"context_line":"        network \u003d self.create_network()"},{"line_number":157,"context_line":"        self.addCleanup(self.client.delete_network, network[\u0027id\u0027])"},{"line_number":158,"context_line":"        address \u003d self._get_ipaddress_from_tempest_conf()"},{"line_number":159,"context_line":"        subnet \u003d self.create_subnet(network)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_e8368bb3","line":156,"updated":"2015-06-01 16:01:35.000000000","message":"You are using a class method which also deletes the network at the end of the class. I see other test also does the same thing, but probably it is not necessary.","commit_id":"9a96f433f9d76ac6e6bf86814e5aa8cb0b1b6580"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"6ccb9913d0e086dff3969d1b64758913d4db2816","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        # Create network and subnet"},{"line_number":156,"context_line":"        network \u003d self.create_network()"},{"line_number":157,"context_line":"        self.addCleanup(self.client.delete_network, network[\u0027id\u0027])"},{"line_number":158,"context_line":"        address \u003d self._get_ipaddress_from_tempest_conf()"},{"line_number":159,"context_line":"        subnet \u003d self.create_subnet(network)"},{"line_number":160,"context_line":"        self.addCleanup(self.client.delete_subnet, subnet[\u0027id\u0027])"},{"line_number":161,"context_line":"        # Create two ports specifying a fixed_ips"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_398f4925","line":158,"updated":"2015-06-02 00:07:53.000000000","message":"nit: For simple code, better to move line 158 to line 161 because the \"address\" is used for creating ports, not subnet.","commit_id":"9a96f433f9d76ac6e6bf86814e5aa8cb0b1b6580"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"6ccb9913d0e086dff3969d1b64758913d4db2816","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        subnet \u003d self.create_subnet(network)"},{"line_number":160,"context_line":"        self.addCleanup(self.client.delete_subnet, subnet[\u0027id\u0027])"},{"line_number":161,"context_line":"        # Create two ports specifying a fixed_ips"},{"line_number":162,"context_line":"        fixed_ips_1 \u003d [{\u0027ip_address\u0027: str(address + 3)}]"},{"line_number":163,"context_line":"        port_1 \u003d self.client.create_port(network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":164,"context_line":"                                         fixed_ips\u003dfixed_ips_1)"},{"line_number":165,"context_line":"        self.addCleanup(self.client.delete_port, port_1[\u0027port\u0027][\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_19e24dd6","line":162,"updated":"2015-06-02 00:07:53.000000000","message":"str(address + 3) is used in multiple times in this test for the first fixed_ip, that would be not readable.\n\nHow about defining\n\n _fixed_ip_1 \u003d str(address + 3)\n _fixed_ip_2 \u003d str(address + 4)\n\nand replacing like\n\n fixed_ips_1 \u003d [{\u0027ip_address\u0027: _fixed_ip_1}]\n ..\n fixed_ips \u003d \u0027ip_address\u003d\u0027 + _fixed_ip_1\n ..\n self.assertEqual(ports[0][\u0027fixed_ips\u0027][0][\u0027ip_address\u0027], _fixed_ip_1)","commit_id":"9a96f433f9d76ac6e6bf86814e5aa8cb0b1b6580"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"99887cfeca572f72e72f852cd158f52215546601","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        self.addCleanup(self.client.delete_port, port_2[\u0027port\u0027][\u0027id\u0027])"},{"line_number":170,"context_line":"        # List ports filtered by fixed_ips"},{"line_number":171,"context_line":"        fixed_ips \u003d \u0027ip_address\u003d\u0027 + str(address + 3)"},{"line_number":172,"context_line":"        port_list \u003d self.client.list_ports(fixed_ips\u003dfixed_ips)"},{"line_number":173,"context_line":"        ports \u003d port_list[\u0027ports\u0027]"},{"line_number":174,"context_line":"        self.assertEqual(len(ports), 1)"},{"line_number":175,"context_line":"        self.assertEqual(ports[0][\u0027id\u0027], port_1[\u0027port\u0027][\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_e8cfabb1","line":172,"updated":"2015-06-01 16:01:35.000000000","message":"A shared network which visible to the same user also can have this ip, probably you would like to filtering by network as well.","commit_id":"9a96f433f9d76ac6e6bf86814e5aa8cb0b1b6580"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"5d744a936d504f90fb2276f6ca758c0a8eabef57","unresolved":false,"context_lines":[{"line_number":153,"context_line":"    @test.idempotent_id(\u0027e7fe260b-1e79-4dd3-86d9-bec6a7959fc5\u0027)"},{"line_number":154,"context_line":"    def test_port_list_filter_by_ip(self):"},{"line_number":155,"context_line":"        # Create network and subnet"},{"line_number":156,"context_line":"        network \u003d self.create_network()"},{"line_number":157,"context_line":"        subnet \u003d self.create_subnet(network)"},{"line_number":158,"context_line":"        self.addCleanup(self.client.delete_subnet, subnet[\u0027id\u0027])"},{"line_number":159,"context_line":"        # Create two ports specifying a fixed_ips"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_158c0e7e","line":156,"updated":"2015-06-03 10:45:41.000000000","message":"Why don\u0027t we need a cleanup for the network resource here?","commit_id":"e8dfad95636aed9da0bccd5e79212f9e08174f6b"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"0cc706fac7ca009c3f72a60deca1cf683c029916","unresolved":false,"context_lines":[{"line_number":153,"context_line":"    @test.idempotent_id(\u0027e7fe260b-1e79-4dd3-86d9-bec6a7959fc5\u0027)"},{"line_number":154,"context_line":"    def test_port_list_filter_by_ip(self):"},{"line_number":155,"context_line":"        # Create network and subnet"},{"line_number":156,"context_line":"        network \u003d self.create_network()"},{"line_number":157,"context_line":"        subnet \u003d self.create_subnet(network)"},{"line_number":158,"context_line":"        self.addCleanup(self.client.delete_subnet, subnet[\u0027id\u0027])"},{"line_number":159,"context_line":"        # Create two ports specifying a fixed_ips"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_15a9ae7b","line":156,"in_reply_to":"5afe65bd_158c0e7e","updated":"2015-06-03 10:51:11.000000000","message":"The create_network cleans the network after the test finishes see https://github.com/openstack/tempest/blob/master/tempest/api/network/base.py#L166-L168","commit_id":"e8dfad95636aed9da0bccd5e79212f9e08174f6b"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"410977a5c473c3cd62bb7255534299dfb5b2c356","unresolved":false,"context_lines":[{"line_number":153,"context_line":"    @test.idempotent_id(\u0027e7fe260b-1e79-4dd3-86d9-bec6a7959fc5\u0027)"},{"line_number":154,"context_line":"    def test_port_list_filter_by_ip(self):"},{"line_number":155,"context_line":"        # Create network and subnet"},{"line_number":156,"context_line":"        network \u003d self.create_network()"},{"line_number":157,"context_line":"        subnet \u003d self.create_subnet(network)"},{"line_number":158,"context_line":"        self.addCleanup(self.client.delete_subnet, subnet[\u0027id\u0027])"},{"line_number":159,"context_line":"        # Create two ports specifying a fixed_ips"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_159bee73","line":156,"in_reply_to":"5afe65bd_158c0e7e","updated":"2015-06-03 10:48:52.000000000","message":"The create_network() call registers the network for cleanup at tearDownClass  time.","commit_id":"e8dfad95636aed9da0bccd5e79212f9e08174f6b"}]}
