)]}'
{"neutron/tests/tempest/scenario/base.py":[{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"729502f93ca9821e0b91a056eabf7ce7abbbf84b","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                        server[\u0027server\u0027][\u0027id\u0027])"},{"line_number":88,"context_line":"        return server"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def create_server_wth_fip(self, security_groups, net_port):"},{"line_number":91,"context_line":"        server \u003d self.create_server("},{"line_number":92,"context_line":"            flavor_ref\u003dCONF.compute.flavor_ref,"},{"line_number":93,"context_line":"            image_ref\u003dCONF.compute.image_ref,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff0f0b1f_508aad69","line":90,"range":{"start_line":90,"start_character":53,"end_line":90,"end_character":61},"updated":"2017-05-23 11:22:30.000000000","message":"networks?","commit_id":"9c72ddcf4e1c20190ac78e040503addfcdabfa1c"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"b9a9b1606001cafc7806602a58c27daf89302f09","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                        server[\u0027server\u0027][\u0027id\u0027])"},{"line_number":88,"context_line":"        return server"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def create_server_wth_fip(self, security_groups, net_port):"},{"line_number":91,"context_line":"        server \u003d self.create_server("},{"line_number":92,"context_line":"            flavor_ref\u003dCONF.compute.flavor_ref,"},{"line_number":93,"context_line":"            image_ref\u003dCONF.compute.image_ref,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff0f0b1f_a3ff81a9","line":90,"range":{"start_line":90,"start_character":53,"end_line":90,"end_character":61},"in_reply_to":"ff0f0b1f_508aad69","updated":"2017-05-23 12:15:10.000000000","message":"Done","commit_id":"9c72ddcf4e1c20190ac78e040503addfcdabfa1c"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"729502f93ca9821e0b91a056eabf7ce7abbbf84b","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                                       server[\u0027server\u0027][\u0027id\u0027],"},{"line_number":100,"context_line":"                                       constants.SERVER_STATUS_ACTIVE)"},{"line_number":101,"context_line":"        port \u003d self.client.list_ports("},{"line_number":102,"context_line":"            network_id\u003dself.network[\u0027id\u0027],"},{"line_number":103,"context_line":"            device_id\u003dserver[\u0027server\u0027][\u0027id\u0027])[\u0027ports\u0027][0]"},{"line_number":104,"context_line":"        self.fip \u003d self.create_and_associate_floatingip(port[\u0027id\u0027])"},{"line_number":105,"context_line":"        return server[\u0027server\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff0f0b1f_70ea510f","line":102,"range":{"start_line":102,"start_character":23,"end_line":102,"end_character":41},"updated":"2017-05-23 11:22:30.000000000","message":"Keep the same with the param?","commit_id":"9c72ddcf4e1c20190ac78e040503addfcdabfa1c"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"b9a9b1606001cafc7806602a58c27daf89302f09","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                                       server[\u0027server\u0027][\u0027id\u0027],"},{"line_number":100,"context_line":"                                       constants.SERVER_STATUS_ACTIVE)"},{"line_number":101,"context_line":"        port \u003d self.client.list_ports("},{"line_number":102,"context_line":"            network_id\u003dself.network[\u0027id\u0027],"},{"line_number":103,"context_line":"            device_id\u003dserver[\u0027server\u0027][\u0027id\u0027])[\u0027ports\u0027][0]"},{"line_number":104,"context_line":"        self.fip \u003d self.create_and_associate_floatingip(port[\u0027id\u0027])"},{"line_number":105,"context_line":"        return server[\u0027server\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff0f0b1f_c3e4b50f","line":102,"range":{"start_line":102,"start_character":23,"end_line":102,"end_character":41},"in_reply_to":"ff0f0b1f_70ea510f","updated":"2017-05-23 12:15:10.000000000","message":"Didn\u0027t understand what you mean, please elaborate","commit_id":"9c72ddcf4e1c20190ac78e040503addfcdabfa1c"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"05d5ef85799d38581ec552c22df385c5d256e94b","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                        server[\u0027server\u0027][\u0027id\u0027])"},{"line_number":88,"context_line":"        return server"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def create_server_wth_fip(self, security_groups, networks):"},{"line_number":91,"context_line":"        server \u003d self.create_server("},{"line_number":92,"context_line":"            flavor_ref\u003dCONF.compute.flavor_ref,"},{"line_number":93,"context_line":"            image_ref\u003dCONF.compute.image_ref,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_28546552","line":90,"range":{"start_line":90,"start_character":22,"end_line":90,"end_character":25},"updated":"2017-05-23 16:26:21.000000000","message":"with","commit_id":"88cdfc4793f3f563161b7818fab65abd3a5fe06b"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"af54df78afe854b10c40e575c0c784ae8288696d","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                        server[\u0027server\u0027][\u0027id\u0027])"},{"line_number":88,"context_line":"        return server"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def create_server_wth_fip(self, security_groups, networks):"},{"line_number":91,"context_line":"        server \u003d self.create_server("},{"line_number":92,"context_line":"            flavor_ref\u003dCONF.compute.flavor_ref,"},{"line_number":93,"context_line":"            image_ref\u003dCONF.compute.image_ref,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_0a874eb7","line":90,"range":{"start_line":90,"start_character":22,"end_line":90,"end_character":25},"in_reply_to":"ff0f0b1f_28546552","updated":"2017-05-23 21:03:07.000000000","message":"Done","commit_id":"88cdfc4793f3f563161b7818fab65abd3a5fe06b"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"1a5ebdfe2ae8e6806ae1ad4b05a6ae254c8ffc0d","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                                       server[\u0027server\u0027][\u0027id\u0027],"},{"line_number":100,"context_line":"                                       constants.SERVER_STATUS_ACTIVE)"},{"line_number":101,"context_line":"        port \u003d self.client.list_ports("},{"line_number":102,"context_line":"            network_id\u003dself.network[\u0027id\u0027],"},{"line_number":103,"context_line":"            device_id\u003dserver[\u0027server\u0027][\u0027id\u0027])[\u0027ports\u0027][0]"},{"line_number":104,"context_line":"        self.fip \u003d self.create_and_associate_floatingip(port[\u0027id\u0027])"},{"line_number":105,"context_line":"        return server[\u0027server\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_db2367a6","line":102,"range":{"start_line":102,"start_character":23,"end_line":102,"end_character":41},"updated":"2017-05-24 01:29:27.000000000","message":"Hi, I mean here network_id should equal to networks\u0027 ID, which \"networks\" pass in function parameter.","commit_id":"01cbe34a204fd58fba016287c3390cc98092b0a3"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"1141b6c6fc034a20e5caadbbf96ac2ae84638463","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                                       server[\u0027server\u0027][\u0027id\u0027],"},{"line_number":100,"context_line":"                                       constants.SERVER_STATUS_ACTIVE)"},{"line_number":101,"context_line":"        port \u003d self.client.list_ports("},{"line_number":102,"context_line":"            network_id\u003dself.network[\u0027id\u0027],"},{"line_number":103,"context_line":"            device_id\u003dserver[\u0027server\u0027][\u0027id\u0027])[\u0027ports\u0027][0]"},{"line_number":104,"context_line":"        self.fip \u003d self.create_and_associate_floatingip(port[\u0027id\u0027])"},{"line_number":105,"context_line":"        return server[\u0027server\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_88447848","line":102,"range":{"start_line":102,"start_character":23,"end_line":102,"end_character":41},"in_reply_to":"ff0f0b1f_2d345e49","updated":"2017-05-24 08:32:55.000000000","message":"um, I known your thoughts here.\nIf \"networks\" is a port, we need to create port before we create server, I have not seen the code.\nAdditional, if networks\u0027 ID is not equal to self.network[\u0027id\u0027], this will fail.","commit_id":"01cbe34a204fd58fba016287c3390cc98092b0a3"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"3898e246017b1cd755f31e5faa3ccb8df8f4a9c4","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                                       server[\u0027server\u0027][\u0027id\u0027],"},{"line_number":100,"context_line":"                                       constants.SERVER_STATUS_ACTIVE)"},{"line_number":101,"context_line":"        port \u003d self.client.list_ports("},{"line_number":102,"context_line":"            network_id\u003dself.network[\u0027id\u0027],"},{"line_number":103,"context_line":"            device_id\u003dserver[\u0027server\u0027][\u0027id\u0027])[\u0027ports\u0027][0]"},{"line_number":104,"context_line":"        self.fip \u003d self.create_and_associate_floatingip(port[\u0027id\u0027])"},{"line_number":105,"context_line":"        return server[\u0027server\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_cdc25085","line":102,"range":{"start_line":102,"start_character":23,"end_line":102,"end_character":41},"in_reply_to":"ff0f0b1f_75e8c37a","updated":"2017-05-25 14:12:12.000000000","message":"This approach is not so good as the id can already be existed in parameter called networks, so why send it twice for such case?\nAs well networks could be a list of network, so how do you know to which one to attach fip?\nMy approach was to have self.network as the network that the fip is attached to, so the user creating networks before calling this function will have self.network as the one he is gonna attach fip to","commit_id":"01cbe34a204fd58fba016287c3390cc98092b0a3"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"bb01c0dfb147e19127de0d119c438fbc5541d1af","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                                       server[\u0027server\u0027][\u0027id\u0027],"},{"line_number":100,"context_line":"                                       constants.SERVER_STATUS_ACTIVE)"},{"line_number":101,"context_line":"        port \u003d self.client.list_ports("},{"line_number":102,"context_line":"            network_id\u003dself.network[\u0027id\u0027],"},{"line_number":103,"context_line":"            device_id\u003dserver[\u0027server\u0027][\u0027id\u0027])[\u0027ports\u0027][0]"},{"line_number":104,"context_line":"        self.fip \u003d self.create_and_associate_floatingip(port[\u0027id\u0027])"},{"line_number":105,"context_line":"        return server[\u0027server\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_a8ef3ce7","line":102,"range":{"start_line":102,"start_character":23,"end_line":102,"end_character":41},"in_reply_to":"ff0f0b1f_88447848","updated":"2017-05-24 08:39:29.000000000","message":"We need to have some assumptions here, my was that network or port are created when calling this function and self.network is the network we want to attach FIP to","commit_id":"01cbe34a204fd58fba016287c3390cc98092b0a3"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"a54a878b2e894a6e2406755c6cffacdec7e991ec","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                                       server[\u0027server\u0027][\u0027id\u0027],"},{"line_number":100,"context_line":"                                       constants.SERVER_STATUS_ACTIVE)"},{"line_number":101,"context_line":"        port \u003d self.client.list_ports("},{"line_number":102,"context_line":"            network_id\u003dself.network[\u0027id\u0027],"},{"line_number":103,"context_line":"            device_id\u003dserver[\u0027server\u0027][\u0027id\u0027])[\u0027ports\u0027][0]"},{"line_number":104,"context_line":"        self.fip \u003d self.create_and_associate_floatingip(port[\u0027id\u0027])"},{"line_number":105,"context_line":"        return server[\u0027server\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_a8fcdc3d","line":102,"range":{"start_line":102,"start_character":23,"end_line":102,"end_character":41},"in_reply_to":"ff0f0b1f_a8ef3ce7","updated":"2017-05-24 08:50:02.000000000","message":"OK, thanks. So we need to check the \"networks\" parameter here as you said.","commit_id":"01cbe34a204fd58fba016287c3390cc98092b0a3"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"217a53171db9f4b026457136f42cff8a629782c7","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                                       server[\u0027server\u0027][\u0027id\u0027],"},{"line_number":100,"context_line":"                                       constants.SERVER_STATUS_ACTIVE)"},{"line_number":101,"context_line":"        port \u003d self.client.list_ports("},{"line_number":102,"context_line":"            network_id\u003dself.network[\u0027id\u0027],"},{"line_number":103,"context_line":"            device_id\u003dserver[\u0027server\u0027][\u0027id\u0027])[\u0027ports\u0027][0]"},{"line_number":104,"context_line":"        self.fip \u003d self.create_and_associate_floatingip(port[\u0027id\u0027])"},{"line_number":105,"context_line":"        return server[\u0027server\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_75e8c37a","line":102,"range":{"start_line":102,"start_character":23,"end_line":102,"end_character":41},"in_reply_to":"ff0f0b1f_a8fcdc3d","updated":"2017-05-25 00:03:02.000000000","message":"I agree with Dongcan. Can we pass network_id and port_id to create_server_with_fip() like the following?\n\n\n def create_server_with_fip(self, security_groups, networks, network_id, port_id\u003dNone):\n\n\nIn this case, we calls create_server_with_fip(security_groups\u003d[{\u0027name\u0027: secgroup[\u0027security_group\u0027][\u0027name\u0027]}], networks\u003d[{\u0027uuid\u0027: self.network[\u0027id\u0027]}], network_id\u003dself.network[\u0027id\u0027]) and then the \"network_id\" is passed into network_id of list_ports(). If port_id is not None, we can skip list_ports() and then pass self.create_and_associate_floatingip() directry. How about the following?\n\n\n if port_id is None:\n     port_id \u003d self.client.list_ports(network_id\u003dnetwork_id, device_id\u003dserver[\u0027server\u0027][\u0027id\u0027])[\u0027ports\u0027][0][\u0027id\u0027]\n  self.fip \u003d self.create_and_associate_floatingip(port_id)","commit_id":"01cbe34a204fd58fba016287c3390cc98092b0a3"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"7cfcb7f94d70b01d9868032f86d3461e4f1cb39c","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                                       server[\u0027server\u0027][\u0027id\u0027],"},{"line_number":100,"context_line":"                                       constants.SERVER_STATUS_ACTIVE)"},{"line_number":101,"context_line":"        port \u003d self.client.list_ports("},{"line_number":102,"context_line":"            network_id\u003dself.network[\u0027id\u0027],"},{"line_number":103,"context_line":"            device_id\u003dserver[\u0027server\u0027][\u0027id\u0027])[\u0027ports\u0027][0]"},{"line_number":104,"context_line":"        self.fip \u003d self.create_and_associate_floatingip(port[\u0027id\u0027])"},{"line_number":105,"context_line":"        return server[\u0027server\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_e2686888","line":102,"range":{"start_line":102,"start_character":23,"end_line":102,"end_character":41},"in_reply_to":"ff0f0b1f_cdc25085","updated":"2017-05-26 05:24:33.000000000","message":"\u003e This approach is not so good as the id can already be existed in parameter called networks, so why send it twice for such case?\n\nBecause \"networks\" is a list of network and we\u0027d like to specify a network attaches fip as your comment. Your approach force function caller to change self.network although caller may not want to change it.","commit_id":"01cbe34a204fd58fba016287c3390cc98092b0a3"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"f8c6525903ec05e159e6da489a67f295967a5d3d","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                                       server[\u0027server\u0027][\u0027id\u0027],"},{"line_number":100,"context_line":"                                       constants.SERVER_STATUS_ACTIVE)"},{"line_number":101,"context_line":"        port \u003d self.client.list_ports("},{"line_number":102,"context_line":"            network_id\u003dself.network[\u0027id\u0027],"},{"line_number":103,"context_line":"            device_id\u003dserver[\u0027server\u0027][\u0027id\u0027])[\u0027ports\u0027][0]"},{"line_number":104,"context_line":"        self.fip \u003d self.create_and_associate_floatingip(port[\u0027id\u0027])"},{"line_number":105,"context_line":"        return server[\u0027server\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_2d345e49","line":102,"range":{"start_line":102,"start_character":23,"end_line":102,"end_character":41},"in_reply_to":"ff0f0b1f_db2367a6","updated":"2017-05-24 08:22:23.000000000","message":"Actually networks can be network or port.\nIn case it\u0027s network, your proposal will work, in case of port it will fail.\nself.network exists as we create it before, that was the reason why I used it.\nThere is an option to check what is in \"networks\" parameter and deal with it accordingly, I am not sure though it\u0027s the correct decision here","commit_id":"01cbe34a204fd58fba016287c3390cc98092b0a3"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"22e3d7d21ea58d7267e8d0ebbbf65877dd6718cc","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        port \u003d self.client.list_ports(network_id\u003dself.network[\u0027id\u0027],"},{"line_number":213,"context_line":"                                     device_id\u003dself.server["},{"line_number":214,"context_line":"                                          \u0027server\u0027][\u0027id\u0027])[\u0027ports\u0027][0]"},{"line_number":215,"context_line":"        self.fip \u003d self.create_and_associate_floatingip(port[\u0027id\u0027])"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def check_connectivity(self, host, ssh_user, ssh_key, servers\u003dNone):"},{"line_number":218,"context_line":"        ssh_client \u003d ssh.Client(host, ssh_user, pkey\u003dssh_key)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_e7cf9726","line":215,"updated":"2017-05-24 14:54:08.000000000","message":"Looks like L203 to here could call the new method?","commit_id":"01cbe34a204fd58fba016287c3390cc98092b0a3"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"07f635dad5d0fcf899537fd97714267322d99e12","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        port \u003d self.client.list_ports(network_id\u003dself.network[\u0027id\u0027],"},{"line_number":213,"context_line":"                                     device_id\u003dself.server["},{"line_number":214,"context_line":"                                          \u0027server\u0027][\u0027id\u0027])[\u0027ports\u0027][0]"},{"line_number":215,"context_line":"        self.fip \u003d self.create_and_associate_floatingip(port[\u0027id\u0027])"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def check_connectivity(self, host, ssh_user, ssh_key, servers\u003dNone):"},{"line_number":218,"context_line":"        ssh_client \u003d ssh.Client(host, ssh_user, pkey\u003dssh_key)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_112082f6","line":215,"in_reply_to":"ff0f0b1f_e7cf9726","updated":"2017-05-24 19:47:18.000000000","message":"Done","commit_id":"01cbe34a204fd58fba016287c3390cc98092b0a3"}]}
