)]}'
{"nova/tests/unit/virt/libvirt/fakelibvirt.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"34e4c59b18fb6227710f47dc431426dbd63bb989","unresolved":false,"context_lines":[{"line_number":222,"context_line":"        self.pci_dev \u003d None"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"        if dev_type \u003d\u003d \u0027PF\u0027:"},{"line_number":225,"context_line":"            pf_caps \u003d [addr_templ % {\u0027dev\u0027: x, \u0027slot\u0027: VF_SLOT}"},{"line_number":226,"context_line":"                                     for x in range(dev * vf_ratio,"},{"line_number":227,"context_line":"                                                    (dev + 1) * vf_ratio)]"},{"line_number":228,"context_line":"            slot \u003d int(str(PF_SLOT), 16)"},{"line_number":229,"context_line":"            self.pci_dev \u003d self.pci_dev_template % {\u0027dev\u0027: dev,"},{"line_number":230,"context_line":"                         \u0027prod\u0027: product_id, \u0027group_id\u0027: group,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_78b75a88","side":"PARENT","line":227,"range":{"start_line":225,"start_character":1,"end_line":227,"end_character":74},"updated":"2019-03-07 02:38:34.000000000","message":"thank you for making this into something somewhat understandable with some code comments.","commit_id":"59d94633518e6f6272e9f0654bb908e332f97a96"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"34e4c59b18fb6227710f47dc431426dbd63bb989","unresolved":false,"context_lines":[{"line_number":183,"context_line":"VF_PROD_ID \u003d \u00271515\u0027"},{"line_number":184,"context_line":"VF_PROD_NAME \u003d \u0027X540 Ethernet Controller Virtual Function\u0027"},{"line_number":185,"context_line":"VF_DRIVER_NAME \u003d \u0027ixgbevf\u0027"},{"line_number":186,"context_line":"VF_CAP_TYPE \u003d \u0027phys_function\u0027"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"NVIDIA_11_VGPU_TYPE \u003d \u0027nvidia-11\u0027"},{"line_number":189,"context_line":"PGPU1_PCI_ADDR \u003d \u0027pci_0000_06_00_0\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_30c25087","line":186,"updated":"2019-03-07 02:38:34.000000000","message":"oh look, some constants with meaningful names! \\o/","commit_id":"b927748c257e705903c2aa0ffa47b19914e31ede"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"34e4c59b18fb6227710f47dc431426dbd63bb989","unresolved":false,"context_lines":[{"line_number":185,"context_line":"VF_DRIVER_NAME \u003d \u0027ixgbevf\u0027"},{"line_number":186,"context_line":"VF_CAP_TYPE \u003d \u0027phys_function\u0027"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"NVIDIA_11_VGPU_TYPE \u003d \u0027nvidia-11\u0027"},{"line_number":189,"context_line":"PGPU1_PCI_ADDR \u003d \u0027pci_0000_06_00_0\u0027"},{"line_number":190,"context_line":"PGPU2_PCI_ADDR \u003d \u0027pci_0000_07_00_0\u0027"},{"line_number":191,"context_line":"PGPU3_PCI_ADDR \u003d \u0027pci_0000_08_00_0\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_f0bb680b","line":188,"updated":"2019-03-07 02:38:34.000000000","message":"Well, except this one of course... it\u0027s Nvidia after all.","commit_id":"b927748c257e705903c2aa0ffa47b19914e31ede"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"34e4c59b18fb6227710f47dc431426dbd63bb989","unresolved":false,"context_lines":[{"line_number":202,"context_line":"    - X540 Ethernet Controller Virtual Function (8086:1515)"},{"line_number":203,"context_line":"    \"\"\""},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    pci_device_template \u003d textwrap.dedent(\"\"\""},{"line_number":206,"context_line":"        \u003cdevice\u003e"},{"line_number":207,"context_line":"          \u003cname\u003epci_0000_81_%(slot)02x_%(function)d\u003c/name\u003e"},{"line_number":208,"context_line":"          \u003cpath\u003e/sys/devices/pci0000:80/0000:80:01.0/0000:81:%(slot)02x.%(function)d\u003c/path\u003e"}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_b06400bb","line":205,"range":{"start_line":205,"start_character":26,"end_line":205,"end_character":41},"updated":"2019-03-07 02:38:34.000000000","message":"ooh, neat, learn a new trick every day. :)","commit_id":"b927748c257e705903c2aa0ffa47b19914e31ede"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"34e4c59b18fb6227710f47dc431426dbd63bb989","unresolved":false,"context_lines":[{"line_number":320,"context_line":"        :param iommu_group: (int) Initial IOMMU group ID."},{"line_number":321,"context_line":"        :param numa_node: (int) NUMA node of the device; if set all of the"},{"line_number":322,"context_line":"            devices will be assigned to the specified node else they will be"},{"line_number":323,"context_line":"            split between ``$TOTAL_NUMA_NODES`` nodes."},{"line_number":324,"context_line":"        \"\"\""},{"line_number":325,"context_line":"        self.devices \u003d {}"},{"line_number":326,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_06602ca5","line":323,"updated":"2019-03-07 02:38:34.000000000","message":"eventually it would probably be better to just have static fixtures of host resources instead of all the modulo stuff we\u0027re doing below... :)","commit_id":"b927748c257e705903c2aa0ffa47b19914e31ede"}]}
