)]}'
{"nova/network/neutronv2/api.py":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"15719d9c80889944b2175d830c4154208d71b408","unresolved":false,"context_lines":[{"line_number":549,"context_line":"            # If no networks were requested and none are available, consider"},{"line_number":550,"context_line":"            # it a bad request."},{"line_number":551,"context_line":"            if not nets:"},{"line_number":552,"context_line":"                # TODO(johngarbutt) this code seems to be unreachable"},{"line_number":553,"context_line":"                raise exception.InterfaceAttachFailedNoNetwork("},{"line_number":554,"context_line":"                    project_id\u003dinstance.project_id)"},{"line_number":555,"context_line":"            # bug/1267723 - if no network is requested and more"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a9d85d2_81181386","line":552,"updated":"2016-06-20 22:33:04.000000000","message":"There is a test case for this:\n\nnova.tests.unit.network.test_neutronv2.TestNeutronv2WithMock.test_allocate_port_for_instance_no_networks","commit_id":"f12dd75136a0b30950244a9d79328cfd32abe289"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4a1c1b50b15b5c8acce48a25162be5a5bcf86755","unresolved":false,"context_lines":[{"line_number":549,"context_line":"            # If no networks were requested and none are available, consider"},{"line_number":550,"context_line":"            # it a bad request."},{"line_number":551,"context_line":"            if not nets:"},{"line_number":552,"context_line":"                # TODO(johngarbutt) this code seems to be unreachable"},{"line_number":553,"context_line":"                raise exception.InterfaceAttachFailedNoNetwork("},{"line_number":554,"context_line":"                    project_id\u003dinstance.project_id)"},{"line_number":555,"context_line":"            # bug/1267723 - if no network is requested and more"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a9d85d2_73916a99","line":552,"in_reply_to":"5a9d85d2_81181386","updated":"2016-06-21 09:23:21.000000000","message":"I think it might be related to the \"requested_networks.is_single_unspecified\", i need to do some more digging around that.","commit_id":"f12dd75136a0b30950244a9d79328cfd32abe289"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"15719d9c80889944b2175d830c4154208d71b408","unresolved":false,"context_lines":[{"line_number":704,"context_line":"        # Store the admin client - this is used later"},{"line_number":705,"context_line":"        admin_client \u003d port_client if neutron !\u003d port_client else None"},{"line_number":706,"context_line":"        LOG.debug(\u0027allocate_for_instance()\u0027, instance\u003dinstance)"},{"line_number":707,"context_line":"        if not instance.project_id:"},{"line_number":708,"context_line":"            msg \u003d _(\u0027empty project id for instance %s\u0027)"},{"line_number":709,"context_line":"            raise exception.InvalidInput("},{"line_number":710,"context_line":"                reason\u003dmsg % instance.uuid)"},{"line_number":711,"context_line":""},{"line_number":712,"context_line":"        preexisting_port_ids \u003d []"},{"line_number":713,"context_line":"        created_port_ids \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a9d85d2_8bbcb26d","line":710,"range":{"start_line":707,"start_character":8,"end_line":710,"end_character":43},"updated":"2016-06-20 22:33:04.000000000","message":"I think these lines need to move early in process. It doesn\u0027t make sense to do anything else if this check fails","commit_id":"f12dd75136a0b30950244a9d79328cfd32abe289"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4a1c1b50b15b5c8acce48a25162be5a5bcf86755","unresolved":false,"context_lines":[{"line_number":704,"context_line":"        # Store the admin client - this is used later"},{"line_number":705,"context_line":"        admin_client \u003d port_client if neutron !\u003d port_client else None"},{"line_number":706,"context_line":"        LOG.debug(\u0027allocate_for_instance()\u0027, instance\u003dinstance)"},{"line_number":707,"context_line":"        if not instance.project_id:"},{"line_number":708,"context_line":"            msg \u003d _(\u0027empty project id for instance %s\u0027)"},{"line_number":709,"context_line":"            raise exception.InvalidInput("},{"line_number":710,"context_line":"                reason\u003dmsg % instance.uuid)"},{"line_number":711,"context_line":""},{"line_number":712,"context_line":"        preexisting_port_ids \u003d []"},{"line_number":713,"context_line":"        created_port_ids \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a9d85d2_93d3365f","line":710,"range":{"start_line":707,"start_character":8,"end_line":710,"end_character":43},"in_reply_to":"5a9d85d2_8bbcb26d","updated":"2016-06-21 09:23:21.000000000","message":"oops, yeah, that got pushed here by accident.","commit_id":"f12dd75136a0b30950244a9d79328cfd32abe289"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"964e16c2de785057bfe4d04eaec337cbf58ba31c","unresolved":false,"context_lines":[{"line_number":798,"context_line":"                                       preexisting_port_ids,"},{"line_number":799,"context_line":"                                       neutron, port_client)"},{"line_number":800,"context_line":"                    self._delete_ports(neutron, instance, created_port_ids)"},{"line_number":801,"context_line":"        nw_info \u003d self.get_instance_nw_info("},{"line_number":802,"context_line":"            context, instance, networks\u003dnets_in_requested_order,"},{"line_number":803,"context_line":"            port_ids\u003dports_in_requested_order,"},{"line_number":804,"context_line":"            admin_client\u003dadmin_client,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3aaa91ec_49c99f25","line":801,"updated":"2016-06-30 17:37:46.000000000","message":"Ideally I think getting the nw_info and populating the NetworkInfo object would be outside of this method. Just return any needed info here and then have these lines in allocate_for_instance above.","commit_id":"c8ca2d67e25f955524d38bbd104c7a6550ae718f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"594dd55b621632c90d12db96e0426d490080dc32","unresolved":false,"context_lines":[{"line_number":798,"context_line":"                                       preexisting_port_ids,"},{"line_number":799,"context_line":"                                       neutron, port_client)"},{"line_number":800,"context_line":"                    self._delete_ports(neutron, instance, created_port_ids)"},{"line_number":801,"context_line":"        nw_info \u003d self.get_instance_nw_info("},{"line_number":802,"context_line":"            context, instance, networks\u003dnets_in_requested_order,"},{"line_number":803,"context_line":"            port_ids\u003dports_in_requested_order,"},{"line_number":804,"context_line":"            admin_client\u003dadmin_client,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3aaa91ec_ed5f97e2","line":801,"in_reply_to":"3aaa91ec_49c99f25","updated":"2016-07-01 09:06:56.000000000","message":"yeah, you are totally correct. I chickened out, but I should do that thing.","commit_id":"c8ca2d67e25f955524d38bbd104c7a6550ae718f"}]}
