)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fa6df2e6a420b1dc35937e5ce00b66fe5bfa511e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5f7c97a3_1cb707d8","line":14,"updated":"2018-05-07 10:57:40.000000000","message":"Related-bug: ?","commit_id":"99c0935b324ec746b8bf3ed5c01b23aa40230245"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"a4847f113b10ab7780cf103530d418d2ed9df99c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5f7c97a3_af2720ca","line":14,"in_reply_to":"5f7c97a3_1cb707d8","updated":"2018-05-14 19:49:57.000000000","message":"Done","commit_id":"99c0935b324ec746b8bf3ed5c01b23aa40230245"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"88a4622fd9b9df491a5cd49f22f0e3e332d0c010","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch splits out interface and disk metadata generation into its"},{"line_number":10,"context_line":"own function each, in preparation for handling hostdev metadata"},{"line_number":11,"context_line":"generation in a subsequent patch. It also adds some debug logging."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Related-bug: 1743458"},{"line_number":14,"context_line":"Change-Id: I318b9118c97d7bf2b61bc45698443e8d0255ff6f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5f7c97a3_9b432a6d","line":11,"range":{"start_line":11,"start_character":34,"end_line":11,"end_character":66},"updated":"2018-06-05 15:08:15.000000000","message":"Was going to lambaste you for not calling this out in your commit message. Foiled again.","commit_id":"d16d0d553b20fd45a83cf7c68bc477b97aece9a1"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a602aed059d83f3ad4964a9c594e1455db5531a5","unresolved":false,"context_lines":[{"line_number":8222,"context_line":"            bus.address \u003d address"},{"line_number":8223,"context_line":"        return bus"},{"line_number":8224,"context_line":""},{"line_number":8225,"context_line":"    def _build_interface_metadata(self, context, instance, dev, vifs_to_expose,"},{"line_number":8226,"context_line":"                                  vlans_by_mac):"},{"line_number":8227,"context_line":"        \"\"\"Builds a metadata object for a network interface"},{"line_number":8228,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_6c47d6bd","line":8225,"range":{"start_line":8225,"start_character":40,"end_line":8225,"end_character":59},"updated":"2018-05-14 18:42:09.000000000","message":"context and instance are not used in this internal function, and I guess that is a reason why this docstring doesn\u0027t contain these explanations.\nHow about removing them from this arguments?","commit_id":"99c0935b324ec746b8bf3ed5c01b23aa40230245"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"a4847f113b10ab7780cf103530d418d2ed9df99c","unresolved":false,"context_lines":[{"line_number":8222,"context_line":"            bus.address \u003d address"},{"line_number":8223,"context_line":"        return bus"},{"line_number":8224,"context_line":""},{"line_number":8225,"context_line":"    def _build_interface_metadata(self, context, instance, dev, vifs_to_expose,"},{"line_number":8226,"context_line":"                                  vlans_by_mac):"},{"line_number":8227,"context_line":"        \"\"\"Builds a metadata object for a network interface"},{"line_number":8228,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_2ace9eb3","line":8225,"range":{"start_line":8225,"start_character":40,"end_line":8225,"end_character":59},"in_reply_to":"5f7c97a3_6c47d6bd","updated":"2018-05-14 19:49:57.000000000","message":"Done","commit_id":"99c0935b324ec746b8bf3ed5c01b23aa40230245"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fa6df2e6a420b1dc35937e5ce00b66fe5bfa511e","unresolved":false,"context_lines":[{"line_number":8231,"context_line":"                               VirtualInterface objects."},{"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)_metadata."},{"line_number":8237,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_bca29399","line":8234,"range":{"start_line":8234,"start_character":31,"end_line":8234,"end_character":35},"updated":"2018-05-07 10:57:40.000000000","message":"If you really think this is a hack and are not happy with it, why not return device or None and use the extra lines to handle this below\n\n   device \u003d self._build_interface_metadata(...)\n   if device:\n       devices.append(device)","commit_id":"99c0935b324ec746b8bf3ed5c01b23aa40230245"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"a4847f113b10ab7780cf103530d418d2ed9df99c","unresolved":false,"context_lines":[{"line_number":8231,"context_line":"                               VirtualInterface objects."},{"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)_metadata."},{"line_number":8237,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_ca760a71","line":8234,"range":{"start_line":8234,"start_character":31,"end_line":8234,"end_character":35},"in_reply_to":"5f7c97a3_bca29399","updated":"2018-05-14 19:49:57.000000000","message":"Done","commit_id":"99c0935b324ec746b8bf3ed5c01b23aa40230245"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fa6df2e6a420b1dc35937e5ce00b66fe5bfa511e","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)_metadata."},{"line_number":8237,"context_line":"        \"\"\""},{"line_number":8238,"context_line":"        vif \u003d vifs_to_expose.get(dev.mac_addr)"},{"line_number":8239,"context_line":"        if not vif:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_7c771b3c","line":8236,"range":{"start_line":8235,"start_character":0,"end_line":8236,"end_character":50},"updated":"2018-05-07 10:57:40.000000000","message":"Is this English? :)","commit_id":"99c0935b324ec746b8bf3ed5c01b23aa40230245"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"b027fe8407cbccda490e5f1fe6916d7eb24cba9f","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)_metadata."},{"line_number":8237,"context_line":"        \"\"\""},{"line_number":8238,"context_line":"        vif \u003d vifs_to_expose.get(dev.mac_addr)"},{"line_number":8239,"context_line":"        if not vif:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_dc5c2f4d","line":8236,"range":{"start_line":8235,"start_character":0,"end_line":8236,"end_character":50},"in_reply_to":"5f7c97a3_7c771b3c","updated":"2018-05-07 11:17:40.000000000","message":"It\u0027s my patent-pending regex/English mix. I call it Rengex.","commit_id":"99c0935b324ec746b8bf3ed5c01b23aa40230245"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a602aed059d83f3ad4964a9c594e1455db5531a5","unresolved":false,"context_lines":[{"line_number":8251,"context_line":"            device.vlan \u003d int(vlan)"},{"line_number":8252,"context_line":"        return [device]"},{"line_number":8253,"context_line":""},{"line_number":8254,"context_line":"    def _build_disk_metadata(self, context, instance, dev, tagged_bdms):"},{"line_number":8255,"context_line":"        \"\"\"Builds a metadata object for a disk"},{"line_number":8256,"context_line":""},{"line_number":8257,"context_line":"        :param dev: The vconfig.LibvirtConfigGuestDisk to build metadata for."}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_ec0c4695","line":8254,"range":{"start_line":8254,"start_character":35,"end_line":8254,"end_character":53},"updated":"2018-05-14 18:42:09.000000000","message":"ditto","commit_id":"99c0935b324ec746b8bf3ed5c01b23aa40230245"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"a4847f113b10ab7780cf103530d418d2ed9df99c","unresolved":false,"context_lines":[{"line_number":8251,"context_line":"            device.vlan \u003d int(vlan)"},{"line_number":8252,"context_line":"        return [device]"},{"line_number":8253,"context_line":""},{"line_number":8254,"context_line":"    def _build_disk_metadata(self, context, instance, dev, tagged_bdms):"},{"line_number":8255,"context_line":"        \"\"\"Builds a metadata object for a disk"},{"line_number":8256,"context_line":""},{"line_number":8257,"context_line":"        :param dev: The vconfig.LibvirtConfigGuestDisk to build metadata for."}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_cac84aa7","line":8254,"range":{"start_line":8254,"start_character":35,"end_line":8254,"end_character":53},"in_reply_to":"5f7c97a3_ec0c4695","updated":"2018-05-14 19:49:57.000000000","message":"Done","commit_id":"99c0935b324ec746b8bf3ed5c01b23aa40230245"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"88a4622fd9b9df491a5cd49f22f0e3e332d0c010","unresolved":false,"context_lines":[{"line_number":8569,"context_line":"                               associations."},{"line_number":8570,"context_line":"        :return: A NetworkInterfaceMetadata object, or None."},{"line_number":8571,"context_line":"        \"\"\""},{"line_number":8572,"context_line":"        vif \u003d vifs_to_expose.get(dev.mac_addr)"},{"line_number":8573,"context_line":"        if not vif:"},{"line_number":8574,"context_line":"            LOG.debug(\u0027No VIF found with MAC %s, not building metadata\u0027,"},{"line_number":8575,"context_line":"                      dev.mac_addr)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_db60c210","line":8572,"range":{"start_line":8572,"start_character":37,"end_line":8572,"end_character":45},"updated":"2018-06-05 15:08:15.000000000","message":"This is always set in \u0027nova/virt/libvirt/designer.py\u0027 so we\u0027re good here","commit_id":"d16d0d553b20fd45a83cf7c68bc477b97aece9a1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"88a4622fd9b9df491a5cd49f22f0e3e332d0c010","unresolved":false,"context_lines":[{"line_number":8644,"context_line":"                device \u003d self._build_interface_metadata(dev, vifs_to_expose,"},{"line_number":8645,"context_line":"                                                        vlans_by_mac,"},{"line_number":8646,"context_line":"                                                        trusted_by_mac)"},{"line_number":8647,"context_line":"            if isinstance(dev, vconfig.LibvirtConfigGuestDisk):"},{"line_number":8648,"context_line":"                device \u003d self._build_disk_metadata(dev, tagged_bdms)"},{"line_number":8649,"context_line":"            if device:"},{"line_number":8650,"context_line":"                devices.append(device)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_1be2baa1","line":8647,"range":{"start_line":8647,"start_character":12,"end_line":8647,"end_character":15},"updated":"2018-06-05 15:08:15.000000000","message":"nit: elif?","commit_id":"d16d0d553b20fd45a83cf7c68bc477b97aece9a1"}]}
