)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"87149777980b0e91c9494ec7521dc6986251a6ff","unresolved":false,"context_lines":[{"line_number":2093,"context_line":"            hints \u003d filter_properties.get(\u0027scheduler_hints\u0027) or {}"},{"line_number":2094,"context_line":"        return hints"},{"line_number":2095,"context_line":""},{"line_number":2096,"context_line":"    def _get_request_group_mapping(self, request_spec):"},{"line_number":2097,"context_line":"        \"\"\"Return request group resource - provider mapping. This is currently"},{"line_number":2098,"context_line":"        used for Neutron ports that has resource request due to the port has"},{"line_number":2099,"context_line":"        QoS minimum bandwidth policy rule attached."}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_12b8fdc5","line":2096,"range":{"start_line":2096,"start_character":8,"end_line":2096,"end_character":34},"updated":"2019-02-25 20:08:07.000000000","message":"nit: looks like this could be a staticmethod","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"bcb3865d22be24592f5a67f34daa139394d138d8","unresolved":false,"context_lines":[{"line_number":2093,"context_line":"            hints \u003d filter_properties.get(\u0027scheduler_hints\u0027) or {}"},{"line_number":2094,"context_line":"        return hints"},{"line_number":2095,"context_line":""},{"line_number":2096,"context_line":"    def _get_request_group_mapping(self, request_spec):"},{"line_number":2097,"context_line":"        \"\"\"Return request group resource - provider mapping. This is currently"},{"line_number":2098,"context_line":"        used for Neutron ports that has resource request due to the port has"},{"line_number":2099,"context_line":"        QoS minimum bandwidth policy rule attached."}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_8fe83116","line":2096,"range":{"start_line":2096,"start_character":8,"end_line":2096,"end_character":34},"in_reply_to":"9fdfeff1_12b8fdc5","updated":"2019-02-26 16:16:17.000000000","message":"Done","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"87149777980b0e91c9494ec7521dc6986251a6ff","unresolved":false,"context_lines":[{"line_number":2095,"context_line":""},{"line_number":2096,"context_line":"    def _get_request_group_mapping(self, request_spec):"},{"line_number":2097,"context_line":"        \"\"\"Return request group resource - provider mapping. This is currently"},{"line_number":2098,"context_line":"        used for Neutron ports that has resource request due to the port has"},{"line_number":2099,"context_line":"        QoS minimum bandwidth policy rule attached."},{"line_number":2100,"context_line":""},{"line_number":2101,"context_line":"        :param request_spec: A RequestSpec object"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_b29fb14e","line":2098,"range":{"start_line":2098,"start_character":36,"end_line":2098,"end_character":39},"updated":"2019-02-25 20:08:07.000000000","message":"have","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"87149777980b0e91c9494ec7521dc6986251a6ff","unresolved":false,"context_lines":[{"line_number":2095,"context_line":""},{"line_number":2096,"context_line":"    def _get_request_group_mapping(self, request_spec):"},{"line_number":2097,"context_line":"        \"\"\"Return request group resource - provider mapping. This is currently"},{"line_number":2098,"context_line":"        used for Neutron ports that has resource request due to the port has"},{"line_number":2099,"context_line":"        QoS minimum bandwidth policy rule attached."},{"line_number":2100,"context_line":""},{"line_number":2101,"context_line":"        :param request_spec: A RequestSpec object"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_52a8c576","line":2098,"range":{"start_line":2098,"start_character":73,"end_line":2098,"end_character":76},"updated":"2019-02-25 20:08:07.000000000","message":"having","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"bcb3865d22be24592f5a67f34daa139394d138d8","unresolved":false,"context_lines":[{"line_number":2095,"context_line":""},{"line_number":2096,"context_line":"    def _get_request_group_mapping(self, request_spec):"},{"line_number":2097,"context_line":"        \"\"\"Return request group resource - provider mapping. This is currently"},{"line_number":2098,"context_line":"        used for Neutron ports that has resource request due to the port has"},{"line_number":2099,"context_line":"        QoS minimum bandwidth policy rule attached."},{"line_number":2100,"context_line":""},{"line_number":2101,"context_line":"        :param request_spec: A RequestSpec object"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_2f94a58a","line":2098,"range":{"start_line":2098,"start_character":73,"end_line":2098,"end_character":76},"in_reply_to":"9fdfeff1_52a8c576","updated":"2019-02-26 16:16:17.000000000","message":"Done","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"bcb3865d22be24592f5a67f34daa139394d138d8","unresolved":false,"context_lines":[{"line_number":2095,"context_line":""},{"line_number":2096,"context_line":"    def _get_request_group_mapping(self, request_spec):"},{"line_number":2097,"context_line":"        \"\"\"Return request group resource - provider mapping. This is currently"},{"line_number":2098,"context_line":"        used for Neutron ports that has resource request due to the port has"},{"line_number":2099,"context_line":"        QoS minimum bandwidth policy rule attached."},{"line_number":2100,"context_line":""},{"line_number":2101,"context_line":"        :param request_spec: A RequestSpec object"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_ef89bd6e","line":2098,"range":{"start_line":2098,"start_character":36,"end_line":2098,"end_character":39},"in_reply_to":"9fdfeff1_b29fb14e","updated":"2019-02-26 16:16:17.000000000","message":"Done","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"87149777980b0e91c9494ec7521dc6986251a6ff","unresolved":false,"context_lines":[{"line_number":2099,"context_line":"        QoS minimum bandwidth policy rule attached."},{"line_number":2100,"context_line":""},{"line_number":2101,"context_line":"        :param request_spec: A RequestSpec object"},{"line_number":2102,"context_line":"        :returns: A dict keyed by RequestGroup requirest id, currently Neutron"},{"line_number":2103,"context_line":"        port_id, to resource provider UUID that provides resource for that"},{"line_number":2104,"context_line":"        RequestGroup."},{"line_number":2105,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_72a5c99e","line":2102,"range":{"start_line":2102,"start_character":47,"end_line":2102,"end_character":56},"updated":"2019-02-25 20:08:07.000000000","message":"requester_id","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"bcb3865d22be24592f5a67f34daa139394d138d8","unresolved":false,"context_lines":[{"line_number":2099,"context_line":"        QoS minimum bandwidth policy rule attached."},{"line_number":2100,"context_line":""},{"line_number":2101,"context_line":"        :param request_spec: A RequestSpec object"},{"line_number":2102,"context_line":"        :returns: A dict keyed by RequestGroup requirest id, currently Neutron"},{"line_number":2103,"context_line":"        port_id, to resource provider UUID that provides resource for that"},{"line_number":2104,"context_line":"        RequestGroup."},{"line_number":2105,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_afedf525","line":2102,"range":{"start_line":2102,"start_character":47,"end_line":2102,"end_character":56},"in_reply_to":"9fdfeff1_72a5c99e","updated":"2019-02-26 16:16:17.000000000","message":"Done","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c856595e7c0b071dd1b3c3b183c4bd6278498d38","unresolved":false,"context_lines":[{"line_number":2100,"context_line":"        having QoS minimum bandwidth policy rule attached."},{"line_number":2101,"context_line":""},{"line_number":2102,"context_line":"        :param request_spec: A RequestSpec object"},{"line_number":2103,"context_line":"        :returns: A dict keyed by RequestGroup requester_id, currently Neutron"},{"line_number":2104,"context_line":"        port_id, to resource provider UUID that provides resource for that"},{"line_number":2105,"context_line":"        RequestGroup."},{"line_number":2106,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_0aa4184a","line":2103,"range":{"start_line":2103,"start_character":47,"end_line":2103,"end_character":59},"updated":"2019-02-27 14:38:28.000000000","message":"Meh, there\u0027s not really a thing called requester_id. Really it\u0027s just the odd empty-string/number-ish thing that we use as a key for the request group :) But I suppose \"requester_id\" is as good a term for that as any ;)","commit_id":"33644fbc8ebbca43d4d706d38501314a07ae5e66"}],"nova/conductor/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9ca11150c8e42ffdce64f8fc950097f8f450be24","unresolved":false,"context_lines":[{"line_number":678,"context_line":"                            try:"},{"line_number":679,"context_line":"                                self._fill_provider_mapping("},{"line_number":680,"context_line":"                                    context, instance.uuid, request_spec)"},{"line_number":681,"context_line":"                            except Exception as exc:"},{"line_number":682,"context_line":"                                updates \u003d {\u0027vm_state\u0027: vm_states.ERROR,"},{"line_number":683,"context_line":"                                           \u0027task_state\u0027: None}"},{"line_number":684,"context_line":"                                self._set_vm_state_and_notify("}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_f5b74c20","line":681,"updated":"2019-02-26 17:41:08.000000000","message":"I wasn\u0027t actually asking that we handle this in this follow up - I would actually prefer that we deal with this separately because claim_resources could also fail and we don\u0027t set the instance to ERROR state nor cleanup allocated networks. As I said in the original review I think we should separately split out the while loop code and then we can deal with error handling in isolation, but that\u0027s a bigger refactor.","commit_id":"8d9c231632605a54c6c8b262cf4e510c1a215aea"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f918fb04c7d9950f0c524975c783b6504685bf27","unresolved":false,"context_lines":[{"line_number":678,"context_line":"                            try:"},{"line_number":679,"context_line":"                                self._fill_provider_mapping("},{"line_number":680,"context_line":"                                    context, instance.uuid, request_spec)"},{"line_number":681,"context_line":"                            except Exception as exc:"},{"line_number":682,"context_line":"                                updates \u003d {\u0027vm_state\u0027: vm_states.ERROR,"},{"line_number":683,"context_line":"                                           \u0027task_state\u0027: None}"},{"line_number":684,"context_line":"                                self._set_vm_state_and_notify("}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_01e08896","line":681,"in_reply_to":"9fdfeff1_f5b74c20","updated":"2019-02-27 09:25:17.000000000","message":"OK. I will add a TODO here instead and move this change out to WIP patch. Later on we can do a proper refactor before adding the error handling here.","commit_id":"8d9c231632605a54c6c8b262cf4e510c1a215aea"}],"nova/network/neutronv2/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fac3d16205106557e70b16aad448009b55e3410c","unresolved":false,"context_lines":[{"line_number":674,"context_line":"            for profile_key in (\u0027pci_vendor_info\u0027, \u0027pci_slot\u0027):"},{"line_number":675,"context_line":"                if profile_key in port_profile:"},{"line_number":676,"context_line":"                    del port_profile[profile_key]"},{"line_number":677,"context_line":"            # NOTE(gibi): remove information about the resource allocation"},{"line_number":678,"context_line":"            # of this port"},{"line_number":679,"context_line":"            port_profile.pop(\u0027allocation\u0027, None)"},{"line_number":680,"context_line":"            port_req_body[\u0027port\u0027][BINDING_PROFILE] \u003d port_profile"},{"line_number":681,"context_line":""},{"line_number":682,"context_line":"            # NOTE: For internal DNS integration (network does not have a"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_54a670c3","line":679,"range":{"start_line":677,"start_character":12,"end_line":679,"end_character":48},"updated":"2019-02-25 22:19:38.000000000","message":"Jay pointed this out later but we could just \u0027allocation\u0027 to the generator on L674.","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"bcb3865d22be24592f5a67f34daa139394d138d8","unresolved":false,"context_lines":[{"line_number":674,"context_line":"            for profile_key in (\u0027pci_vendor_info\u0027, \u0027pci_slot\u0027):"},{"line_number":675,"context_line":"                if profile_key in port_profile:"},{"line_number":676,"context_line":"                    del port_profile[profile_key]"},{"line_number":677,"context_line":"            # NOTE(gibi): remove information about the resource allocation"},{"line_number":678,"context_line":"            # of this port"},{"line_number":679,"context_line":"            port_profile.pop(\u0027allocation\u0027, None)"},{"line_number":680,"context_line":"            port_req_body[\u0027port\u0027][BINDING_PROFILE] \u003d port_profile"},{"line_number":681,"context_line":""},{"line_number":682,"context_line":"            # NOTE: For internal DNS integration (network does not have a"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_6ff38d0a","line":679,"range":{"start_line":677,"start_character":12,"end_line":679,"end_character":48},"in_reply_to":"9fdfeff1_54a670c3","updated":"2019-02-26 16:16:17.000000000","message":"Done","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"87149777980b0e91c9494ec7521dc6986251a6ff","unresolved":false,"context_lines":[{"line_number":1039,"context_line":"        :param bind_host_id: the host ID to attach to the ports being created."},{"line_number":1040,"context_line":"        :param attach: Boolean indicating if a port is being attached to an"},{"line_number":1041,"context_line":"            existing running instance. Should be False during server create."},{"line_number":1042,"context_line":"        :param resource_provider_mapping: a dict keyed by ids of the entities"},{"line_number":1043,"context_line":"            (for example Neutron port) requested resources for this instance"},{"line_number":1044,"context_line":"            mapped to a list of resource provider UUIDs that are fulfilling"},{"line_number":1045,"context_line":"            such resource request."},{"line_number":1046,"context_line":"        :returns: network info as from get_instance_nw_info()"},{"line_number":1047,"context_line":"        \"\"\""},{"line_number":1048,"context_line":"        LOG.debug(\u0027allocate_for_instance()\u0027, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_52d685f4","line":1045,"range":{"start_line":1042,"start_character":8,"end_line":1045,"end_character":34},"updated":"2019-02-25 20:08:07.000000000","message":"Missed this:\n\nhttps://review.openstack.org/#/c/616240/32/nova/network/neutronv2/api.py@1039","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"bcb3865d22be24592f5a67f34daa139394d138d8","unresolved":false,"context_lines":[{"line_number":1039,"context_line":"        :param bind_host_id: the host ID to attach to the ports being created."},{"line_number":1040,"context_line":"        :param attach: Boolean indicating if a port is being attached to an"},{"line_number":1041,"context_line":"            existing running instance. Should be False during server create."},{"line_number":1042,"context_line":"        :param resource_provider_mapping: a dict keyed by ids of the entities"},{"line_number":1043,"context_line":"            (for example Neutron port) requested resources for this instance"},{"line_number":1044,"context_line":"            mapped to a list of resource provider UUIDs that are fulfilling"},{"line_number":1045,"context_line":"            such resource request."},{"line_number":1046,"context_line":"        :returns: network info as from get_instance_nw_info()"},{"line_number":1047,"context_line":"        \"\"\""},{"line_number":1048,"context_line":"        LOG.debug(\u0027allocate_for_instance()\u0027, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_0fdc4172","line":1045,"range":{"start_line":1042,"start_character":8,"end_line":1045,"end_character":34},"in_reply_to":"9fdfeff1_52d685f4","updated":"2019-02-26 16:16:17.000000000","message":"Done","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"87149777980b0e91c9494ec7521dc6986251a6ff","unresolved":false,"context_lines":[{"line_number":1360,"context_line":"            binding[\u0027profile\u0027] \u003d profile"},{"line_number":1361,"context_line":"        data \u003d dict(binding\u003dbinding)"},{"line_number":1362,"context_line":""},{"line_number":1363,"context_line":"        # TODO(gibi): to support ports with resource request during server"},{"line_number":1364,"context_line":"        # move operations we need to take care of \u0027allocation\u0027 key in the"},{"line_number":1365,"context_line":"        # binding profile per binding."},{"line_number":1366,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_9255cd52","line":1363,"updated":"2019-02-25 20:08:07.000000000","message":"Is this TODO also meant to cover https://review.openstack.org/#/c/569459/67/nova/network/neutronv2/api.py@3234? Not all move operations use this bind_ports_to_host code yet (only live migration does).","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"bcb3865d22be24592f5a67f34daa139394d138d8","unresolved":false,"context_lines":[{"line_number":1360,"context_line":"            binding[\u0027profile\u0027] \u003d profile"},{"line_number":1361,"context_line":"        data \u003d dict(binding\u003dbinding)"},{"line_number":1362,"context_line":""},{"line_number":1363,"context_line":"        # TODO(gibi): to support ports with resource request during server"},{"line_number":1364,"context_line":"        # move operations we need to take care of \u0027allocation\u0027 key in the"},{"line_number":1365,"context_line":"        # binding profile per binding."},{"line_number":1366,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_2fc26586","line":1363,"in_reply_to":"9fdfeff1_9255cd52","updated":"2019-02-26 16:16:17.000000000","message":"I mixed up. Now I added a specific TODO for https://review.openstack.org/#/c/569459/67/nova/network/neutronv2/api.py@3234 and fixed this TODO to talk about live migration only.","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"87149777980b0e91c9494ec7521dc6986251a6ff","unresolved":false,"context_lines":[{"line_number":3230,"context_line":"            # If the host hasn\u0027t changed, like in the case of resizing to the"},{"line_number":3231,"context_line":"            # same host, there is nothing to do."},{"line_number":3232,"context_line":"            if p.get(BINDING_HOST_ID) !\u003d host:"},{"line_number":3233,"context_line":"                updates[BINDING_HOST_ID] \u003d host"},{"line_number":3234,"context_line":"                # If the host changed, the AZ could have also changed so we"},{"line_number":3235,"context_line":"                # need to update the device_owner."},{"line_number":3236,"context_line":"                updates[\u0027device_owner\u0027] \u003d ("}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_12c79d14","line":3233,"range":{"start_line":3233,"start_character":16,"end_line":3233,"end_character":47},"updated":"2019-02-25 20:08:07.000000000","message":"Do we want a similar TODO about handling the port binding profile allocation here if the host changes during a move operation (cold migrate/resize, unshelve or evacuate)?","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"bcb3865d22be24592f5a67f34daa139394d138d8","unresolved":false,"context_lines":[{"line_number":3230,"context_line":"            # If the host hasn\u0027t changed, like in the case of resizing to the"},{"line_number":3231,"context_line":"            # same host, there is nothing to do."},{"line_number":3232,"context_line":"            if p.get(BINDING_HOST_ID) !\u003d host:"},{"line_number":3233,"context_line":"                updates[BINDING_HOST_ID] \u003d host"},{"line_number":3234,"context_line":"                # If the host changed, the AZ could have also changed so we"},{"line_number":3235,"context_line":"                # need to update the device_owner."},{"line_number":3236,"context_line":"                updates[\u0027device_owner\u0027] \u003d ("}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_ef4c5d40","line":3233,"range":{"start_line":3233,"start_character":16,"end_line":3233,"end_character":47},"in_reply_to":"9fdfeff1_12c79d14","updated":"2019-02-26 16:16:17.000000000","message":"Done","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c856595e7c0b071dd1b3c3b183c4bd6278498d38","unresolved":false,"context_lines":[{"line_number":672,"context_line":"            # NOTE: We\u0027re doing this to remove the binding information"},{"line_number":673,"context_line":"            # for the physical device but don\u0027t want to overwrite the other"},{"line_number":674,"context_line":"            # information in the binding profile."},{"line_number":675,"context_line":"            for profile_key in (\u0027pci_vendor_info\u0027, \u0027pci_slot\u0027, ALLOCATION):"},{"line_number":676,"context_line":"                if profile_key in port_profile:"},{"line_number":677,"context_line":"                    del port_profile[profile_key]"},{"line_number":678,"context_line":"            port_req_body[\u0027port\u0027][BINDING_PROFILE] \u003d port_profile"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_ca505035","line":675,"range":{"start_line":675,"start_character":32,"end_line":675,"end_character":61},"updated":"2019-02-27 14:38:28.000000000","message":"guess what a future patch could do for these hard-coded strings? :)","commit_id":"33644fbc8ebbca43d4d706d38501314a07ae5e66"}],"nova/tests/fixtures.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c856595e7c0b071dd1b3c3b183c4bd6278498d38","unresolved":false,"context_lines":[{"line_number":1391,"context_line":"        self._ports \u003d {"},{"line_number":1392,"context_line":"            # NOTE(gibi)The port_with_sriov_resource_request cannot be added"},{"line_number":1393,"context_line":"            # globally in this fixture as it adds a second network that makes"},{"line_number":1394,"context_line":"            # auto allocation based test to fail due to ambiguous networks."},{"line_number":1395,"context_line":"            NeutronFixture.port_1[\u0027id\u0027]: copy.deepcopy(NeutronFixture.port_1),"},{"line_number":1396,"context_line":"            NeutronFixture.port_with_resource_request[\u0027id\u0027]:"},{"line_number":1397,"context_line":"                copy.deepcopy(NeutronFixture.port_with_resource_request)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_aa306c08","line":1394,"updated":"2019-02-27 14:38:28.000000000","message":"+1 good comment.","commit_id":"33644fbc8ebbca43d4d706d38501314a07ae5e66"}],"nova/tests/functional/test_servers.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9ca11150c8e42ffdce64f8fc950097f8f450be24","unresolved":false,"context_lines":[{"line_number":6348,"context_line":""},{"line_number":6349,"context_line":"        port \u003d self.neutron.port_with_resource_request"},{"line_number":6350,"context_line":""},{"line_number":6351,"context_line":"        server \u003d self._create_server("},{"line_number":6352,"context_line":"            flavor\u003dself.flavor,"},{"line_number":6353,"context_line":"            networks\u003d[{\u0027port\u0027: port[\u0027id\u0027]}])"},{"line_number":6354,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_35707472","line":6351,"range":{"start_line":6351,"start_character":22,"end_line":6351,"end_character":36},"updated":"2019-02-26 17:41:08.000000000","message":"Don\u0027t you need to do the mock stuff before actually creating the server? Otherwise you could race.","commit_id":"8d9c231632605a54c6c8b262cf4e510c1a215aea"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f918fb04c7d9950f0c524975c783b6504685bf27","unresolved":false,"context_lines":[{"line_number":6348,"context_line":""},{"line_number":6349,"context_line":"        port \u003d self.neutron.port_with_resource_request"},{"line_number":6350,"context_line":""},{"line_number":6351,"context_line":"        server \u003d self._create_server("},{"line_number":6352,"context_line":"            flavor\u003dself.flavor,"},{"line_number":6353,"context_line":"            networks\u003d[{\u0027port\u0027: port[\u0027id\u0027]}])"},{"line_number":6354,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_e1cb041b","line":6351,"range":{"start_line":6351,"start_character":22,"end_line":6351,"end_character":36},"in_reply_to":"9fdfeff1_35707472","updated":"2019-02-27 09:25:17.000000000","message":"Yeah you are right. I put the mock too late.","commit_id":"8d9c231632605a54c6c8b262cf4e510c1a215aea"}],"nova/virt/fake.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"87149777980b0e91c9494ec7521dc6986251a6ff","unresolved":false,"context_lines":[{"line_number":860,"context_line":"            # Having two PFs on the same physnet will allow us to test the"},{"line_number":861,"context_line":"            # placement allocation - physical allocation matching based on the"},{"line_number":862,"context_line":"            # bandwidth allocation in the future."},{"line_number":863,"context_line":"            CONF.set_default(\u0027passthrough_whitelist\u0027, default\u003d["},{"line_number":864,"context_line":"                jsonutils.dumps("},{"line_number":865,"context_line":"                    {"},{"line_number":866,"context_line":"                        \"address\": {"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_92038d42","line":863,"range":{"start_line":863,"start_character":12,"end_line":863,"end_character":28},"updated":"2019-02-25 20:08:07.000000000","message":"I don\u0027t know if you can use self.flags here or not, but if you can, then you don\u0027t need the CONF.set_default (although under the covers self.flags just calls CONF.set_default).","commit_id":"624235fb015166856895e48869008bc6190fa430"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"bcb3865d22be24592f5a67f34daa139394d138d8","unresolved":false,"context_lines":[{"line_number":860,"context_line":"            # Having two PFs on the same physnet will allow us to test the"},{"line_number":861,"context_line":"            # placement allocation - physical allocation matching based on the"},{"line_number":862,"context_line":"            # bandwidth allocation in the future."},{"line_number":863,"context_line":"            CONF.set_default(\u0027passthrough_whitelist\u0027, default\u003d["},{"line_number":864,"context_line":"                jsonutils.dumps("},{"line_number":865,"context_line":"                    {"},{"line_number":866,"context_line":"                        \"address\": {"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_6f0f0de0","line":863,"range":{"start_line":863,"start_character":12,"end_line":863,"end_character":28},"in_reply_to":"9fdfeff1_92038d42","updated":"2019-02-26 16:16:17.000000000","message":"self.flag() is nova.test.TestCase.flags() which is not available here in a pure fixture. However I made a mistake self.flags() uses CONF.set_override(). Now this place uses that as well.","commit_id":"624235fb015166856895e48869008bc6190fa430"}]}
