)]}'
{"nova/network/neutronv2/api.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f0f0d3e5b2734f708bc427735d01b5ea230cf358","unresolved":false,"context_lines":[{"line_number":566,"context_line":""},{"line_number":567,"context_line":"        nets \u003d self._get_available_networks(context, instance.project_id,"},{"line_number":568,"context_line":"                                            net_ids, neutron\u003dneutron)"},{"line_number":569,"context_line":"        if not nets:"},{"line_number":570,"context_line":"            # NOTE(chaochin): If user specifies a network id and the network"},{"line_number":571,"context_line":"            # can not be found, raise NetworkNotFound error."},{"line_number":572,"context_line":"            if requested_networks:"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_620fd42e","line":569,"range":{"start_line":569,"start_character":8,"end_line":569,"end_character":20},"updated":"2016-02-16 03:09:06.000000000","message":"Here.","commit_id":"d90115c3e806f896dc90e226af7b06b21ba92abc"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f0f0d3e5b2734f708bc427735d01b5ea230cf358","unresolved":false,"context_lines":[{"line_number":569,"context_line":"        if not nets:"},{"line_number":570,"context_line":"            # NOTE(chaochin): If user specifies a network id and the network"},{"line_number":571,"context_line":"            # can not be found, raise NetworkNotFound error."},{"line_number":572,"context_line":"            if requested_networks:"},{"line_number":573,"context_line":"                for request in requested_networks:"},{"line_number":574,"context_line":"                    if not request.port_id and request.network_id:"},{"line_number":575,"context_line":"                        raise exception.NetworkNotFound("}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_024ec86e","line":572,"range":{"start_line":572,"start_character":12,"end_line":572,"end_character":34},"updated":"2016-02-16 03:09:06.000000000","message":"This statement is \u0027True\u0027 although address\u003dNone, network_id\u003dNone and port_id\u003dNone.\nBecause requested_networks is NetworkRequestList that has NetworkRequest object(s).\nIMO, it is another bug.","commit_id":"d90115c3e806f896dc90e226af7b06b21ba92abc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9bb9acb26121253ffbb0c03e797cb1c806517a86","unresolved":false,"context_lines":[{"line_number":569,"context_line":"        if not nets:"},{"line_number":570,"context_line":"            # NOTE(chaochin): If user specifies a network id and the network"},{"line_number":571,"context_line":"            # can not be found, raise NetworkNotFound error."},{"line_number":572,"context_line":"            if requested_networks:"},{"line_number":573,"context_line":"                for request in requested_networks:"},{"line_number":574,"context_line":"                    if not request.port_id and request.network_id:"},{"line_number":575,"context_line":"                        raise exception.NetworkNotFound("}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_3855e11c","line":572,"range":{"start_line":572,"start_character":12,"end_line":572,"end_character":34},"in_reply_to":"dae33548_024ec86e","updated":"2016-02-16 15:01:00.000000000","message":"I believe that\u0027s what requested_networks.is_single_unspecified is for on L568.","commit_id":"d90115c3e806f896dc90e226af7b06b21ba92abc"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f0f0d3e5b2734f708bc427735d01b5ea230cf358","unresolved":false,"context_lines":[{"line_number":586,"context_line":"            or requested_networks.is_single_unspecified):"},{"line_number":587,"context_line":"            # If no networks were requested and none are available, consider"},{"line_number":588,"context_line":"            # it a bad request."},{"line_number":589,"context_line":"            if not nets:"},{"line_number":590,"context_line":"                raise exception.InterfaceAttachFailedNoNetwork("},{"line_number":591,"context_line":"                    project_id\u003dinstance.project_id)"},{"line_number":592,"context_line":"            # bug/1267723 - if no network is requested and more"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_220dcc37","line":589,"updated":"2016-02-16 03:09:06.000000000","message":"In line 569, there is \u0027if not nets:\u0027 statement.\nSo, IMO, It would be better to move this to there.","commit_id":"d90115c3e806f896dc90e226af7b06b21ba92abc"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"0e56f9ab8febb9909bbda2d3e8bd29e040cbbdcd","unresolved":false,"context_lines":[{"line_number":586,"context_line":"            or requested_networks.is_single_unspecified):"},{"line_number":587,"context_line":"            # If no networks were requested and none are available, consider"},{"line_number":588,"context_line":"            # it a bad request."},{"line_number":589,"context_line":"            if not nets:"},{"line_number":590,"context_line":"                raise exception.InterfaceAttachFailedNoNetwork("},{"line_number":591,"context_line":"                    project_id\u003dinstance.project_id)"},{"line_number":592,"context_line":"            # bug/1267723 - if no network is requested and more"}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_581f535b","line":589,"in_reply_to":"dae33548_220dcc37","updated":"2016-02-24 22:55:04.000000000","message":"Current patch seems straight forward for me because the existence check for multiple ones exists later line(594). So I can see Matt\u0027s feeling.","commit_id":"d90115c3e806f896dc90e226af7b06b21ba92abc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9bb9acb26121253ffbb0c03e797cb1c806517a86","unresolved":false,"context_lines":[{"line_number":586,"context_line":"            or requested_networks.is_single_unspecified):"},{"line_number":587,"context_line":"            # If no networks were requested and none are available, consider"},{"line_number":588,"context_line":"            # it a bad request."},{"line_number":589,"context_line":"            if not nets:"},{"line_number":590,"context_line":"                raise exception.InterfaceAttachFailedNoNetwork("},{"line_number":591,"context_line":"                    project_id\u003dinstance.project_id)"},{"line_number":592,"context_line":"            # bug/1267723 - if no network is requested and more"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_dba66f0f","line":589,"in_reply_to":"dae33548_220dcc37","updated":"2016-02-16 15:01:00.000000000","message":"I\u0027m hesitant to move this into the block above since this block is specifically for the allocate_port_for_instance case when we\u0027re calling allocate_for_instance. It\u0027s a mess that we have all of this logic in allocate_for_instance but I worry that this code is all so fragile that redoing this logic will introduce a regression.","commit_id":"d90115c3e806f896dc90e226af7b06b21ba92abc"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5da3c7b8115332127a0d1075405df232cf268a31","unresolved":false,"context_lines":[{"line_number":596,"context_line":"                         \"ID to be more specific.\")"},{"line_number":597,"context_line":"                raise exception.NetworkAmbiguous(msg)"},{"line_number":598,"context_line":"            ordered_networks.append("},{"line_number":599,"context_line":"                objects.NetworkRequest(network_id\u003dnets[0][\u0027id\u0027]))"},{"line_number":600,"context_line":""},{"line_number":601,"context_line":"        # NOTE(melwitt): check external net attach permission after the"},{"line_number":602,"context_line":"        #                check for ambiguity, there could be another"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_f49db9bc","line":599,"updated":"2016-03-04 10:51:27.000000000","message":"oh, right, I see where we get the index error, makes sense.","commit_id":"d90115c3e806f896dc90e226af7b06b21ba92abc"}]}
