)]}'
{"nova/objects/instance_pci_requests.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bd707ed448d219a785259ef4c23b69c80897360a","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                count\u003drequest[\u0027count\u0027], spec\u003drequest[\u0027spec\u0027],"},{"line_number":88,"context_line":"                alias_name\u003drequest[\u0027alias_name\u0027], is_new\u003dFalse,"},{"line_number":89,"context_line":"                request_id\u003drequest[\u0027request_id\u0027],"},{"line_number":90,"context_line":"                numa_policy\u003drequest.get(\u0027numa_policy\u0027))"},{"line_number":91,"context_line":"            request_obj.obj_reset_changes()"},{"line_number":92,"context_line":"            self.requests.append(request_obj)"},{"line_number":93,"context_line":"        self.obj_reset_changes()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_380c8841","line":90,"range":{"start_line":90,"start_character":28,"end_line":90,"end_character":54},"updated":"2018-12-11 17:27:11.000000000","message":"you proably want to set a default to \n\"legacy\" or \"preferred\"\nwhen loading old objects from the db.","commit_id":"e7ef319ce49be1e0e6df76f1be2072aa489d9513"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0f4d7b5678bff70664ba47520ae7e50493505cc7","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                count\u003drequest[\u0027count\u0027], spec\u003drequest[\u0027spec\u0027],"},{"line_number":88,"context_line":"                alias_name\u003drequest[\u0027alias_name\u0027], is_new\u003dFalse,"},{"line_number":89,"context_line":"                request_id\u003drequest[\u0027request_id\u0027],"},{"line_number":90,"context_line":"                numa_policy\u003drequest.get(\u0027numa_policy\u0027))"},{"line_number":91,"context_line":"            request_obj.obj_reset_changes()"},{"line_number":92,"context_line":"            self.requests.append(request_obj)"},{"line_number":93,"context_line":"        self.obj_reset_changes()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_537da56d","line":90,"range":{"start_line":90,"start_character":28,"end_line":90,"end_character":54},"in_reply_to":"3f79a3b5_380c8841","updated":"2018-12-13 13:26:47.000000000","message":"I purposefully didn\u0027t do this because I was already handling this here:\n\n  https://github.com/openstack/nova/blob/f572527d2b7f93b0c2108118c2f240f2dd1cf968/nova/pci/stats.py#L155\n\nIs there a reason to not rely on that?","commit_id":"e7ef319ce49be1e0e6df76f1be2072aa489d9513"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cc95d709a2947199f95f4c98234bc561241d0d7a","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                count\u003drequest[\u0027count\u0027], spec\u003drequest[\u0027spec\u0027],"},{"line_number":88,"context_line":"                alias_name\u003drequest[\u0027alias_name\u0027], is_new\u003dFalse,"},{"line_number":89,"context_line":"                request_id\u003drequest[\u0027request_id\u0027],"},{"line_number":90,"context_line":"                numa_policy\u003drequest.get(\u0027numa_policy\u0027))"},{"line_number":91,"context_line":"            request_obj.obj_reset_changes()"},{"line_number":92,"context_line":"            self.requests.append(request_obj)"},{"line_number":93,"context_line":"        self.obj_reset_changes()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_89876216","line":90,"range":{"start_line":90,"start_character":28,"end_line":90,"end_character":54},"in_reply_to":"3f79a3b5_537da56d","updated":"2018-12-13 13:38:00.000000000","message":"Done","commit_id":"e7ef319ce49be1e0e6df76f1be2072aa489d9513"}],"nova/tests/functional/libvirt/test_pci_sriov_servers.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f844900da970e7822dff7ea894c376ef009c4a0d","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    pci_passthrough_whitelist \u003d ["},{"line_number":35,"context_line":"        \u0027{\"vendor_id\":\"8086\", \"product_id\":\"1528\"}\u0027,"},{"line_number":36,"context_line":"        \u0027{\"vendor_id\":\"8086\", \"product_id\":\"1515\"}\u0027,"},{"line_number":37,"context_line":"    ]"},{"line_number":38,"context_line":"    # PFs will be removed from pools unless they are specifically"},{"line_number":39,"context_line":"    # requested, so we explicitly request them with the \u0027device_type\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_95e8d616","line":36,"updated":"2019-03-06 13:57:14.000000000","message":"a request for a future followup. For those of us who don\u0027t memorize what random PCI product IDs are, maybe a note saying the above refer to:\n\n 1528: Ethernet Controller 10-Gigabit X540-AT2\n 1515: X540 Ethernet Controller Virtual Function\n\nand of course, 8086 refers to Intel.","commit_id":"59d94633518e6f6272e9f0654bb908e332f97a96"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7ff61f7edc0528cec8c0363c6d726eef7cf5025c","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    pci_passthrough_whitelist \u003d ["},{"line_number":35,"context_line":"        \u0027{\"vendor_id\":\"8086\", \"product_id\":\"1528\"}\u0027,"},{"line_number":36,"context_line":"        \u0027{\"vendor_id\":\"8086\", \"product_id\":\"1515\"}\u0027,"},{"line_number":37,"context_line":"    ]"},{"line_number":38,"context_line":"    # PFs will be removed from pools unless they are specifically"},{"line_number":39,"context_line":"    # requested, so we explicitly request them with the \u0027device_type\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_9a123eb1","line":36,"in_reply_to":"5fc1f717_95e8d616","updated":"2019-03-06 15:58:09.000000000","message":"Way ahead of you :) See the next two patches in the series [1]\n\n  https://review.openstack.org/#/c/640409/5/nova/tests/unit/virt/libvirt/fakelibvirt.py@200","commit_id":"59d94633518e6f6272e9f0654bb908e332f97a96"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f844900da970e7822dff7ea894c376ef009c4a0d","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    # PFs will be removed from pools unless they are specifically"},{"line_number":39,"context_line":"    # requested, so we explicitly request them with the \u0027device_type\u0027"},{"line_number":40,"context_line":"    # attribute"},{"line_number":41,"context_line":"    pci_alias \u003d ["},{"line_number":42,"context_line":"        \u0027{\"vendor_id\":\"8086\", \"product_id\":\"1528\", \"name\":\"%s\", \u0027"},{"line_number":43,"context_line":"        \u0027\"device_type\":\"%s\"}\u0027 % ("},{"line_number":44,"context_line":"            pfs_alias_name, fields.PciDeviceType.SRIOV_PF),"},{"line_number":45,"context_line":"        \u0027{\"vendor_id\":\"8086\", \"product_id\":\"1515\", \"name\":\"%s\"}\u0027 % ("},{"line_number":46,"context_line":"            vfs_alias_name),"},{"line_number":47,"context_line":"    ]"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def setUp(self):"},{"line_number":50,"context_line":"        self.flags(passthrough_whitelist\u003dself.pci_passthrough_whitelist,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_3066d0ef","line":47,"range":{"start_line":41,"start_character":4,"end_line":47,"end_character":5},"updated":"2019-03-06 13:57:14.000000000","message":"have I mentioned how much I hate the pci_alias JSON-ish thing? :(","commit_id":"59d94633518e6f6272e9f0654bb908e332f97a96"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7ff61f7edc0528cec8c0363c6d726eef7cf5025c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    # PFs will be removed from pools unless they are specifically"},{"line_number":39,"context_line":"    # requested, so we explicitly request them with the \u0027device_type\u0027"},{"line_number":40,"context_line":"    # attribute"},{"line_number":41,"context_line":"    pci_alias \u003d ["},{"line_number":42,"context_line":"        \u0027{\"vendor_id\":\"8086\", \"product_id\":\"1528\", \"name\":\"%s\", \u0027"},{"line_number":43,"context_line":"        \u0027\"device_type\":\"%s\"}\u0027 % ("},{"line_number":44,"context_line":"            pfs_alias_name, fields.PciDeviceType.SRIOV_PF),"},{"line_number":45,"context_line":"        \u0027{\"vendor_id\":\"8086\", \"product_id\":\"1515\", \"name\":\"%s\"}\u0027 % ("},{"line_number":46,"context_line":"            vfs_alias_name),"},{"line_number":47,"context_line":"    ]"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def setUp(self):"},{"line_number":50,"context_line":"        self.flags(passthrough_whitelist\u003dself.pci_passthrough_whitelist,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_5a693623","line":47,"range":{"start_line":41,"start_character":4,"end_line":47,"end_character":5},"in_reply_to":"5fc1f717_3066d0ef","updated":"2019-03-06 15:58:09.000000000","message":"Yup, though I make this somewhat nicer two patches later [1]\n\n[1] https://review.openstack.org/#/c/640826","commit_id":"59d94633518e6f6272e9f0654bb908e332f97a96"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f844900da970e7822dff7ea894c376ef009c4a0d","unresolved":false,"context_lines":[{"line_number":246,"context_line":"    # requested, so we explicitly request them with the \u0027device_type\u0027"},{"line_number":247,"context_line":"    # attribute"},{"line_number":248,"context_line":"    pci_alias \u003d ["},{"line_number":249,"context_line":"        \u0027{\"vendor_id\":\"8086\", \"product_id\":\"1528\", \"name\":\"%s\", \u0027"},{"line_number":250,"context_line":"        \u0027\"device_type\":\"%s\", \"numa_policy\":\"%s\"}\u0027 % ("},{"line_number":251,"context_line":"            _PCIServersTestBase.pfs_alias_name,"},{"line_number":252,"context_line":"            fields.PciDeviceType.SRIOV_PF,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_904c6477","line":249,"updated":"2019-03-06 13:57:14.000000000","message":"same comment as above.\n\nalso, have I mentioned how much I hate the stringified JSON-ish crap that is the pci passthrough whitelist configuration?","commit_id":"59d94633518e6f6272e9f0654bb908e332f97a96"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f844900da970e7822dff7ea894c376ef009c4a0d","unresolved":false,"context_lines":[{"line_number":285,"context_line":"        extra_spec[\u0027pci_passthrough:alias\u0027] \u003d \u0027%s:1\u0027 % self.pfs_alias_name"},{"line_number":286,"context_line":"        flavor_id \u003d self._create_flavor(extra_spec\u003dextra_spec)"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"        self._run_build_test(flavor_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_f08da87b","line":288,"updated":"2019-03-06 13:57:14.000000000","message":"good test addition, thank you Stephen.","commit_id":"59d94633518e6f6272e9f0654bb908e332f97a96"}]}
