)]}'
{"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a556a655c237e538be534970c4a5521cb017ad96","unresolved":false,"context_lines":[{"line_number":1679,"context_line":"        vif.instance_uuid \u003d \u002732dfcb37-5af1-552b-357c-be8c3aa38310\u0027"},{"line_number":1680,"context_line":"        vif.uuid \u003d \u002712ec4b21-ef22-6c21-534b-ba3e3ab3a311\u0027"},{"line_number":1681,"context_line":"        vif.tag \u003d \u0027mytag1\u0027"},{"line_number":1682,"context_line":""},{"line_number":1683,"context_line":"        vif1 \u003d obj_vif.VirtualInterface(context\u003dself.context)"},{"line_number":1684,"context_line":"        vif1.address \u003d \u002751:5a:2c:a4:5e:1b\u0027"},{"line_number":1685,"context_line":"        vif1.network_id \u003d 123"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_3b29b69a","line":1682,"updated":"2018-06-05 15:11:23.000000000","message":"unrelated but helpful and not the source of any merge conflicts","commit_id":"abd01a757b8a83d714a6ab8b5085e7cc1b4a2c5c"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"82ee71e48099b366aeee56654bb8e6be4441aa6f","unresolved":false,"context_lines":[{"line_number":8232,"context_line":"        :param vlans_by_mac: A dictionary of mac address -\u003e vlan associations."},{"line_number":8233,"context_line":"        :return: A list containing at most one NetworkInterfaceMetadata object."},{"line_number":8234,"context_line":"                 The list is a hack to allow _build_device_metadata to extend()"},{"line_number":8235,"context_line":"                 the list is builds with the return value of"},{"line_number":8236,"context_line":"                 _build_(interface|disk|hostdev)_metadata."},{"line_number":8237,"context_line":"        \"\"\""},{"line_number":8238,"context_line":"        vif \u003d vifs_to_expose.get(dev.mac_addr)"}],"source_content_type":"text/x-python","patch_set":2,"id":"df7087c5_c58707b5","line":8235,"range":{"start_line":8235,"start_character":29,"end_line":8235,"end_character":35},"updated":"2018-03-13 19:57:51.000000000","message":"could change this to \"built\" while you\u0027re in there","commit_id":"7a5e0eaf9908e3fe73e59cfb610291f042d6b069"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"82ee71e48099b366aeee56654bb8e6be4441aa6f","unresolved":false,"context_lines":[{"line_number":8258,"context_line":"        :param tagged_bdms: The list of tagged BlockDeviceMapping objects."},{"line_number":8259,"context_line":"        :return: A list containing at most one DiskMetadata object."},{"line_number":8260,"context_line":"                 The list is a hack to allow _build_device_metadata to extend()"},{"line_number":8261,"context_line":"                 the list is builds with the return value of"},{"line_number":8262,"context_line":"                 _build_(interface|disk|hostdev)_metadata."},{"line_number":8263,"context_line":"        \"\"\""},{"line_number":8264,"context_line":"        bdm \u003d tagged_bdms.get(dev.target_dev)"}],"source_content_type":"text/x-python","patch_set":2,"id":"df7087c5_05bbbf71","line":8261,"range":{"start_line":8261,"start_character":29,"end_line":8261,"end_character":35},"updated":"2018-03-13 19:57:51.000000000","message":"could change this to \"built\" while you\u0027re in there","commit_id":"7a5e0eaf9908e3fe73e59cfb610291f042d6b069"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"82ee71e48099b366aeee56654bb8e6be4441aa6f","unresolved":false,"context_lines":[{"line_number":8287,"context_line":"        :param vlans_by_mac: A dictionary of mac address -\u003e vlan associations."},{"line_number":8288,"context_line":"        :return: A list containing at most one NetworkInterfaceMetadata object."},{"line_number":8289,"context_line":"                 The list is a hack to allow _build_device_metadata to extend()"},{"line_number":8290,"context_line":"                 the list is builds with the return value of"},{"line_number":8291,"context_line":"                 _build_(interface|disk|hostdev)_metadata."},{"line_number":8292,"context_line":"        \"\"\""},{"line_number":8293,"context_line":"        # Strip out the leading \u00270x\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"df7087c5_e5432b6b","line":8290,"range":{"start_line":8290,"start_character":29,"end_line":8290,"end_character":35},"updated":"2018-03-13 19:57:51.000000000","message":"should be \"built\"","commit_id":"7a5e0eaf9908e3fe73e59cfb610291f042d6b069"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f6f2e7ee33770b41d9a090a8511fdbfd43e98c25","unresolved":false,"context_lines":[{"line_number":8294,"context_line":"        pci_address \u003d pci_utils.get_pci_address("},{"line_number":8295,"context_line":"            *[x[2:] for x in (dev.domain, dev.bus, dev.slot, dev.function)])"},{"line_number":8296,"context_line":"        try:"},{"line_number":8297,"context_line":"            mac \u003d pci_utils.get_mac_by_pci_address(pci_address,"},{"line_number":8298,"context_line":"                                                   pf_interface\u003dTrue)"},{"line_number":8299,"context_line":"        except exception.PciDeviceNotFoundById:"},{"line_number":8300,"context_line":"            LOG.debug(\u0027Not exposing metadata for not found PCI device %s\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_fcd00bcc","line":8297,"range":{"start_line":8297,"start_character":28,"end_line":8297,"end_character":50},"updated":"2018-05-07 11:07:33.000000000","message":"nit: Could probably add the \"strip leading 0x\" functionality to this, as I imagine it would be useful elsewhere.","commit_id":"7a5e0eaf9908e3fe73e59cfb610291f042d6b069"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"dc22d28b4fee77349cfa704634a056b5030cff83","unresolved":false,"context_lines":[{"line_number":8294,"context_line":"        pci_address \u003d pci_utils.get_pci_address("},{"line_number":8295,"context_line":"            *[x[2:] for x in (dev.domain, dev.bus, dev.slot, dev.function)])"},{"line_number":8296,"context_line":"        try:"},{"line_number":8297,"context_line":"            mac \u003d pci_utils.get_mac_by_pci_address(pci_address,"},{"line_number":8298,"context_line":"                                                   pf_interface\u003dTrue)"},{"line_number":8299,"context_line":"        except exception.PciDeviceNotFoundById:"},{"line_number":8300,"context_line":"            LOG.debug(\u0027Not exposing metadata for not found PCI device %s\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_6a957632","line":8297,"range":{"start_line":8297,"start_character":28,"end_line":8297,"end_character":50},"in_reply_to":"5f7c97a3_fcd00bcc","updated":"2018-05-14 19:54:58.000000000","message":"I suppose... though x[:2] isn\u0027t really that hard, and I don\u0027t know what expect (or doesn\u0027t expect!) a leading 0x in its fields, so I don\u0027t think I\u0027ll touch get_pci_address.","commit_id":"7a5e0eaf9908e3fe73e59cfb610291f042d6b069"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f6f2e7ee33770b41d9a090a8511fdbfd43e98c25","unresolved":false,"context_lines":[{"line_number":8297,"context_line":"            mac \u003d pci_utils.get_mac_by_pci_address(pci_address,"},{"line_number":8298,"context_line":"                                                   pf_interface\u003dTrue)"},{"line_number":8299,"context_line":"        except exception.PciDeviceNotFoundById:"},{"line_number":8300,"context_line":"            LOG.debug(\u0027Not exposing metadata for not found PCI device %s\u0027,"},{"line_number":8301,"context_line":"                      pci_address)"},{"line_number":8302,"context_line":"            return []"},{"line_number":8303,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_bcda93e6","line":8300,"range":{"start_line":8300,"start_character":49,"end_line":8300,"end_character":58},"updated":"2018-05-07 11:07:33.000000000","message":"missing?","commit_id":"7a5e0eaf9908e3fe73e59cfb610291f042d6b069"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"dc22d28b4fee77349cfa704634a056b5030cff83","unresolved":false,"context_lines":[{"line_number":8297,"context_line":"            mac \u003d pci_utils.get_mac_by_pci_address(pci_address,"},{"line_number":8298,"context_line":"                                                   pf_interface\u003dTrue)"},{"line_number":8299,"context_line":"        except exception.PciDeviceNotFoundById:"},{"line_number":8300,"context_line":"            LOG.debug(\u0027Not exposing metadata for not found PCI device %s\u0027,"},{"line_number":8301,"context_line":"                      pci_address)"},{"line_number":8302,"context_line":"            return []"},{"line_number":8303,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_4ad67a2a","line":8300,"range":{"start_line":8300,"start_character":49,"end_line":8300,"end_character":58},"in_reply_to":"5f7c97a3_bcda93e6","updated":"2018-05-14 19:54:58.000000000","message":"Sure.","commit_id":"7a5e0eaf9908e3fe73e59cfb610291f042d6b069"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a556a655c237e538be534970c4a5521cb017ad96","unresolved":false,"context_lines":[{"line_number":8627,"context_line":"            mac \u003d pci_utils.get_mac_by_pci_address(pci_address,"},{"line_number":8628,"context_line":"                                                   pf_interface\u003dTrue)"},{"line_number":8629,"context_line":"        except exception.PciDeviceNotFoundById:"},{"line_number":8630,"context_line":"            LOG.debug(\u0027Not exposing metadata for not found PCI device %s\u0027,"},{"line_number":8631,"context_line":"                      pci_address)"},{"line_number":8632,"context_line":"            return None"},{"line_number":8633,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_f6fcb50d","line":8630,"range":{"start_line":8630,"start_character":49,"end_line":8630,"end_character":59},"updated":"2018-06-05 15:11:23.000000000","message":"missing?","commit_id":"abd01a757b8a83d714a6ab8b5085e7cc1b4a2c5c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a556a655c237e538be534970c4a5521cb017ad96","unresolved":false,"context_lines":[{"line_number":8682,"context_line":"                                                        trusted_by_mac)"},{"line_number":8683,"context_line":"            if isinstance(dev, vconfig.LibvirtConfigGuestDisk):"},{"line_number":8684,"context_line":"                device \u003d self._build_disk_metadata(dev, tagged_bdms)"},{"line_number":8685,"context_line":"            if isinstance(dev, vconfig.LibvirtConfigGuestHostdevPCI):"},{"line_number":8686,"context_line":"                device \u003d self._build_hostdev_metadata(dev, vifs_to_expose,"},{"line_number":8687,"context_line":"                                                      vlans_by_mac)"},{"line_number":8688,"context_line":"            if device:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_9b11ea60","line":8685,"range":{"start_line":8685,"start_character":12,"end_line":8685,"end_character":15},"updated":"2018-06-05 15:11:23.000000000","message":"elif","commit_id":"abd01a757b8a83d714a6ab8b5085e7cc1b4a2c5c"}]}
