)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"83326bf13ed4656f749bb9de3cbbca1da35393ae","unresolved":false,"context_lines":[{"line_number":11,"context_line":"      Create a Subnet"},{"line_number":12,"context_line":"      Create a Router"},{"line_number":13,"context_line":"      Create router interface with a subnet"},{"line_number":14,"context_line":"        -returns: network, subnet, router"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"   Add test create floating ip with port not reachable"},{"line_number":17,"context_line":"   to external network returns 404"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5a890539_493f3bb4","line":14,"updated":"2014-11-17 15:10:24.000000000","message":"Commit message should be updated too.","commit_id":"92387ce823b9071181818c37c00567f4ca820ac0"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"b57f6f2cd6a9b50c5652c2384cd6ac4dda73bb1b","unresolved":false,"context_lines":[{"line_number":11,"context_line":"      Create a Subnet"},{"line_number":12,"context_line":"      Create a Router"},{"line_number":13,"context_line":"      Create router interface with a subnet"},{"line_number":14,"context_line":"        -returns: network, subnet, router"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"   Add test create floating ip with port not reachable"},{"line_number":17,"context_line":"   to external network returns 404"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5a890539_ac526832","line":14,"in_reply_to":"5a890539_493f3bb4","updated":"2014-11-17 17:55:04.000000000","message":"Done","commit_id":"92387ce823b9071181818c37c00567f4ca820ac0"}],"tempest/api/network/test_floating_ips_negative.py":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"a1fe1d05fe739a42aac8fe783d2f0a4b4924592a","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":105,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":106,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":107,"context_line":"        # Create floating ip"},{"line_number":108,"context_line":"        resp, body \u003d self.client.create_floatingip("},{"line_number":109,"context_line":"            floating_network_id\u003dself.ext_net_id)"},{"line_number":110,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_ee9e79b7","line":107,"updated":"2014-08-01 09:11:47.000000000","message":"Steps with creating network, subnet, router, routrer interface and port are almost the same in this three tests. Suggest to create help function for this steps.","commit_id":"0b0753530c76b986da66cf99b448983d377157de"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"74e0119f378b8411d37ec666e9baa510961bf465","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":105,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":106,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":107,"context_line":"        # Create floating ip"},{"line_number":108,"context_line":"        resp, body \u003d self.client.create_floatingip("},{"line_number":109,"context_line":"            floating_network_id\u003dself.ext_net_id)"},{"line_number":110,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_dc4fe18a","line":107,"in_reply_to":"baada198_ee9e79b7","updated":"2014-08-07 13:47:41.000000000","message":"Thanks for the review .\nSorry for the delay response.\nAdded a helper function:\ndef _create_network_subnet_router(self)","commit_id":"0b0753530c76b986da66cf99b448983d377157de"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"17f90c3edfa88d98272570364da7a0db4c405e83","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        # Create port"},{"line_number":66,"context_line":"        resp, body \u003d self.client.create_port(network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":67,"context_line":"                                             fixed_ips\u003dfixed_ips)"},{"line_number":68,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":69,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":70,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":71,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.create_floatingip,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_066accb2","line":68,"updated":"2014-08-20 13:24:54.000000000","message":"API response success should be not be checked there. See https://review.openstack.org/#/c/114186/7 for reference.","commit_id":"da33a337e8c26fa9d05e1e86ddd5248f24a8cda0"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"cea411b42e70ee566c85fdf41ec059dc5aa1b2fb","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        # Create port"},{"line_number":66,"context_line":"        resp, body \u003d self.client.create_port(network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":67,"context_line":"                                             fixed_ips\u003dfixed_ips)"},{"line_number":68,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":69,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":70,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":71,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.create_floatingip,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_cca393fe","line":68,"in_reply_to":"1abeadc6_066accb2","updated":"2014-08-20 14:12:13.000000000","message":"Thanks for the review:\nDone the changes as per reference","commit_id":"da33a337e8c26fa9d05e1e86ddd5248f24a8cda0"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"17f90c3edfa88d98272570364da7a0db4c405e83","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        # Create port"},{"line_number":83,"context_line":"        resp, body \u003d self.client.create_port(network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":84,"context_line":"                                             fixed_ips\u003dfixed_ips)"},{"line_number":85,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":86,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":87,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":88,"context_line":"        self.assertRaises(exceptions.BadRequest,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_869dfcbe","line":85,"updated":"2014-08-20 13:24:54.000000000","message":"the same","commit_id":"da33a337e8c26fa9d05e1e86ddd5248f24a8cda0"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"cea411b42e70ee566c85fdf41ec059dc5aa1b2fb","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        # Create port"},{"line_number":83,"context_line":"        resp, body \u003d self.client.create_port(network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":84,"context_line":"                                             fixed_ips\u003dfixed_ips)"},{"line_number":85,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":86,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":87,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":88,"context_line":"        self.assertRaises(exceptions.BadRequest,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_eca84fdd","line":85,"in_reply_to":"1abeadc6_869dfcbe","updated":"2014-08-20 14:12:13.000000000","message":"Done!","commit_id":"da33a337e8c26fa9d05e1e86ddd5248f24a8cda0"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"17f90c3edfa88d98272570364da7a0db4c405e83","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        # Create port"},{"line_number":102,"context_line":"        resp, body \u003d self.client.create_port(network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":103,"context_line":"                                             fixed_ips\u003dfixed_ips)"},{"line_number":104,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":105,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":106,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":107,"context_line":"        # Create floating ip"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_e6a870dd","line":104,"updated":"2014-08-20 13:24:54.000000000","message":"the same","commit_id":"da33a337e8c26fa9d05e1e86ddd5248f24a8cda0"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"cea411b42e70ee566c85fdf41ec059dc5aa1b2fb","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        # Create port"},{"line_number":102,"context_line":"        resp, body \u003d self.client.create_port(network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":103,"context_line":"                                             fixed_ips\u003dfixed_ips)"},{"line_number":104,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":105,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":106,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":107,"context_line":"        # Create floating ip"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_0cb10b47","line":104,"in_reply_to":"1abeadc6_e6a870dd","updated":"2014-08-20 14:12:13.000000000","message":"Done!","commit_id":"da33a337e8c26fa9d05e1e86ddd5248f24a8cda0"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"17f90c3edfa88d98272570364da7a0db4c405e83","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        # Create floating ip"},{"line_number":108,"context_line":"        resp, body \u003d self.client.create_floatingip("},{"line_number":109,"context_line":"            floating_network_id\u003dself.ext_net_id)"},{"line_number":110,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":111,"context_line":"        floating_ip \u003d body[\u0027floatingip\u0027]"},{"line_number":112,"context_line":"        self.addCleanup(self.client.delete_floatingip, floating_ip[\u0027id\u0027])"},{"line_number":113,"context_line":"        # Associate floating IP to the other port"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_26aee8e6","line":110,"updated":"2014-08-20 13:24:54.000000000","message":"the same","commit_id":"da33a337e8c26fa9d05e1e86ddd5248f24a8cda0"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"cea411b42e70ee566c85fdf41ec059dc5aa1b2fb","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        # Create floating ip"},{"line_number":108,"context_line":"        resp, body \u003d self.client.create_floatingip("},{"line_number":109,"context_line":"            floating_network_id\u003dself.ext_net_id)"},{"line_number":110,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":111,"context_line":"        floating_ip \u003d body[\u0027floatingip\u0027]"},{"line_number":112,"context_line":"        self.addCleanup(self.client.delete_floatingip, floating_ip[\u0027id\u0027])"},{"line_number":113,"context_line":"        # Associate floating IP to the other port"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_6cb43f35","line":110,"in_reply_to":"1abeadc6_26aee8e6","updated":"2014-08-20 14:12:13.000000000","message":"Done!","commit_id":"da33a337e8c26fa9d05e1e86ddd5248f24a8cda0"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"9f2dc8ea5e78529e615a414720ff04f5273af1db","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        network \u003d self.create_network()"},{"line_number":52,"context_line":"        subnet \u003d self.create_subnet(network)"},{"line_number":53,"context_line":"        router \u003d self.create_router(data_utils.rand_name(\u0027router\u0027))"},{"line_number":54,"context_line":"        self.create_router_interface(router[\u0027id\u0027], subnet[\u0027id\u0027])"},{"line_number":55,"context_line":"        return network, subnet, router"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_efa475bb","line":54,"updated":"2014-11-17 08:49:30.000000000","message":"Why not create network, subnet and  router in resource setup and then use it as self.network, etc?","commit_id":"ac5d9c99948f696aec5a493c2a5af5cde391aae0"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"f022b6596c97f91b8526930bd28c09969d65fa5f","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        network \u003d self.create_network()"},{"line_number":52,"context_line":"        subnet \u003d self.create_subnet(network)"},{"line_number":53,"context_line":"        router \u003d self.create_router(data_utils.rand_name(\u0027router\u0027))"},{"line_number":54,"context_line":"        self.create_router_interface(router[\u0027id\u0027], subnet[\u0027id\u0027])"},{"line_number":55,"context_line":"        return network, subnet, router"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_c3a78cbb","line":54,"in_reply_to":"5a890539_efa475bb","updated":"2014-11-17 14:40:59.000000000","message":"Thanks for the review.\nDone","commit_id":"ac5d9c99948f696aec5a493c2a5af5cde391aae0"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"9f2dc8ea5e78529e615a414720ff04f5273af1db","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        # Find out ips that can be used for tests"},{"line_number":95,"context_line":"        ips \u003d list(netaddr.IPNetwork(subnet[\u0027cidr\u0027]))"},{"line_number":96,"context_line":"        list_ips \u003d [str(ip) for ip in ips[-3:-1]]"},{"line_number":97,"context_line":"        fixed_ips \u003d [{\u0027ip_address\u0027: list_ips[0]}, {\u0027ip_address\u0027: list_ips[1]}]"},{"line_number":98,"context_line":"        # Create port"},{"line_number":99,"context_line":"        _, body \u003d self.client.create_port(network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":100,"context_line":"                                          fixed_ips\u003dfixed_ips)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_efbd55d9","line":97,"updated":"2014-11-17 08:49:30.000000000","message":"Find out ips that can be used for tests is also done in each test, so suggest to move it in help method.","commit_id":"ac5d9c99948f696aec5a493c2a5af5cde391aae0"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"f022b6596c97f91b8526930bd28c09969d65fa5f","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        # Find out ips that can be used for tests"},{"line_number":95,"context_line":"        ips \u003d list(netaddr.IPNetwork(subnet[\u0027cidr\u0027]))"},{"line_number":96,"context_line":"        list_ips \u003d [str(ip) for ip in ips[-3:-1]]"},{"line_number":97,"context_line":"        fixed_ips \u003d [{\u0027ip_address\u0027: list_ips[0]}, {\u0027ip_address\u0027: list_ips[1]}]"},{"line_number":98,"context_line":"        # Create port"},{"line_number":99,"context_line":"        _, body \u003d self.client.create_port(network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":100,"context_line":"                                          fixed_ips\u003dfixed_ips)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_639ed864","line":97,"in_reply_to":"5a890539_efbd55d9","updated":"2014-11-17 14:40:59.000000000","message":"Done","commit_id":"ac5d9c99948f696aec5a493c2a5af5cde391aae0"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"83326bf13ed4656f749bb9de3cbbca1da35393ae","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            raise cls.skipException(msg)"},{"line_number":44,"context_line":"        cls.ext_net_id \u003d CONF.network.public_network_id"},{"line_number":45,"context_line":"        \"\"\"Create a network with a subnet connected to a router."},{"line_number":46,"context_line":"        \"\"\""},{"line_number":47,"context_line":"        cls.network \u003d cls.create_network()"},{"line_number":48,"context_line":"        cls.subnet \u003d cls.create_subnet(cls.network)"},{"line_number":49,"context_line":"        cls.router \u003d cls.create_router(data_utils.rand_name(\u0027router\u0027))"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a890539_49381bd3","line":46,"updated":"2014-11-17 15:10:24.000000000","message":"I think it is better to use just # Create a network with a subnet connected to a router. here","commit_id":"92387ce823b9071181818c37c00567f4ca820ac0"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"b57f6f2cd6a9b50c5652c2384cd6ac4dda73bb1b","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            raise cls.skipException(msg)"},{"line_number":44,"context_line":"        cls.ext_net_id \u003d CONF.network.public_network_id"},{"line_number":45,"context_line":"        \"\"\"Create a network with a subnet connected to a router."},{"line_number":46,"context_line":"        \"\"\""},{"line_number":47,"context_line":"        cls.network \u003d cls.create_network()"},{"line_number":48,"context_line":"        cls.subnet \u003d cls.create_subnet(cls.network)"},{"line_number":49,"context_line":"        cls.router \u003d cls.create_router(data_utils.rand_name(\u0027router\u0027))"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a890539_8c576c25","line":46,"in_reply_to":"5a890539_49381bd3","updated":"2014-11-17 17:55:04.000000000","message":"Done","commit_id":"92387ce823b9071181818c37c00567f4ca820ac0"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b949b20fbda9112e03a420759681e0fd95acafcf","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @classmethod"},{"line_number":39,"context_line":"    def resource_setup(cls):"},{"line_number":40,"context_line":"        super(FloatingIPNegativeTestJSON, cls).resource_setup()"},{"line_number":41,"context_line":"        if not test.is_extension_enabled(\u0027router\u0027, \u0027network\u0027):"},{"line_number":42,"context_line":"            msg \u003d \"router extension not enabled.\""},{"line_number":43,"context_line":"            raise cls.skipException(msg)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_db1e886f","line":40,"updated":"2014-11-17 20:50:08.000000000","message":"I don\u0027t know why to allocate resources before checking skip conditions, but everybody do this. So I just mention it :)","commit_id":"2dadfe0238460e0fa363e775cf28637591ff98f4"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b949b20fbda9112e03a420759681e0fd95acafcf","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        cls.router \u003d cls.create_router(data_utils.rand_name(\u0027router\u0027))"},{"line_number":49,"context_line":"        cls.create_router_interface(cls.router[\u0027id\u0027], cls.subnet[\u0027id\u0027])"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    @classmethod"},{"line_number":52,"context_line":"    def _find_out_fixed_ips(self):"},{"line_number":53,"context_line":"        # Find out ips that can be used for tests"},{"line_number":54,"context_line":"        ips \u003d list(netaddr.IPNetwork(self.subnet[\u0027cidr\u0027]))"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_1bd490bb","line":51,"updated":"2014-11-17 20:50:08.000000000","message":"Do you need \"classmethod\"?","commit_id":"2dadfe0238460e0fa363e775cf28637591ff98f4"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"f21a52a7d4210d0ec8789f4abb3d15a8e42c9ac1","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        cls.router \u003d cls.create_router(data_utils.rand_name(\u0027router\u0027))"},{"line_number":49,"context_line":"        cls.create_router_interface(cls.router[\u0027id\u0027], cls.subnet[\u0027id\u0027])"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    @classmethod"},{"line_number":52,"context_line":"    def _find_out_fixed_ips(self):"},{"line_number":53,"context_line":"        # Find out ips that can be used for tests"},{"line_number":54,"context_line":"        ips \u003d list(netaddr.IPNetwork(self.subnet[\u0027cidr\u0027]))"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_3ba77ea8","line":51,"in_reply_to":"5a890539_1bd490bb","updated":"2014-11-18 08:00:58.000000000","message":"Removed the class method","commit_id":"2dadfe0238460e0fa363e775cf28637591ff98f4"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b949b20fbda9112e03a420759681e0fd95acafcf","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        # Find out ips that can be used for tests"},{"line_number":54,"context_line":"        ips \u003d list(netaddr.IPNetwork(self.subnet[\u0027cidr\u0027]))"},{"line_number":55,"context_line":"        list_ips \u003d [str(ip) for ip in ips[-3:-1]]"},{"line_number":56,"context_line":"        fixed_ips \u003d [{\u0027ip_address\u0027: list_ips[0]}, {\u0027ip_address\u0027: list_ips[1]}]"},{"line_number":57,"context_line":"        return fixed_ips"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_1b38103c","line":56,"updated":"2014-11-17 20:50:08.000000000","message":"I don\u0027t so understand the purpose of this function. You just return always the same 2 last IPs in the subnet? That\u0027s all? If so, you don\u0027t need a function, just a constant.","commit_id":"2dadfe0238460e0fa363e775cf28637591ff98f4"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"f21a52a7d4210d0ec8789f4abb3d15a8e42c9ac1","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        # Find out ips that can be used for tests"},{"line_number":54,"context_line":"        ips \u003d list(netaddr.IPNetwork(self.subnet[\u0027cidr\u0027]))"},{"line_number":55,"context_line":"        list_ips \u003d [str(ip) for ip in ips[-3:-1]]"},{"line_number":56,"context_line":"        fixed_ips \u003d [{\u0027ip_address\u0027: list_ips[0]}, {\u0027ip_address\u0027: list_ips[1]}]"},{"line_number":57,"context_line":"        return fixed_ips"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_9baf927c","line":56,"in_reply_to":"5a890539_1b38103c","updated":"2014-11-18 08:00:58.000000000","message":"I have edited the funtion","commit_id":"2dadfe0238460e0fa363e775cf28637591ff98f4"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b949b20fbda9112e03a420759681e0fd95acafcf","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        ips \u003d list(netaddr.IPNetwork(self.subnet[\u0027cidr\u0027]))"},{"line_number":55,"context_line":"        list_ips \u003d [str(ip) for ip in ips[-3:-1]]"},{"line_number":56,"context_line":"        fixed_ips \u003d [{\u0027ip_address\u0027: list_ips[0]}, {\u0027ip_address\u0027: list_ips[1]}]"},{"line_number":57,"context_line":"        return fixed_ips"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":60,"context_line":"    def test_create_floatingip_with_port_ext_net_unreachable_returns_404(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_7b80348b","line":57,"updated":"2014-11-17 20:50:08.000000000","message":"anyway, comprehensions rulez:\n\n  ips \u003d netaddr.IPNetwork(self.subnet[\u0027cidr\u0027])[-3:-1]\n  return  [{\u0027ip_address\u0027: str(ip)} for ip in ips]","commit_id":"2dadfe0238460e0fa363e775cf28637591ff98f4"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"f21a52a7d4210d0ec8789f4abb3d15a8e42c9ac1","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        ips \u003d list(netaddr.IPNetwork(self.subnet[\u0027cidr\u0027]))"},{"line_number":55,"context_line":"        list_ips \u003d [str(ip) for ip in ips[-3:-1]]"},{"line_number":56,"context_line":"        fixed_ips \u003d [{\u0027ip_address\u0027: list_ips[0]}, {\u0027ip_address\u0027: list_ips[1]}]"},{"line_number":57,"context_line":"        return fixed_ips"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":60,"context_line":"    def test_create_floatingip_with_port_ext_net_unreachable_returns_404(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_bbb28ee2","line":57,"in_reply_to":"5a890539_7b80348b","updated":"2014-11-18 08:00:58.000000000","message":"Done","commit_id":"2dadfe0238460e0fa363e775cf28637591ff98f4"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b949b20fbda9112e03a420759681e0fd95acafcf","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        _, body \u003d self.client.create_port(network_id\u003dself.network[\u0027id\u0027],"},{"line_number":63,"context_line":"                                          fixed_ips\u003dself._find_out_fixed_ips())"},{"line_number":64,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":65,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":66,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.create_floatingip,"},{"line_number":67,"context_line":"                          floating_network_id\u003dself.ext_net_id,"},{"line_number":68,"context_line":"                          port_id\u003dport[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_7bc75464","line":65,"updated":"2014-11-17 20:50:08.000000000","message":"I think it\u0027s better to use built-in create_port from BaseNetworkTest in base.py. Then you don\u0027t need all these 4 lines, just:\n\n  self.create_port(self.network, fixed_ips\u003dself._find_out_fixed_ips())","commit_id":"2dadfe0238460e0fa363e775cf28637591ff98f4"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"f21a52a7d4210d0ec8789f4abb3d15a8e42c9ac1","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        _, body \u003d self.client.create_port(network_id\u003dself.network[\u0027id\u0027],"},{"line_number":63,"context_line":"                                          fixed_ips\u003dself._find_out_fixed_ips())"},{"line_number":64,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":65,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":66,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.create_floatingip,"},{"line_number":67,"context_line":"                          floating_network_id\u003dself.ext_net_id,"},{"line_number":68,"context_line":"                          port_id\u003dport[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_fbc7b642","line":65,"in_reply_to":"5a890539_7bc75464","updated":"2014-11-18 08:00:58.000000000","message":"Using this function call raising the conflict while running other tests.","commit_id":"2dadfe0238460e0fa363e775cf28637591ff98f4"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b949b20fbda9112e03a420759681e0fd95acafcf","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        _, body \u003d self.client.create_port(network_id\u003dself.network[\u0027id\u0027],"},{"line_number":76,"context_line":"                                          fixed_ips\u003dself._find_out_fixed_ips())"},{"line_number":77,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":78,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":79,"context_line":"        self.assertRaises(exceptions.BadRequest,"},{"line_number":80,"context_line":"                          self.client.create_floatingip,"},{"line_number":81,"context_line":"                          floating_network_id\u003dself.network[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_3b0f8c38","line":78,"updated":"2014-11-17 20:50:08.000000000","message":"Ditto","commit_id":"2dadfe0238460e0fa363e775cf28637591ff98f4"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"f21a52a7d4210d0ec8789f4abb3d15a8e42c9ac1","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        _, body \u003d self.client.create_port(network_id\u003dself.network[\u0027id\u0027],"},{"line_number":76,"context_line":"                                          fixed_ips\u003dself._find_out_fixed_ips())"},{"line_number":77,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":78,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":79,"context_line":"        self.assertRaises(exceptions.BadRequest,"},{"line_number":80,"context_line":"                          self.client.create_floatingip,"},{"line_number":81,"context_line":"                          floating_network_id\u003dself.network[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_1bc3a238","line":78,"in_reply_to":"5a890539_3b0f8c38","updated":"2014-11-18 08:00:58.000000000","message":"Using this function call raising the conflict while running other tests","commit_id":"2dadfe0238460e0fa363e775cf28637591ff98f4"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b949b20fbda9112e03a420759681e0fd95acafcf","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        _, body \u003d self.client.create_port(network_id\u003dself.network[\u0027id\u0027],"},{"line_number":90,"context_line":"                                          fixed_ips\u003dself._find_out_fixed_ips())"},{"line_number":91,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":92,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":93,"context_line":"        # Create floating ip"},{"line_number":94,"context_line":"        _, body \u003d self.client.create_floatingip("},{"line_number":95,"context_line":"            floating_network_id\u003dself.ext_net_id)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_5bcff855","line":92,"updated":"2014-11-17 20:50:08.000000000","message":"Ditto","commit_id":"2dadfe0238460e0fa363e775cf28637591ff98f4"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"f21a52a7d4210d0ec8789f4abb3d15a8e42c9ac1","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        _, body \u003d self.client.create_port(network_id\u003dself.network[\u0027id\u0027],"},{"line_number":90,"context_line":"                                          fixed_ips\u003dself._find_out_fixed_ips())"},{"line_number":91,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":92,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":93,"context_line":"        # Create floating ip"},{"line_number":94,"context_line":"        _, body \u003d self.client.create_floatingip("},{"line_number":95,"context_line":"            floating_network_id\u003dself.ext_net_id)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_3bbe9eae","line":92,"in_reply_to":"5a890539_5bcff855","updated":"2014-11-18 08:00:58.000000000","message":"Using this function call raising the conflict while running other tests","commit_id":"2dadfe0238460e0fa363e775cf28637591ff98f4"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b949b20fbda9112e03a420759681e0fd95acafcf","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        _, body \u003d self.client.create_floatingip("},{"line_number":95,"context_line":"            floating_network_id\u003dself.ext_net_id)"},{"line_number":96,"context_line":"        floating_ip \u003d body[\u0027floatingip\u0027]"},{"line_number":97,"context_line":"        self.addCleanup(self.client.delete_floatingip, floating_ip[\u0027id\u0027])"},{"line_number":98,"context_line":"        # Associate floating IP to the other port"},{"line_number":99,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.update_floatingip,"},{"line_number":100,"context_line":"                          floating_ip[\u0027id\u0027], port_id\u003dport[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_3bd4ecea","line":97,"updated":"2014-11-17 20:50:08.000000000","message":"The same about creating floating IP, function create_floatingip form base will cover all these 4 lines","commit_id":"2dadfe0238460e0fa363e775cf28637591ff98f4"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"f21a52a7d4210d0ec8789f4abb3d15a8e42c9ac1","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        _, body \u003d self.client.create_floatingip("},{"line_number":95,"context_line":"            floating_network_id\u003dself.ext_net_id)"},{"line_number":96,"context_line":"        floating_ip \u003d body[\u0027floatingip\u0027]"},{"line_number":97,"context_line":"        self.addCleanup(self.client.delete_floatingip, floating_ip[\u0027id\u0027])"},{"line_number":98,"context_line":"        # Associate floating IP to the other port"},{"line_number":99,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.update_floatingip,"},{"line_number":100,"context_line":"                          floating_ip[\u0027id\u0027], port_id\u003dport[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_3bd5bee4","line":97,"in_reply_to":"5a890539_3bd4ecea","updated":"2014-11-18 08:00:58.000000000","message":"Edited the create floating ip funtion call","commit_id":"2dadfe0238460e0fa363e775cf28637591ff98f4"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"e35f12175beb0e9c9a748f727dcc1823dce8348a","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    def _find_out_fixed_ips(self):"},{"line_number":52,"context_line":"        # Find out ips that can be used for tests"},{"line_number":53,"context_line":"        ips \u003d netaddr.IPNetwork(self.subnet[\u0027cidr\u0027])[-3:-1]"},{"line_number":54,"context_line":"        return [{\u0027ip_address\u0027: str(ip)} for ip in ips]"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":57,"context_line":"    def test_create_floatingip_with_port_ext_net_unreachable_returns_404(self):"}],"source_content_type":"text/x-python","patch_set":10,"id":"5a890539_d0df3067","line":54,"updated":"2014-11-18 13:04:09.000000000","message":"Sorry, but I still don\u0027t understand purpose of this function. Why not to do in \u0027resource_setup\u0027 something like this?\n\n  ips \u003d netaddr.IPNetwork(self.subnet[\u0027cidr\u0027])[-3:-1]\n  self._find_out_fixed_ips \u003d [{\u0027ip_address\u0027: str(ip)} for ip in ips]\n\nand it will be a variable. I don\u0027t see you use it as a function.","commit_id":"72227b46aed9b1daf1e646a24c122332c86415e9"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"11a75cde85eaeab6010c087ca8c3cfbe0ec95c69","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    def _find_out_fixed_ips(self):"},{"line_number":52,"context_line":"        # Find out ips that can be used for tests"},{"line_number":53,"context_line":"        ips \u003d netaddr.IPNetwork(self.subnet[\u0027cidr\u0027])[-3:-1]"},{"line_number":54,"context_line":"        return [{\u0027ip_address\u0027: str(ip)} for ip in ips]"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":57,"context_line":"    def test_create_floatingip_with_port_ext_net_unreachable_returns_404(self):"}],"source_content_type":"text/x-python","patch_set":10,"id":"5a890539_9c705fa5","line":54,"in_reply_to":"5a890539_d0df3067","updated":"2014-11-18 13:30:42.000000000","message":"Thanks for the review.\nIncorporated the changes in the new patch.","commit_id":"72227b46aed9b1daf1e646a24c122332c86415e9"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"6bd40afecdd8f2abe6c8c1f67efbfea0b21f43ae","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        cls.subnet \u003d cls.create_subnet(cls.network)"},{"line_number":48,"context_line":"        cls.router \u003d cls.create_router(data_utils.rand_name(\u0027router\u0027))"},{"line_number":49,"context_line":"        cls.create_router_interface(cls.router[\u0027id\u0027], cls.subnet[\u0027id\u0027])"},{"line_number":50,"context_line":"        ips \u003d netaddr.IPNetwork(cls.subnet[\u0027cidr\u0027])[-3:-1]"},{"line_number":51,"context_line":"        cls._find_out_fixed_ips \u003d [{\u0027ip_address\u0027: str(ip)} for ip in ips]"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_46d7864f","line":50,"updated":"2014-12-02 07:31:53.000000000","message":"this assumes CONF.network.tenant_network_cidr is bigger than 3. this should be checked.\nis the last address reserved for GW?","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"3b22191b70d4abc5b79584a84cf4598764b622ab","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        cls.subnet \u003d cls.create_subnet(cls.network)"},{"line_number":48,"context_line":"        cls.router \u003d cls.create_router(data_utils.rand_name(\u0027router\u0027))"},{"line_number":49,"context_line":"        cls.create_router_interface(cls.router[\u0027id\u0027], cls.subnet[\u0027id\u0027])"},{"line_number":50,"context_line":"        ips \u003d netaddr.IPNetwork(cls.subnet[\u0027cidr\u0027])[-3:-1]"},{"line_number":51,"context_line":"        cls._find_out_fixed_ips \u003d [{\u0027ip_address\u0027: str(ip)} for ip in ips]"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_8fedfa90","line":50,"in_reply_to":"5a890539_46d7864f","updated":"2014-12-02 12:09:13.000000000","message":"Thanks for the review. Modified the test","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"05e6ca0d2da59db08e9e2d80ad5cfdd31dbc9330","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        cls.router \u003d cls.create_router(data_utils.rand_name(\u0027router\u0027))"},{"line_number":49,"context_line":"        cls.create_router_interface(cls.router[\u0027id\u0027], cls.subnet[\u0027id\u0027])"},{"line_number":50,"context_line":"        ips \u003d netaddr.IPNetwork(cls.subnet[\u0027cidr\u0027])[-3:-1]"},{"line_number":51,"context_line":"        cls._find_out_fixed_ips \u003d [{\u0027ip_address\u0027: str(ip)} for ip in ips]"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":54,"context_line":"    def test_create_floatingip_with_port_ext_net_unreachable_returns_404(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_d3ec5af6","line":51,"updated":"2014-11-28 11:28:24.000000000","message":"I think just cls.fixed_ips or cls.fixed_ips_list is better name for this.","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"3b22191b70d4abc5b79584a84cf4598764b622ab","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        cls.router \u003d cls.create_router(data_utils.rand_name(\u0027router\u0027))"},{"line_number":49,"context_line":"        cls.create_router_interface(cls.router[\u0027id\u0027], cls.subnet[\u0027id\u0027])"},{"line_number":50,"context_line":"        ips \u003d netaddr.IPNetwork(cls.subnet[\u0027cidr\u0027])[-3:-1]"},{"line_number":51,"context_line":"        cls._find_out_fixed_ips \u003d [{\u0027ip_address\u0027: str(ip)} for ip in ips]"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":54,"context_line":"    def test_create_floatingip_with_port_ext_net_unreachable_returns_404(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_b44f6f69","line":51,"in_reply_to":"5a890539_0623bea7","updated":"2014-12-02 12:09:13.000000000","message":"Done","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"6bd40afecdd8f2abe6c8c1f67efbfea0b21f43ae","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        cls.router \u003d cls.create_router(data_utils.rand_name(\u0027router\u0027))"},{"line_number":49,"context_line":"        cls.create_router_interface(cls.router[\u0027id\u0027], cls.subnet[\u0027id\u0027])"},{"line_number":50,"context_line":"        ips \u003d netaddr.IPNetwork(cls.subnet[\u0027cidr\u0027])[-3:-1]"},{"line_number":51,"context_line":"        cls._find_out_fixed_ips \u003d [{\u0027ip_address\u0027: str(ip)} for ip in ips]"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":54,"context_line":"    def test_create_floatingip_with_port_ext_net_unreachable_returns_404(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_0623bea7","line":51,"in_reply_to":"5a890539_d3ec5af6","updated":"2014-12-02 07:31:53.000000000","message":"+1","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"3b22191b70d4abc5b79584a84cf4598764b622ab","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        cls.router \u003d cls.create_router(data_utils.rand_name(\u0027router\u0027))"},{"line_number":49,"context_line":"        cls.create_router_interface(cls.router[\u0027id\u0027], cls.subnet[\u0027id\u0027])"},{"line_number":50,"context_line":"        ips \u003d netaddr.IPNetwork(cls.subnet[\u0027cidr\u0027])[-3:-1]"},{"line_number":51,"context_line":"        cls._find_out_fixed_ips \u003d [{\u0027ip_address\u0027: str(ip)} for ip in ips]"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":54,"context_line":"    def test_create_floatingip_with_port_ext_net_unreachable_returns_404(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_944c3378","line":51,"in_reply_to":"5a890539_d3ec5af6","updated":"2014-12-02 12:09:13.000000000","message":"Done","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"6bd40afecdd8f2abe6c8c1f67efbfea0b21f43ae","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        cls._find_out_fixed_ips \u003d [{\u0027ip_address\u0027: str(ip)} for ip in ips]"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":54,"context_line":"    def test_create_floatingip_with_port_ext_net_unreachable_returns_404(self):"},{"line_number":55,"context_line":"        # Create port"},{"line_number":56,"context_line":"        _, body \u003d self.client.create_port(network_id\u003dself.network[\u0027id\u0027],"},{"line_number":57,"context_line":"                                          fixed_ips\u003dself._find_out_fixed_ips)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_6661e2d2","line":54,"updated":"2014-12-02 07:31:53.000000000","message":"name is a too long.\nthe return value is definitely not required.\nWould be nice to have it in a docstring, though","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"3b22191b70d4abc5b79584a84cf4598764b622ab","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        cls._find_out_fixed_ips \u003d [{\u0027ip_address\u0027: str(ip)} for ip in ips]"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":54,"context_line":"    def test_create_floatingip_with_port_ext_net_unreachable_returns_404(self):"},{"line_number":55,"context_line":"        # Create port"},{"line_number":56,"context_line":"        _, body \u003d self.client.create_port(network_id\u003dself.network[\u0027id\u0027],"},{"line_number":57,"context_line":"                                          fixed_ips\u003dself._find_out_fixed_ips)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_aff0f666","line":54,"in_reply_to":"5a890539_6661e2d2","updated":"2014-12-02 12:09:13.000000000","message":"Done","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"6bd40afecdd8f2abe6c8c1f67efbfea0b21f43ae","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    def test_create_floatingip_with_port_ext_net_unreachable_returns_404(self):"},{"line_number":55,"context_line":"        # Create port"},{"line_number":56,"context_line":"        _, body \u003d self.client.create_port(network_id\u003dself.network[\u0027id\u0027],"},{"line_number":57,"context_line":"                                          fixed_ips\u003dself._find_out_fixed_ips)"},{"line_number":58,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":59,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":60,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.create_floatingip,"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_c6d5361c","line":57,"updated":"2014-12-02 07:31:53.000000000","message":"looking here: http://developer.openstack.org/api-ref-networking-v2.html\nseems like \"fixed_ips\" should be a single ip, and not a list. Am I missing something here?","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"3b22191b70d4abc5b79584a84cf4598764b622ab","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    def test_create_floatingip_with_port_ext_net_unreachable_returns_404(self):"},{"line_number":55,"context_line":"        # Create port"},{"line_number":56,"context_line":"        _, body \u003d self.client.create_port(network_id\u003dself.network[\u0027id\u0027],"},{"line_number":57,"context_line":"                                          fixed_ips\u003dself._find_out_fixed_ips)"},{"line_number":58,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":59,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":60,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.create_floatingip,"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_f9d3b0d2","line":57,"in_reply_to":"5a890539_c6d5361c","updated":"2014-12-02 12:09:13.000000000","message":"Its can be list too:\nhttps://wiki.openstack.org/wiki/Neutron/APIv2-specification#Port\nType is defined as list(dict) for fixed_ips attributes for port creation.\nFor this tests we can use either single ips or list of ips.","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"6bd40afecdd8f2abe6c8c1f67efbfea0b21f43ae","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        _, body \u003d self.client.create_port(network_id\u003dself.network[\u0027id\u0027],"},{"line_number":57,"context_line":"                                          fixed_ips\u003dself._find_out_fixed_ips)"},{"line_number":58,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":59,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":60,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.create_floatingip,"},{"line_number":61,"context_line":"                          floating_network_id\u003dself.ext_net_id,"},{"line_number":62,"context_line":"                          port_id\u003dport[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_a62aeae4","line":59,"updated":"2014-12-02 07:31:53.000000000","message":"L55-L59 should are duplicated across all methods.\nthey should be pulled to a single method.\nMaybe even added to setUp(self) or resource_setup(cls)","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"3b22191b70d4abc5b79584a84cf4598764b622ab","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        _, body \u003d self.client.create_port(network_id\u003dself.network[\u0027id\u0027],"},{"line_number":57,"context_line":"                                          fixed_ips\u003dself._find_out_fixed_ips)"},{"line_number":58,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":59,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":60,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.create_floatingip,"},{"line_number":61,"context_line":"                          floating_network_id\u003dself.ext_net_id,"},{"line_number":62,"context_line":"                          port_id\u003dport[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_8f36dab2","line":59,"in_reply_to":"5a890539_a62aeae4","updated":"2014-12-02 12:09:13.000000000","message":"Done","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"6bd40afecdd8f2abe6c8c1f67efbfea0b21f43ae","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.create_floatingip,"},{"line_number":61,"context_line":"                          floating_network_id\u003dself.ext_net_id,"},{"line_number":62,"context_line":"                          port_id\u003dport[\u0027id\u0027],"},{"line_number":63,"context_line":"                          fixed_ip_address\u003dself._find_out_fixed_ips[0]"},{"line_number":64,"context_line":"                          [\u0027ip_address\u0027])"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_e6af927b","line":63,"updated":"2014-12-02 07:31:53.000000000","message":"would be better to send the ip from the actually created port in \"port\" dict (I believe it should be port[\u0027fixed_ip\u0027]).","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"3b22191b70d4abc5b79584a84cf4598764b622ab","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.create_floatingip,"},{"line_number":61,"context_line":"                          floating_network_id\u003dself.ext_net_id,"},{"line_number":62,"context_line":"                          port_id\u003dport[\u0027id\u0027],"},{"line_number":63,"context_line":"                          fixed_ip_address\u003dself._find_out_fixed_ips[0]"},{"line_number":64,"context_line":"                          [\u0027ip_address\u0027])"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_cf40e209","line":63,"in_reply_to":"5a890539_e6af927b","updated":"2014-12-02 12:09:13.000000000","message":"Json structure:\nPort\nu\u0027fixed_ips\u0027: [{u\u0027subnet_id\u0027: u\u0027ID\u0027, u\u0027ip_address\u0027: u\u0027ip_Address\u0027}],","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"6bd40afecdd8f2abe6c8c1f67efbfea0b21f43ae","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                          [\u0027ip_address\u0027])"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":67,"context_line":"    def test_create_floatingip_in_private_network_returns_400(self):"},{"line_number":68,"context_line":"        # Create port"},{"line_number":69,"context_line":"        _, body \u003d self.client.create_port(network_id\u003dself.network[\u0027id\u0027],"},{"line_number":70,"context_line":"                                          fixed_ips\u003dself._find_out_fixed_ips)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_c660d6a6","line":67,"updated":"2014-12-02 07:31:53.000000000","message":"see above comment about the name","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"3b22191b70d4abc5b79584a84cf4598764b622ab","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                          [\u0027ip_address\u0027])"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":67,"context_line":"    def test_create_floatingip_in_private_network_returns_400(self):"},{"line_number":68,"context_line":"        # Create port"},{"line_number":69,"context_line":"        _, body \u003d self.client.create_port(network_id\u003dself.network[\u0027id\u0027],"},{"line_number":70,"context_line":"                                          fixed_ips\u003dself._find_out_fixed_ips)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_0f010a39","line":67,"in_reply_to":"5a890539_c660d6a6","updated":"2014-12-02 12:09:13.000000000","message":"Done","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"6bd40afecdd8f2abe6c8c1f67efbfea0b21f43ae","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                          self.client.create_floatingip,"},{"line_number":75,"context_line":"                          floating_network_id\u003dself.network[\u0027id\u0027],"},{"line_number":76,"context_line":"                          port_id\u003dport[\u0027id\u0027],"},{"line_number":77,"context_line":"                          fixed_ip_address\u003dself._find_out_fixed_ips[0]"},{"line_number":78,"context_line":"                          [\u0027ip_address\u0027])"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_46c4e640","line":77,"updated":"2014-12-02 07:31:53.000000000","message":"see above","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"3b22191b70d4abc5b79584a84cf4598764b622ab","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                          self.client.create_floatingip,"},{"line_number":75,"context_line":"                          floating_network_id\u003dself.network[\u0027id\u0027],"},{"line_number":76,"context_line":"                          port_id\u003dport[\u0027id\u0027],"},{"line_number":77,"context_line":"                          fixed_ip_address\u003dself._find_out_fixed_ips[0]"},{"line_number":78,"context_line":"                          [\u0027ip_address\u0027])"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_8f117ab1","line":77,"in_reply_to":"5a890539_46c4e640","updated":"2014-12-02 12:09:13.000000000","message":"Done","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"6bd40afecdd8f2abe6c8c1f67efbfea0b21f43ae","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":86,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":87,"context_line":"        # Create floating ip"},{"line_number":88,"context_line":"        floating_ip \u003d self.create_floatingip(self.ext_net_id)"},{"line_number":89,"context_line":"        # Associate floating IP to the other port"},{"line_number":90,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.update_floatingip,"},{"line_number":91,"context_line":"                          floating_ip[\u0027id\u0027], port_id\u003dport[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_a603ca74","line":88,"updated":"2014-12-02 07:31:53.000000000","message":"this needs cleanup","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"3b22191b70d4abc5b79584a84cf4598764b622ab","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        port \u003d body[\u0027port\u0027]"},{"line_number":86,"context_line":"        self.addCleanup(self.client.delete_port, port[\u0027id\u0027])"},{"line_number":87,"context_line":"        # Create floating ip"},{"line_number":88,"context_line":"        floating_ip \u003d self.create_floatingip(self.ext_net_id)"},{"line_number":89,"context_line":"        # Associate floating IP to the other port"},{"line_number":90,"context_line":"        self.assertRaises(exceptions.NotFound, self.client.update_floatingip,"},{"line_number":91,"context_line":"                          floating_ip[\u0027id\u0027], port_id\u003dport[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a890539_2ffc063f","line":88,"in_reply_to":"5a890539_a603ca74","updated":"2014-12-02 12:09:13.000000000","message":"Done","commit_id":"e449f58c2428b7dfc8ac68565b914da900bfff69"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"007c6f803f1d7509c8ca23f948438b33ae030446","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":68,"context_line":"    def test_associate_floatingip_port_ext_net_unreachable(self):"},{"line_number":69,"context_line":"        # Create floating ip"},{"line_number":70,"context_line":"        _, body \u003d self.client.create_floatingip("},{"line_number":71,"context_line":"            floating_network_id\u003dself.ext_net_id)"},{"line_number":72,"context_line":"        floating_ip \u003d body[\u0027floatingip\u0027]"},{"line_number":73,"context_line":"        self.addCleanup(self.client.delete_floatingip, floating_ip[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a961159_74451114","line":70,"updated":"2015-01-05 04:39:28.000000000","message":"Here should be changed to\n\n body \u003d self.client.create_floatingip(\n\nbecause I76de07e984f13e3eec4977a4d823d1ef367e8f46 has been merged before this patch.","commit_id":"a88c0bf8e814948496aeb4e7ce7d4fb892a3d549"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"8ffc06c07e9b04805bef437affb183d58d8ebd6d","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027smoke\u0027])"},{"line_number":68,"context_line":"    def test_associate_floatingip_port_ext_net_unreachable(self):"},{"line_number":69,"context_line":"        # Create floating ip"},{"line_number":70,"context_line":"        _, body \u003d self.client.create_floatingip("},{"line_number":71,"context_line":"            floating_network_id\u003dself.ext_net_id)"},{"line_number":72,"context_line":"        floating_ip \u003d body[\u0027floatingip\u0027]"},{"line_number":73,"context_line":"        self.addCleanup(self.client.delete_floatingip, floating_ip[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a961159_42111403","line":70,"in_reply_to":"3a961159_74451114","updated":"2015-01-06 06:28:02.000000000","message":"Thanks for the comment .\nI have edited the code .Please review it.","commit_id":"a88c0bf8e814948496aeb4e7ce7d4fb892a3d549"}]}
