)]}'
{"nova/pci/manager.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"abd83bb09961a1d5e18f705253a15473c03d6af7","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        \"\"\""},{"line_number":114,"context_line":"        devices \u003d []"},{"line_number":115,"context_line":"        for dev in jsonutils.loads(devices_json):"},{"line_number":116,"context_line":"            if dev.get(\u0027dev_type\u0027) \u003d\u003d \u0027type-PF\u0027:"},{"line_number":117,"context_line":"                continue"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"            if self.dev_filter.device_assignable(dev):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_baa9d892","line":116,"range":{"start_line":116,"start_character":38,"end_line":116,"end_character":47},"updated":"2015-08-07 21:37:08.000000000","message":"Shouldn\u0027t we use the enum field SRIOV_PF here since we converted everything to use the enums?","commit_id":"0d792927e38cd5ffb774d5bbfec2c6d39ae323bb"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"061b2e7a9c249a3b0acded998473c2c10d99fc57","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        \"\"\""},{"line_number":114,"context_line":"        devices \u003d []"},{"line_number":115,"context_line":"        for dev in jsonutils.loads(devices_json):"},{"line_number":116,"context_line":"            if dev.get(\u0027dev_type\u0027) \u003d\u003d \u0027type-PF\u0027:"},{"line_number":117,"context_line":"                continue"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"            if self.dev_filter.device_assignable(dev):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_85b58ad1","line":116,"in_reply_to":"1a4dcd0f_baa9d892","updated":"2015-08-09 15:48:41.000000000","message":"Done","commit_id":"0d792927e38cd5ffb774d5bbfec2c6d39ae323bb"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"83eea068203b9778fa93caab49561655bd1a2b5a","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    def pci_stats(self):"},{"line_number":93,"context_line":"        return self.stats"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def set_devices_from_hypervisor_resources(self, devices_json):"},{"line_number":96,"context_line":"        \"\"\"Sync the pci device tracker with hypervisor information."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        To support pci device hot plug, we sync with the hypervisor"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_4cfe7d6c","line":95,"updated":"2015-08-11 09:57:11.000000000","message":"s/set_devices_from_hypervisor_resources/update_devices_from_hypervisor_resources","commit_id":"568466e5297de6498595e9fac8b2924c42a82ae8"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"6cd5c839a5dcd3c6478e9039dcae63440a759220","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    def pci_stats(self):"},{"line_number":93,"context_line":"        return self.stats"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def set_devices_from_hypervisor_resources(self, devices_json):"},{"line_number":96,"context_line":"        \"\"\"Sync the pci device tracker with hypervisor information."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        To support pci device hot plug, we sync with the hypervisor"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_e931525b","line":95,"in_reply_to":"1a4dcd0f_4cfe7d6c","updated":"2015-08-11 21:08:19.000000000","message":"Done","commit_id":"568466e5297de6498595e9fac8b2924c42a82ae8"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"83eea068203b9778fa93caab49561655bd1a2b5a","unresolved":false,"context_lines":[{"line_number":119,"context_line":"                devices.append(dev)"},{"line_number":120,"context_line":"        self.set_hvdevs(devices)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def set_hvdevs(self, devices):"},{"line_number":123,"context_line":"        exist_addrs \u003d set([dev.address for dev in self.pci_devs])"},{"line_number":124,"context_line":"        new_addrs \u003d set([dev[\u0027address\u0027] for dev in devices])"},{"line_number":125,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_2cac5134","line":122,"updated":"2015-08-11 09:57:11.000000000","message":"docstring?","commit_id":"568466e5297de6498595e9fac8b2924c42a82ae8"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"d7b6a688492ce8be6432920652d8acd17adda9be","unresolved":false,"context_lines":[{"line_number":119,"context_line":"                devices.append(dev)"},{"line_number":120,"context_line":"        self.set_hvdevs(devices)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def set_hvdevs(self, devices):"},{"line_number":123,"context_line":"        exist_addrs \u003d set([dev.address for dev in self.pci_devs])"},{"line_number":124,"context_line":"        new_addrs \u003d set([dev[\u0027address\u0027] for dev in devices])"},{"line_number":125,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_de2f8b86","line":122,"in_reply_to":"1a4dcd0f_2cac5134","updated":"2015-08-11 11:47:23.000000000","message":"Well this is a private method now - how about we make it _set_hvdevs()\n\nAlso a lot of the meaty logic is inside it so I\u0027d split the docstring in two. but I\u0027m OK with it staying like this since it\u0027s literally only called from set_devices_from_hypervisor_resources","commit_id":"568466e5297de6498595e9fac8b2924c42a82ae8"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"6cd5c839a5dcd3c6478e9039dcae63440a759220","unresolved":false,"context_lines":[{"line_number":119,"context_line":"                devices.append(dev)"},{"line_number":120,"context_line":"        self.set_hvdevs(devices)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def set_hvdevs(self, devices):"},{"line_number":123,"context_line":"        exist_addrs \u003d set([dev.address for dev in self.pci_devs])"},{"line_number":124,"context_line":"        new_addrs \u003d set([dev[\u0027address\u0027] for dev in devices])"},{"line_number":125,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_c9bd7669","line":122,"in_reply_to":"1a4dcd0f_de2f8b86","updated":"2015-08-11 21:08:19.000000000","message":"Done","commit_id":"568466e5297de6498595e9fac8b2924c42a82ae8"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"4319069fc4fcce0448ff4a2101ce17f29824cb60","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        we can do is to give a warning if a device is changed"},{"line_number":105,"context_line":"        or removed while assigned."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        :param devices_json: The JSON-ified string of device information"},{"line_number":108,"context_line":"                             that is returned from the virt driver\u0027s"},{"line_number":109,"context_line":"                             get_available_resource() call in the"},{"line_number":110,"context_line":"                             pci_passthrough_devices key."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_4cc86ba8","line":107,"updated":"2015-08-12 15:27:36.000000000","message":"JSON-ified string or stringified JSON :)?","commit_id":"bc10ba2a699dde4a7554ba906bce1ba9b3f0d4db"}],"nova/pci/whitelist.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"83eea068203b9778fa93caab49561655bd1a2b5a","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            self.specs \u003d []"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def device_assignable(self, dev):"},{"line_number":94,"context_line":"        \"\"\"Check if a device can be assigned to a guest."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        :param dev: A dictionary describing the device properties"},{"line_number":97,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_cce5ada8","side":"PARENT","line":94,"updated":"2015-08-11 09:57:11.000000000","message":"\"Returns whether or not a device can be assigned to as guest\"","commit_id":"9b7e78976886ba571e914eb3ae20503ca410b895"}]}
