)]}'
{"nova/network/neutronv2/api.py":[{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"2065ebb91bc420d4544cdeeb5cb127cac14575af","unresolved":false,"context_lines":[{"line_number":862,"context_line":""},{"line_number":863,"context_line":"        # TODO(johngarbutt) fake ports return value to make this"},{"line_number":864,"context_line":"        # change as small as possible. Remove in follow up change."},{"line_number":865,"context_line":"        ports \u003d {}"},{"line_number":866,"context_line":"        for processed in processed_requests:"},{"line_number":867,"context_line":"            if processed.is_preexisting_port:"},{"line_number":868,"context_line":"                ports[processed.port_id] \u003d {"},{"line_number":869,"context_line":"                    \"id\": processed.port_id,"},{"line_number":870,"context_line":"                    \"tenant_id\": processed.port_tenant_id,"},{"line_number":871,"context_line":"                    \"network_id\": processed.network_id,"},{"line_number":872,"context_line":"                    \"mac_address\": processed.mac_address,"},{"line_number":873,"context_line":"                }"},{"line_number":874,"context_line":"        ordered_networks \u003d []"},{"line_number":875,"context_line":"        for processed in processed_requests:"},{"line_number":876,"context_line":"            if processed.network_id:"},{"line_number":877,"context_line":"                ordered_networks.append(processed.request)"},{"line_number":878,"context_line":""},{"line_number":879,"context_line":"        nets \u003d self._validate_requested_network_ids("},{"line_number":880,"context_line":"            context, instance, neutron, requested_networks, ordered_networks)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a3c09a3_10896f75","line":877,"range":{"start_line":865,"start_character":8,"end_line":877,"end_character":58},"updated":"2017-01-17 18:11:03.000000000","message":"Why not merge these 2 loops?","commit_id":"eead484bd2e0e46d96ca0eae9f5269e5db9a0643"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c3c8a46cd6e4a1ddbde5c7de00c2628f77db8ae7","unresolved":false,"context_lines":[{"line_number":862,"context_line":""},{"line_number":863,"context_line":"        # TODO(johngarbutt) fake ports return value to make this"},{"line_number":864,"context_line":"        # change as small as possible. Remove in follow up change."},{"line_number":865,"context_line":"        ports \u003d {}"},{"line_number":866,"context_line":"        for processed in processed_requests:"},{"line_number":867,"context_line":"            if processed.is_preexisting_port:"},{"line_number":868,"context_line":"                ports[processed.port_id] \u003d {"},{"line_number":869,"context_line":"                    \"id\": processed.port_id,"},{"line_number":870,"context_line":"                    \"tenant_id\": processed.port_tenant_id,"},{"line_number":871,"context_line":"                    \"network_id\": processed.network_id,"},{"line_number":872,"context_line":"                    \"mac_address\": processed.mac_address,"},{"line_number":873,"context_line":"                }"},{"line_number":874,"context_line":"        ordered_networks \u003d []"},{"line_number":875,"context_line":"        for processed in processed_requests:"},{"line_number":876,"context_line":"            if processed.network_id:"},{"line_number":877,"context_line":"                ordered_networks.append(processed.request)"},{"line_number":878,"context_line":""},{"line_number":879,"context_line":"        nets \u003d self._validate_requested_network_ids("},{"line_number":880,"context_line":"            context, instance, neutron, requested_networks, ordered_networks)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a3c09a3_cf1f19b5","line":877,"range":{"start_line":865,"start_character":8,"end_line":877,"end_character":58},"in_reply_to":"7a3c09a3_10896f75","updated":"2017-01-18 12:35:06.000000000","message":"I think its because I delete them separately, but I totally could combine them, and it would make little difference to the delete.","commit_id":"eead484bd2e0e46d96ca0eae9f5269e5db9a0643"},{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"72867f687541fa28b54c0926bf123e7d6849950a","unresolved":false,"context_lines":[{"line_number":540,"context_line":"        else:"},{"line_number":541,"context_line":"            processed_requests.auto_allocate \u003d False"},{"line_number":542,"context_line":"            processed_requests.no_allocate \u003d False"},{"line_number":543,"context_line":"            processed_requests.is_unspecified \u003d True"},{"line_number":544,"context_line":""},{"line_number":545,"context_line":"        # If we\u0027re asked to auto-allocate the network then there won\u0027t be any"},{"line_number":546,"context_line":"        # ports to lookup, so just return empty processed_requests object."}],"source_content_type":"text/x-python","patch_set":6,"id":"bff0334d_ef04341a","line":543,"updated":"2017-04-11 12:01:31.000000000","message":"nit: Do you think this can be set as default values for ProcessedNetworkRequestList.","commit_id":"87867d40627d6f170291d199176ed688e6c87298"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"85cec5c653a9dcc891d149885c6418b2a00e07c3","unresolved":false,"context_lines":[{"line_number":547,"context_line":"        # Same if we are asked to allocate no networking, or none has been"},{"line_number":548,"context_line":"        # specified."},{"line_number":549,"context_line":"        if (processed_requests.auto_allocate or processed_requests.no_allocate"},{"line_number":550,"context_line":"            or processed_requests.is_unspecified):"},{"line_number":551,"context_line":"            return processed_requests"},{"line_number":552,"context_line":""},{"line_number":553,"context_line":"        for request in requested_networks:"},{"line_number":554,"context_line":"            processed \u003d objects.ProcessedNetworkRequest(request\u003drequest)"}],"source_content_type":"text/x-python","patch_set":6,"id":"dfeb2761_2eeaa974","line":551,"range":{"start_line":550,"start_character":0,"end_line":551,"end_character":37},"updated":"2017-03-31 22:09:19.000000000","message":"nit: please indent the continued line 2 levels, so that it doesn\u0027t align with the block.","commit_id":"87867d40627d6f170291d199176ed688e6c87298"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"85cec5c653a9dcc891d149885c6418b2a00e07c3","unresolved":false,"context_lines":[{"line_number":571,"context_line":"                # Make sure that if the user assigned a value to the port\u0027s"},{"line_number":572,"context_line":"                # dns_name attribute, it is equal to the instance\u0027s"},{"line_number":573,"context_line":"                # hostname"},{"line_number":574,"context_line":"                if port.get(\u0027dns_name\u0027):"},{"line_number":575,"context_line":"                    if port[\u0027dns_name\u0027] !\u003d instance.hostname:"},{"line_number":576,"context_line":"                        raise exception.PortNotUsableDNS("},{"line_number":577,"context_line":"                            port_id\u003drequest.port_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"dfeb2761_ae9239f5","line":574,"range":{"start_line":574,"start_character":19,"end_line":574,"end_character":39},"updated":"2017-03-31 22:09:19.000000000","message":"The canonical way to check for existence of a key is:\n\n    if \u0027dns_name\u0027 in port:","commit_id":"87867d40627d6f170291d199176ed688e6c87298"},{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"72867f687541fa28b54c0926bf123e7d6849950a","unresolved":false,"context_lines":[{"line_number":598,"context_line":"                if not request.network_id:"},{"line_number":599,"context_line":"                    # skip user request if no port_id and no network_id"},{"line_number":600,"context_line":"                    # TODO(johngarbutt) is this possible from API?"},{"line_number":601,"context_line":"                    continue"},{"line_number":602,"context_line":""},{"line_number":603,"context_line":"                processed.is_preexisting_port \u003d False"},{"line_number":604,"context_line":"                # TODO(johngarbutt) not validated network_id, maybe too soon?"}],"source_content_type":"text/x-python","patch_set":6,"id":"bff0334d_2a756a64","line":601,"updated":"2017-04-11 12:01:31.000000000","message":"nit: this looks bad for me, probably filter requested_networks without port and network_id before the cycle would be better.","commit_id":"87867d40627d6f170291d199176ed688e6c87298"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"85cec5c653a9dcc891d149885c6418b2a00e07c3","unresolved":false,"context_lines":[{"line_number":876,"context_line":"                    \"network_id\": processed.network_id,"},{"line_number":877,"context_line":"                    \"mac_address\": processed.mac_address,"},{"line_number":878,"context_line":"                }"},{"line_number":879,"context_line":"        ordered_networks \u003d []"},{"line_number":880,"context_line":"        for processed in processed_requests:"},{"line_number":881,"context_line":"            if processed.network_id:"},{"line_number":882,"context_line":"                ordered_networks.append(processed.request)"},{"line_number":883,"context_line":""},{"line_number":884,"context_line":"        nets \u003d self._validate_requested_network_ids("},{"line_number":885,"context_line":"            context, instance, neutron, requested_networks, ordered_networks)"}],"source_content_type":"text/x-python","patch_set":6,"id":"dfeb2761_0e7245e6","line":882,"range":{"start_line":879,"start_character":0,"end_line":882,"end_character":58},"updated":"2017-03-31 22:09:19.000000000","message":"Simpler:\n\n        ordered_networks \u003d [processed.request for processed in processed_requests\n                if processed.network_id]","commit_id":"87867d40627d6f170291d199176ed688e6c87298"}],"nova/objects/processed_network_request.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"13ba2e8b576d1d3b5dacb17348791cf9b12e8d1e","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        \u0027network_name\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":31,"context_line":"        \u0027network_tenant_id\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":32,"context_line":"        \u0027network_mtu\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":33,"context_line":"        \u0027network_dns_name\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":34,"context_line":"        \u0027network_has_subnets\u0027: fields.BooleanField(nullable\u003dTrue),"},{"line_number":35,"context_line":"        \u0027port_security_enabled\u0027: fields.BooleanField(),"},{"line_number":36,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a57fde8_4403e273","line":33,"range":{"start_line":33,"start_character":9,"end_line":33,"end_character":25},"updated":"2017-01-12 13:57:49.000000000","message":"dns_domain might be better than dns_name here.","commit_id":"eead484bd2e0e46d96ca0eae9f5269e5db9a0643"},{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"72867f687541fa28b54c0926bf123e7d6849950a","unresolved":false,"context_lines":[{"line_number":22,"context_line":"        \u0027request\u0027: fields.ObjectField(\u0027NetworkRequest\u0027),"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"        \u0027port_id\u0027: fields.UUIDField(nullable\u003dTrue),"},{"line_number":25,"context_line":"        \u0027port_tenant_id\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":26,"context_line":"        \u0027mac_address\u0027: fields.MACAddressField(nullable\u003dTrue),"},{"line_number":27,"context_line":"        \u0027network_id\u0027: fields.UUIDField(nullable\u003dTrue),"},{"line_number":28,"context_line":"        \u0027is_preexisting_port\u0027: fields.BooleanField(nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":6,"id":"bff0334d_0f02b83d","line":25,"updated":"2017-04-11 12:01:31.000000000","message":"Isn\u0027t tenant_id UUIDField?","commit_id":"87867d40627d6f170291d199176ed688e6c87298"},{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"72867f687541fa28b54c0926bf123e7d6849950a","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        \u0027is_preexisting_port\u0027: fields.BooleanField(nullable\u003dTrue),"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        \u0027network_name\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":31,"context_line":"        \u0027network_tenant_id\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":32,"context_line":"        \u0027network_mtu\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":33,"context_line":"        \u0027network_dns_name\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":34,"context_line":"        \u0027network_has_subnets\u0027: fields.BooleanField(nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":6,"id":"bff0334d_ef8f94ca","line":31,"updated":"2017-04-11 12:01:31.000000000","message":"and here.","commit_id":"87867d40627d6f170291d199176ed688e6c87298"},{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"72867f687541fa28b54c0926bf123e7d6849950a","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        \u0027network_name\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":31,"context_line":"        \u0027network_tenant_id\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":32,"context_line":"        \u0027network_mtu\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":33,"context_line":"        \u0027network_dns_name\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":34,"context_line":"        \u0027network_has_subnets\u0027: fields.BooleanField(nullable\u003dTrue),"},{"line_number":35,"context_line":"        \u0027port_security_enabled\u0027: fields.BooleanField(),"}],"source_content_type":"text/x-python","patch_set":6,"id":"bff0334d_0f5e3843","line":32,"updated":"2017-04-11 12:01:31.000000000","message":"integer?","commit_id":"87867d40627d6f170291d199176ed688e6c87298"}]}
