)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d8dc22e673caa826512f3e5b85cc6d2293525ea4","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"images: Allow the output format of qemu-img info to be controlled"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This will allow for the use of the JSON output format that is easier to"},{"line_number":10,"context_line":"parse within QemuImgInfo and should allow additional information to be"},{"line_number":11,"context_line":"extracted from qemu-img calls in the future."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I0b6d1a98726ffa1ebc78fb3c4563a2e4b40ddeff"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"1fa4df85_8cd8eb1e","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":5},"updated":"2020-03-11 11:49:48.000000000","message":"yep if we can avoid doing parsing of \"human readable\" formats and instead output in json or other \"machine readable\" formats that makes total sense to me","commit_id":"5fc7bca27ed754ccab9006c9a9602eb9bc14664d"}],"nova/privsep/qemu.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cdef41d1e6dd70952667349000b0f70b4a84175d","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"def unprivileged_qemu_img_info(path, format\u003dNone, qemu_version\u003dNone,"},{"line_number":95,"context_line":"                               output_format\u003dNone):"},{"line_number":96,"context_line":"    \"\"\"Return an object containing the parsed output from qemu-img info.\"\"\""},{"line_number":97,"context_line":"    try:"},{"line_number":98,"context_line":"        # The following check is about ploop images that reside within"},{"line_number":99,"context_line":"        # directories and always have DiskDescriptor.xml file beside them"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_03aedaa0","line":96,"updated":"2020-02-19 16:14:07.000000000","message":"a docstring here would be helpful. for others, \u0027format\u0027 refers to the disk format while \u0027output_format\u0027 refers to the format out the output tool","commit_id":"152278f7e1c96237acc80d197453de3d651d5b14"}],"nova/tests/unit/virt/libvirt/test_utils.py":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"59c2a9386d2830f7f334802e58483be60c285b02","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    @mock.patch(\u0027oslo_concurrency.processutils.execute\u0027)"},{"line_number":156,"context_line":"    def test_qemu_img_info_json(self, mock_execute, mock_exists):"},{"line_number":157,"context_line":"        path \u003d \"disk.config\""},{"line_number":158,"context_line":"        example_output \u003d \"\"\"{"},{"line_number":159,"context_line":"    \"virtual-size\": 67108864,"},{"line_number":160,"context_line":"    \"filename\": \"disk.config\","},{"line_number":161,"context_line":"    \"cluster-size\": 65536,"},{"line_number":162,"context_line":"    \"format\": \"raw\","},{"line_number":163,"context_line":"    \"actual-size\": 98304"},{"line_number":164,"context_line":"}"},{"line_number":165,"context_line":"\"\"\""},{"line_number":166,"context_line":"        mock_execute.return_value \u003d (example_output, \u0027\u0027)"},{"line_number":167,"context_line":"        image_info \u003d images.qemu_img_info(path, output_format\u003d\u0027json\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1fa4df85_12035675","line":164,"range":{"start_line":158,"start_character":25,"end_line":164,"end_character":1},"updated":"2020-03-17 17:29:32.000000000","message":"Not a big deal but textwrap.dedent [1] could be used here to keep lines aligned and a more confortable reading.\n\n[1] https://docs.python.org/3.7/library/textwrap.html#textwrap.dedent","commit_id":"28f3e0070a214f750ecad8bd8001ccb5c5c27fd4"}],"nova/virt/images.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"06faf868c8efad976a2c68b46029d055429dc4e9","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    if output_format:"},{"line_number":62,"context_line":"        return imageutils.QemuImgInfo(info, format\u003doutput_format)"},{"line_number":63,"context_line":"    else:"},{"line_number":64,"context_line":"        return imageutils.QemuImgInfo(info)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def convert_image(source, dest, in_format, out_format, run_as_root\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1fa4df85_3a02800b","line":64,"updated":"2020-03-06 16:26:39.000000000","message":"There\u0027s talk of changing the default version here in oslo.utils. That\u0027ll be a major version bump but I wonder if we want to head that off by explicitly passing \"format\u003d\u0027human\u0027\" here (or default \u0027output_format\u0027 to \u0027human\u0027 instead of None) until we migrate everything to \u0027json\u0027?","commit_id":"b2416d2a940ffdd25224dcbd560fe6f2b24fbf61"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"aa381b280e508a59ac9e4bde6a6e69c361337e2f","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    if output_format:"},{"line_number":62,"context_line":"        return imageutils.QemuImgInfo(info, format\u003doutput_format)"},{"line_number":63,"context_line":"    else:"},{"line_number":64,"context_line":"        return imageutils.QemuImgInfo(info)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def convert_image(source, dest, in_format, out_format, run_as_root\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1fa4df85_5acdfc2e","line":64,"in_reply_to":"1fa4df85_3a02800b","updated":"2020-03-06 16:57:05.000000000","message":"I could just default to output_format\u003d\u0027human\u0027 above and drop the use of a conditional here tbh. It would make switching everything over to JSON easier later on in the followup topic.","commit_id":"b2416d2a940ffdd25224dcbd560fe6f2b24fbf61"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"83429c93de34b527ff4a8e38c01f7de52be74516","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    if output_format:"},{"line_number":62,"context_line":"        return imageutils.QemuImgInfo(info, format\u003doutput_format)"},{"line_number":63,"context_line":"    else:"},{"line_number":64,"context_line":"        return imageutils.QemuImgInfo(info)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def convert_image(source, dest, in_format, out_format, run_as_root\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1fa4df85_da86ccb9","line":64,"in_reply_to":"1fa4df85_5acdfc2e","updated":"2020-03-06 16:59:39.000000000","message":"Actually no, some of our unit tests are really really naive and still assert the actual command used. \n\nIf we always add output_format to the qemu-img command this change is going to end up being mostly unit test churn.\n\nCan I handle this in a FUP?","commit_id":"b2416d2a940ffdd25224dcbd560fe6f2b24fbf61"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"45b0890646942b4b18e248d0db7bef7baaf6c90d","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    if output_format:"},{"line_number":62,"context_line":"        return imageutils.QemuImgInfo(info, format\u003doutput_format)"},{"line_number":63,"context_line":"    else:"},{"line_number":64,"context_line":"        return imageutils.QemuImgInfo(info)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def convert_image(source, dest, in_format, out_format, run_as_root\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1fa4df85_a03cf12e","line":64,"in_reply_to":"1fa4df85_aaa05091","updated":"2020-03-09 13:00:08.000000000","message":"I56676713571e79f05ee3f0bffc5da8386e02c5d4 posted on Friday, open question in there regarding the tests.","commit_id":"b2416d2a940ffdd25224dcbd560fe6f2b24fbf61"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"28c0a8ada3e394b0946d838406924012b7249c48","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    if output_format:"},{"line_number":62,"context_line":"        return imageutils.QemuImgInfo(info, format\u003doutput_format)"},{"line_number":63,"context_line":"    else:"},{"line_number":64,"context_line":"        return imageutils.QemuImgInfo(info)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def convert_image(source, dest, in_format, out_format, run_as_root\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1fa4df85_aaa05091","line":64,"in_reply_to":"1fa4df85_da86ccb9","updated":"2020-03-09 10:21:48.000000000","message":"Yeah, follow-up is fine","commit_id":"b2416d2a940ffdd25224dcbd560fe6f2b24fbf61"}]}
