)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"0b054bfa26c060b3e8b790d9ae23da6092ccbe36","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"pci: do not filter out any SRIOV Physical Functions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Stop filtering out all physical functions (PFs), preveting it from"},{"line_number":10,"context_line":"passthough."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Partially implements blueprint sriov-physical-function-passthrough"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"fa69d971_3c80c9f4","line":9,"updated":"2016-01-06 08:21:57.000000000","message":"typo preveting","commit_id":"e1b874f71e14c0ff3652c911b9ff126d8fd04c32"}],"nova/objects/pci_device.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"3b79c3de863a7efc047c352cc7f6467e3a40ae73","unresolved":false,"context_lines":[{"line_number":218,"context_line":"                # NOTE(ndipanov): If we are not migrating data yet, make sure"},{"line_number":219,"context_line":"                # that any changes to parent_addr are also in the old location"},{"line_number":220,"context_line":"                # in extra_info"},{"line_number":221,"context_line":"                if \u0027parent_addr\u0027 in updates and updates[\u0027parent_addr\u0027]:"},{"line_number":222,"context_line":"                    extra_update \u003d updates.get(\u0027extra_info\u0027, {})"},{"line_number":223,"context_line":"                    if not extra_update and self.obj_attr_is_set(\u0027extra_info\u0027):"},{"line_number":224,"context_line":"                        extra_update \u003d self.extra_info"}],"source_content_type":"text/x-python","patch_set":15,"id":"da6ed579_dccc9f37","line":221,"range":{"start_line":221,"start_character":44,"end_line":221,"end_character":71},"updated":"2016-01-12 17:26:29.000000000","message":"Is this leftover from a rebase or something like that?","commit_id":"df9f0bb2568ca8e86c8128012134b1f4ce0b2d2f"}],"nova/pci/manager.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"9c1e57883170bea5b29dff594d901c2faacdad71","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        # Remove PFs with non-free VFs"},{"line_number":133,"context_line":"        devices \u003d [dev for dev in devices if"},{"line_number":134,"context_line":"                   (dev.get(\u0027dev_type\u0027) !\u003d fields.PciDeviceType.SRIOV_PF"},{"line_number":135,"context_line":"                    or self._is_all_pf_vfs_free(dev.get(\u0027address\u0027)))]"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        exist_addrs \u003d set([dev.address for dev in self.pci_devs])"},{"line_number":138,"context_line":"        new_addrs \u003d set([dev[\u0027address\u0027] for dev in devices])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_ec0510c2","line":135,"range":{"start_line":135,"start_character":20,"end_line":135,"end_character":66},"updated":"2015-11-25 18:00:55.000000000","message":"This gets run only on every pass of the resoruce tracker (which is a periodic task) so we can\u0027t be only updating this here. Actually this should not be filtering devices at all - it should be left to the whitelist.\n\nYou actually need to update usage on every successful claim. See below for more details on where this should be done.","commit_id":"aa7c10b6b8f8e7ddca4dde5b7a4762dacb2c0b83"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"9c1e57883170bea5b29dff594d901c2faacdad71","unresolved":false,"context_lines":[{"line_number":197,"context_line":"        if instance_numa_topology:"},{"line_number":198,"context_line":"            instance_cells \u003d instance_numa_topology.cells"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        devs \u003d self.stats.consume_requests(pci_requests.requests,"},{"line_number":201,"context_line":"                                           instance_cells)"},{"line_number":202,"context_line":"        if not devs:"},{"line_number":203,"context_line":"            return None"},{"line_number":204,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_ac9f0802","line":201,"range":{"start_line":200,"start_character":8,"end_line":201,"end_character":58},"updated":"2015-11-25 18:00:55.000000000","message":"So in this line we should be consuming them from the pools in such a way that consuming a VF removes the PF and vice versa (consuming a PF removes all VFs)","commit_id":"aa7c10b6b8f8e7ddca4dde5b7a4762dacb2c0b83"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"ab70b6fe2765c91bd5f421190af909fd2954f3fb","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                devices.append(dev)"},{"line_number":117,"context_line":"        self._set_hvdevs(devices)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def _is_all_pf_vfs_free(self, pf):"},{"line_number":120,"context_line":"        return all([dev.is_free() for dev in self.pci_devs if"},{"line_number":121,"context_line":"                    dev.parent_addr \u003d\u003d pf])"},{"line_number":122,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_e44d1a9a","line":119,"updated":"2015-12-10 21:55:32.000000000","message":"OK I see where you\u0027re going with this but it\u0027s not used anywhere...\n\nI think the solution for this is that if we detect that any of the VFs are taken, we\u0027ll just skip adding it to the pool maybe?\n\nI need to look at this in more detail","commit_id":"2e0768d66c71b61e87903d68c33195424fb595ac"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"82ee7ed1dc5ed53a5681bdf4f6130860bc7d8b17","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                devices.append(dev)"},{"line_number":117,"context_line":"        self._set_hvdevs(devices)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def _is_all_pf_vfs_free(self, pf):"},{"line_number":120,"context_line":"        return all([dev.is_free() for dev in self.pci_devs if"},{"line_number":121,"context_line":"                    dev.parent_addr \u003d\u003d pf])"},{"line_number":122,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a7e1126_770d30e7","line":119,"range":{"start_line":119,"start_character":8,"end_line":119,"end_character":28},"updated":"2015-12-18 17:44:40.000000000","message":"I don\u0027t think we call this anywhere?","commit_id":"08213411bdff856aece41d7f7d0a46ed8a6bde67"}]}
