)]}'
{"nova/objects/migrate_data.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d43d2da558c71f503627c4c3957b152d7cbcb2aa","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        return vif"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"# TODO(adrianc) - use PCIMigrateData in cold migration as well."},{"line_number":99,"context_line":"# TBD: define at a different file ?"},{"line_number":100,"context_line":"@obj_base.NovaObjectRegistry.register"},{"line_number":101,"context_line":"class PCIMigrateData(obj_base.NovaObject):"},{"line_number":102,"context_line":"    # Version 1.0: Initial version"},{"line_number":103,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    fields \u003d {"},{"line_number":106,"context_line":"        \u0027new_pci_devices\u0027: fields.ObjectField(\u0027PciDeviceList\u0027,"},{"line_number":107,"context_line":"                                              nullable\u003dTrue),"},{"line_number":108,"context_line":"        \u0027old_pci_devices\u0027: fields.ObjectField(\u0027PciDeviceList\u0027,"},{"line_number":109,"context_line":"                                              nullable\u003dTrue),"},{"line_number":110,"context_line":"        \u0027new_pci_requests\u0027: fields.ObjectField(\u0027InstancePCIRequests\u0027,"},{"line_number":111,"context_line":"                                               nullable\u003dTrue),"},{"line_number":112,"context_line":"        \u0027old_pci_requests\u0027: fields.ObjectField(\u0027InstancePCIRequests\u0027,"},{"line_number":113,"context_line":"                                               nullable\u003dTrue),"},{"line_number":114,"context_line":"    }"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    def to_legacy_dict(self):"},{"line_number":117,"context_line":"        legacy \u003d {}"},{"line_number":118,"context_line":"        if self.obj_attr_is_set(\u0027new_pci_devices\u0027):"},{"line_number":119,"context_line":"            legacy[\u0027new_pci_devices\u0027] \u003d self.new_pci_devices"},{"line_number":120,"context_line":"        if self.obj_attr_is_set(\u0027old_pci_devices\u0027):"},{"line_number":121,"context_line":"            legacy[\u0027old_pci_devices\u0027] \u003d self.old_pci_devices"},{"line_number":122,"context_line":"        if self.obj_attr_is_set(\u0027new_pci_requests\u0027):"},{"line_number":123,"context_line":"            legacy[\u0027new_pci_requests\u0027] \u003d self.new_pci_requests"},{"line_number":124,"context_line":"        if self.obj_attr_is_set(\u0027old_pci_requests\u0027):"},{"line_number":125,"context_line":"            legacy[\u0027old_pci_requests\u0027] \u003d self.old_pci_requests"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def from_legacy_dict(self, legacy):"},{"line_number":128,"context_line":"        if \u0027new_pci_devices\u0027 in legacy:"},{"line_number":129,"context_line":"            self.new_pci_devices \u003d legacy[\u0027new_pci_devices\u0027]"},{"line_number":130,"context_line":"        if \u0027old_pci_devices\u0027 in legacy:"},{"line_number":131,"context_line":"            self.old_pci_devices \u003d legacy[\u0027old_pci_devices\u0027]"},{"line_number":132,"context_line":"        if \u0027new_pci_requests\u0027 in legacy:"},{"line_number":133,"context_line":"            self.new_pci_requests \u003d legacy[\u0027new_pci_requests\u0027]"},{"line_number":134,"context_line":"        if \u0027old_pci_requests\u0027 in legacy:"},{"line_number":135,"context_line":"            self.old_pci_requests \u003d legacy[\u0027old_pci_requests\u0027]"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"@obj_base.NovaObjectRegistry.register_if(False)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_08353ea7","line":135,"range":{"start_line":98,"start_character":1,"end_line":135,"end_character":62},"updated":"2018-10-23 13:52:12.000000000","message":"we should not need any modification to the livemigrationdata object. this pic ddressc aan already be stored in  profile_json field of the VIFMigrateData","commit_id":"c944b7d0a6ded21a49d870a7dec6302b9386a5c2"},{"author":{"_account_id":28714,"name":"Adrian Chiris","email":"adrianc@nvidia.com","username":"adrianc"},"change_message_id":"3c8d6481d37782db4fc83d72a4300dea33a214a6","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        return vif"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"# TODO(adrianc) - use PCIMigrateData in cold migration as well."},{"line_number":99,"context_line":"# TBD: define at a different file ?"},{"line_number":100,"context_line":"@obj_base.NovaObjectRegistry.register"},{"line_number":101,"context_line":"class PCIMigrateData(obj_base.NovaObject):"},{"line_number":102,"context_line":"    # Version 1.0: Initial version"},{"line_number":103,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    fields \u003d {"},{"line_number":106,"context_line":"        \u0027new_pci_devices\u0027: fields.ObjectField(\u0027PciDeviceList\u0027,"},{"line_number":107,"context_line":"                                              nullable\u003dTrue),"},{"line_number":108,"context_line":"        \u0027old_pci_devices\u0027: fields.ObjectField(\u0027PciDeviceList\u0027,"},{"line_number":109,"context_line":"                                              nullable\u003dTrue),"},{"line_number":110,"context_line":"        \u0027new_pci_requests\u0027: fields.ObjectField(\u0027InstancePCIRequests\u0027,"},{"line_number":111,"context_line":"                                               nullable\u003dTrue),"},{"line_number":112,"context_line":"        \u0027old_pci_requests\u0027: fields.ObjectField(\u0027InstancePCIRequests\u0027,"},{"line_number":113,"context_line":"                                               nullable\u003dTrue),"},{"line_number":114,"context_line":"    }"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    def to_legacy_dict(self):"},{"line_number":117,"context_line":"        legacy \u003d {}"},{"line_number":118,"context_line":"        if self.obj_attr_is_set(\u0027new_pci_devices\u0027):"},{"line_number":119,"context_line":"            legacy[\u0027new_pci_devices\u0027] \u003d self.new_pci_devices"},{"line_number":120,"context_line":"        if self.obj_attr_is_set(\u0027old_pci_devices\u0027):"},{"line_number":121,"context_line":"            legacy[\u0027old_pci_devices\u0027] \u003d self.old_pci_devices"},{"line_number":122,"context_line":"        if self.obj_attr_is_set(\u0027new_pci_requests\u0027):"},{"line_number":123,"context_line":"            legacy[\u0027new_pci_requests\u0027] \u003d self.new_pci_requests"},{"line_number":124,"context_line":"        if self.obj_attr_is_set(\u0027old_pci_requests\u0027):"},{"line_number":125,"context_line":"            legacy[\u0027old_pci_requests\u0027] \u003d self.old_pci_requests"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def from_legacy_dict(self, legacy):"},{"line_number":128,"context_line":"        if \u0027new_pci_devices\u0027 in legacy:"},{"line_number":129,"context_line":"            self.new_pci_devices \u003d legacy[\u0027new_pci_devices\u0027]"},{"line_number":130,"context_line":"        if \u0027old_pci_devices\u0027 in legacy:"},{"line_number":131,"context_line":"            self.old_pci_devices \u003d legacy[\u0027old_pci_devices\u0027]"},{"line_number":132,"context_line":"        if \u0027new_pci_requests\u0027 in legacy:"},{"line_number":133,"context_line":"            self.new_pci_requests \u003d legacy[\u0027new_pci_requests\u0027]"},{"line_number":134,"context_line":"        if \u0027old_pci_requests\u0027 in legacy:"},{"line_number":135,"context_line":"            self.old_pci_requests \u003d legacy[\u0027old_pci_requests\u0027]"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"@obj_base.NovaObjectRegistry.register_if(False)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_9f5bad53","line":135,"range":{"start_line":98,"start_character":1,"end_line":135,"end_character":62},"in_reply_to":"3f79a3b5_08353ea7","updated":"2018-10-24 09:31:10.000000000","message":"the intention was to deal with claiming PCI resources during live migration in a generic manner, consolidating all requests/allocations in one place.\n\nseeing that supporting an arbitrary PCI device in live-migration is not something that is going to be supported soon, i will look into your suggested approach.","commit_id":"c944b7d0a6ded21a49d870a7dec6302b9386a5c2"}],"nova/virt/libvirt/vif.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d43d2da558c71f503627c4c3957b152d7cbcb2aa","unresolved":false,"context_lines":[{"line_number":833,"context_line":""},{"line_number":834,"context_line":"            # adrianc: HOOK set dummy mac address, keeping the original MAC"},{"line_number":835,"context_line":"            # as the above suggests messes up the embedded switch FDB."},{"line_number":836,"context_line":"            linux_net_utils.set_vf_interface_vlan(vif[\u0027profile\u0027][\u0027pci_slot\u0027],"},{"line_number":837,"context_line":"                                            mac_addr\u003d\"00:00:00:00:00:aa\")"},{"line_number":838,"context_line":"        elif vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_DIRECT:"},{"line_number":839,"context_line":"            if \"trusted\" in vif[\u0027profile\u0027]:"},{"line_number":840,"context_line":"                linux_net.set_vf_trusted(vif[\u0027profile\u0027][\u0027pci_slot\u0027], False)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_284fda35","line":837,"range":{"start_line":836,"start_character":12,"end_line":837,"end_character":73},"updated":"2018-10-23 13:52:12.000000000","message":"i am not sure this is correct.\n\nintel nics will not be happy if two vf have the same mac other then all 0.","commit_id":"c944b7d0a6ded21a49d870a7dec6302b9386a5c2"},{"author":{"_account_id":28714,"name":"Adrian Chiris","email":"adrianc@nvidia.com","username":"adrianc"},"change_message_id":"3c8d6481d37782db4fc83d72a4300dea33a214a6","unresolved":false,"context_lines":[{"line_number":833,"context_line":""},{"line_number":834,"context_line":"            # adrianc: HOOK set dummy mac address, keeping the original MAC"},{"line_number":835,"context_line":"            # as the above suggests messes up the embedded switch FDB."},{"line_number":836,"context_line":"            linux_net_utils.set_vf_interface_vlan(vif[\u0027profile\u0027][\u0027pci_slot\u0027],"},{"line_number":837,"context_line":"                                            mac_addr\u003d\"00:00:00:00:00:aa\")"},{"line_number":838,"context_line":"        elif vif[\u0027vnic_type\u0027] \u003d\u003d network_model.VNIC_TYPE_DIRECT:"},{"line_number":839,"context_line":"            if \"trusted\" in vif[\u0027profile\u0027]:"},{"line_number":840,"context_line":"                linux_net.set_vf_trusted(vif[\u0027profile\u0027][\u0027pci_slot\u0027], False)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_5f8af5bc","line":837,"range":{"start_line":836,"start_character":12,"end_line":837,"end_character":73},"in_reply_to":"3f79a3b5_284fda35","updated":"2018-10-24 09:31:10.000000000","message":"just a hook in the code to deal with issues im experiencing with my own hardware :)\nit will be removed.","commit_id":"c944b7d0a6ded21a49d870a7dec6302b9386a5c2"}]}
