)]}'
{"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"9ed0e4780ae188dc8ced263e62bef393775acdce","unresolved":false,"context_lines":[{"line_number":11307,"context_line":"                libvirt_driver.MAX_CONSOLE_BYTES \u003d prev_max"},{"line_number":11308,"context_line":""},{"line_number":11309,"context_line":"            self.assertEqual(b\u002767890\u0027, output)"},{"line_number":11310,"context_line":"            # FIXME(tonyb): Should we do check mock_chown is called?"},{"line_number":11311,"context_line":""},{"line_number":11312,"context_line":"    def test_get_console_output_file_missing(self):"},{"line_number":11313,"context_line":"        with utils.tempdir() as tmpdir:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_8f6b041e","line":11310,"range":{"start_line":11310,"start_character":12,"end_line":11310,"end_character":68},"updated":"2017-07-21 05:12:57.000000000","message":"Like what that guy says!  There are a few other opportunities to do that but given the next patch removes all the chowns it\u0027s probably wasted :D","commit_id":"8c83a27e891837378bafc09e7d9758627559f799"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":22406,"name":"Kien Nguyen","email":"kiennt2609@gmail.com","username":"kiennt"},"change_message_id":"285c6f4d835724c946957e820d96ad4eccfdc533","unresolved":false,"context_lines":[{"line_number":81,"context_line":"from nova.objects import migrate_data as migrate_data_obj"},{"line_number":82,"context_line":"from nova.pci import manager as pci_manager"},{"line_number":83,"context_line":"from nova.pci import utils as pci_utils"},{"line_number":84,"context_line":"from nova import privsep"},{"line_number":85,"context_line":"from nova import utils"},{"line_number":86,"context_line":"from nova import version"},{"line_number":87,"context_line":"from nova.virt import block_device as driver_block_device"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f201791_3d27a115","line":84,"updated":"2017-06-21 03:33:32.000000000","message":"I can\u0027t find this module. Please recheck.","commit_id":"664afa249c2b1bc70dcb3cdbe47bd507b5081081"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"9ed0e4780ae188dc8ced263e62bef393775acdce","unresolved":false,"context_lines":[{"line_number":3251,"context_line":"                                     image_id\u003ddisk_images[\u0027ramdisk_id\u0027])"},{"line_number":3252,"context_line":""},{"line_number":3253,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027uml\u0027:"},{"line_number":3254,"context_line":"            # PONDERING(mikal): can I assume that root is UID zero in every"},{"line_number":3255,"context_line":"            # OS? Probably not."},{"line_number":3256,"context_line":"            uid \u003d pwd.getpwnam(\u0027root\u0027).pw_uid"},{"line_number":3257,"context_line":"            privsep.chown(image(\u0027disk\u0027).path, uid, -1)"},{"line_number":3258,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_2fd630f3","line":3255,"range":{"start_line":3254,"start_character":0,"end_line":3255,"end_character":31},"updated":"2017-07-21 05:12:57.000000000","message":"Well uml \u003d\u003d User Mode Linux, and I\u0027m pretty confident that root\u003d0 where UML runs.","commit_id":"8c83a27e891837378bafc09e7d9758627559f799"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"4bd00d885442d60c5838dc769dd5469a3ab43b2f","unresolved":false,"context_lines":[{"line_number":1908,"context_line":"                time.sleep(0.5)"},{"line_number":1909,"context_line":""},{"line_number":1910,"context_line":"            dev.abort_job()"},{"line_number":1911,"context_line":"            dac_admin.chown(disk_delta, os.getuid(), -1)"},{"line_number":1912,"context_line":"        finally:"},{"line_number":1913,"context_line":"            self._host.write_instance_config(xml)"},{"line_number":1914,"context_line":"            if quiesced:"}],"source_content_type":"text/x-python","patch_set":28,"id":"7f287b81_df015a06","line":1911,"updated":"2017-09-06 12:34:37.000000000","message":"This makes me think chown should have optional params so this would be:\n\n  dac_admin.chown(disk_delta, uid\u003dos.getuid())","commit_id":"422ad221df3022532927159d836df5c6abce0fba"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"4bd00d885442d60c5838dc769dd5469a3ab43b2f","unresolved":false,"context_lines":[{"line_number":3229,"context_line":"                                     filename\u003dfname,"},{"line_number":3230,"context_line":"                                     image_id\u003ddisk_images[\u0027ramdisk_id\u0027])"},{"line_number":3231,"context_line":""},{"line_number":3232,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027uml\u0027:"},{"line_number":3233,"context_line":"            # PONDERING(mikal): can I assume that root is UID zero in every"},{"line_number":3234,"context_line":"            # OS? Probably not."},{"line_number":3235,"context_line":"            uid \u003d pwd.getpwnam(\u0027root\u0027).pw_uid"},{"line_number":3236,"context_line":"            dac_admin.chown(image(\u0027disk\u0027).path, uid, -1)"},{"line_number":3237,"context_line":""},{"line_number":3238,"context_line":"        self._create_and_inject_local_root(context, instance,"},{"line_number":3239,"context_line":"                                           booted_from_volume, suffix,"}],"source_content_type":"text/x-python","patch_set":28,"id":"7f287b81_3f1cde68","line":3236,"range":{"start_line":3232,"start_character":7,"end_line":3236,"end_character":56},"updated":"2017-09-06 12:34:37.000000000","message":"you can actually delete this whole section, it\u0027s for user mode linux, which we dropped support of finally.","commit_id":"422ad221df3022532927159d836df5c6abce0fba"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"82a84e228c45c23adeaf6933db032c2cfbe05cb4","unresolved":false,"context_lines":[{"line_number":3233,"context_line":"            # PONDERING(mikal): can I assume that root is UID zero in every"},{"line_number":3234,"context_line":"            # OS? Probably not."},{"line_number":3235,"context_line":"            uid \u003d pwd.getpwnam(\u0027root\u0027).pw_uid"},{"line_number":3236,"context_line":"            dac_admin.chown(image(\u0027disk\u0027).path, uid, -1)"},{"line_number":3237,"context_line":""},{"line_number":3238,"context_line":"        self._create_and_inject_local_root(context, instance,"},{"line_number":3239,"context_line":"                                           booted_from_volume, suffix,"}],"source_content_type":"text/x-python","patch_set":29,"id":"7f287b81_5eafa529","line":3236,"updated":"2017-09-06 17:08:39.000000000","message":"we really should delete uml","commit_id":"51a0640dc1dfca746584b715117d850de5ea63c2"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"32b3ae4b184f18f389c773054776723535d81e3b","unresolved":false,"context_lines":[{"line_number":3213,"context_line":"                                     filename\u003dfname,"},{"line_number":3214,"context_line":"                                     image_id\u003ddisk_images[\u0027ramdisk_id\u0027])"},{"line_number":3215,"context_line":""},{"line_number":3216,"context_line":"        if CONF.libvirt.virt_type \u003d\u003d \u0027uml\u0027:"},{"line_number":3217,"context_line":"            # PONDERING(mikal): can I assume that root is UID zero in every"},{"line_number":3218,"context_line":"            # OS? Probably not."},{"line_number":3219,"context_line":"            uid \u003d pwd.getpwnam(\u0027root\u0027).pw_uid"},{"line_number":3220,"context_line":"            dac_admin.chown(image(\u0027disk\u0027).path, uid\u003duid)"},{"line_number":3221,"context_line":""},{"line_number":3222,"context_line":"        self._create_and_inject_local_root(context, instance,"},{"line_number":3223,"context_line":"                                           booted_from_volume, suffix,"}],"source_content_type":"text/x-python","patch_set":30,"id":"7f287b81_827a31b7","line":3220,"range":{"start_line":3216,"start_character":8,"end_line":3220,"end_character":56},"updated":"2017-09-07 13:24:23.000000000","message":"I still think we could delete this whole thing rather than fix it.","commit_id":"893e90f53ac4d74c6d6c75fdffe2fe3a45314635"}]}
