)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"496b1df5f91326670215b541ac33d48a4f0d1a41","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     yenai \u003cyenai@cmss.chinamobile.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-04-18 16:52:47 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Create volume form raw image failed when qemu-img is not installed"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Get the minimal size(for image-volume) will use qemu-img directly."},{"line_number":10,"context_line":"It will raise ProcessExecutionError even if the image is raw(but"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fce034c_ee9c710f","line":7,"updated":"2019-04-18 13:24:33.000000000","message":"For future reference, commit summaries should not restate the bug. They should state what this commit is doing (and try to limit to 52 characters).\n\nThe reasoning is you should be able to do \"git log --oneline\" and be able to read through the commit messages to get an idea of the changes included.","commit_id":"889ddf19df83d4d86ea009edcc413c7513b86b46"},{"author":{"_account_id":25837,"name":"yenai","email":"yenai_yewu@cmss.chinamobile.com","username":"yenai2008"},"change_message_id":"209f0ee197fec3e64eaf574cc8372b94355023bb","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     yenai \u003cyenai@cmss.chinamobile.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-04-18 16:52:47 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Create volume form raw image failed when qemu-img is not installed"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Get the minimal size(for image-volume) will use qemu-img directly."},{"line_number":10,"context_line":"It will raise ProcessExecutionError even if the image is raw(but"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ffb9cba7_3b22faa5","line":7,"in_reply_to":"3fce034c_ee9c710f","updated":"2019-04-25 06:16:54.000000000","message":"Done\nIs this fine?","commit_id":"889ddf19df83d4d86ea009edcc413c7513b86b46"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"fde2ffbf79f143385019a6cf8bd6ed91905b2679","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     yenai \u003cyenai@cmss.chinamobile.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-04-26 09:54:59 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix creation failed when qemu-img is not installed"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Get the minimal size(for image-volume) will use qemu-img directly."},{"line_number":10,"context_line":"It will raise ProcessExecutionError even if the image is raw(but"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ffb9cba7_f1bea863","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":13},"updated":"2019-04-26 14:08:47.000000000","message":"creation from raw image","commit_id":"db015c87de74baf17eeaf442e1b3f7886ec27659"},{"author":{"_account_id":25837,"name":"yenai","email":"yenai_yewu@cmss.chinamobile.com","username":"yenai2008"},"change_message_id":"28085c808c40cf69f1f703a9a25209e1a92a40e6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     yenai \u003cyenai@cmss.chinamobile.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-04-26 09:54:59 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix creation failed when qemu-img is not installed"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Get the minimal size(for image-volume) will use qemu-img directly."},{"line_number":10,"context_line":"It will raise ProcessExecutionError even if the image is raw(but"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ffb9cba7_15d47347","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":13},"in_reply_to":"ffb9cba7_f1bea863","updated":"2019-04-28 07:25:14.000000000","message":"Done","commit_id":"db015c87de74baf17eeaf442e1b3f7886ec27659"}],"cinder/image/image_utils.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"496b1df5f91326670215b541ac33d48a4f0d1a41","unresolved":false,"context_lines":[{"line_number":688,"context_line":"def get_image_virtual_size(path, image_meta):"},{"line_number":689,"context_line":"    # Try to get virtual_size by qemu-img."},{"line_number":690,"context_line":"    # If qemu-img is not installed, get the size from glance matadata."},{"line_number":691,"context_line":"    virtual_size \u003d image_meta[\u0027size\u0027]"},{"line_number":692,"context_line":"    try:"},{"line_number":693,"context_line":"        data \u003d qemu_img_info(path)"},{"line_number":694,"context_line":"        virtual_size \u003d data.virtual_size"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fce034c_4ec585f0","line":691,"updated":"2019-04-18 13:24:33.000000000","message":"I seem to remember there being an issue with using virtual size, but unfortunately that was quite a while back so I can\u0027t remember the details. Also possible it has been addressed since then, but something we should watch out for.","commit_id":"889ddf19df83d4d86ea009edcc413c7513b86b46"},{"author":{"_account_id":25837,"name":"yenai","email":"yenai_yewu@cmss.chinamobile.com","username":"yenai2008"},"change_message_id":"209f0ee197fec3e64eaf574cc8372b94355023bb","unresolved":false,"context_lines":[{"line_number":688,"context_line":"def get_image_virtual_size(path, image_meta):"},{"line_number":689,"context_line":"    # Try to get virtual_size by qemu-img."},{"line_number":690,"context_line":"    # If qemu-img is not installed, get the size from glance matadata."},{"line_number":691,"context_line":"    virtual_size \u003d image_meta[\u0027size\u0027]"},{"line_number":692,"context_line":"    try:"},{"line_number":693,"context_line":"        data \u003d qemu_img_info(path)"},{"line_number":694,"context_line":"        virtual_size \u003d data.virtual_size"}],"source_content_type":"text/x-python","patch_set":1,"id":"ffb9cba7_801a917a","line":691,"in_reply_to":"3fce034c_4ec585f0","updated":"2019-04-25 06:16:54.000000000","message":"The current usage is like this, I just integrated the wrong branch processing.","commit_id":"889ddf19df83d4d86ea009edcc413c7513b86b46"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"1573b127e3b751fac786e2cb8ba72e90e0f65d41","unresolved":false,"context_lines":[{"line_number":692,"context_line":"    try:"},{"line_number":693,"context_line":"        data \u003d qemu_img_info(path)"},{"line_number":694,"context_line":"        virtual_size \u003d data.virtual_size"},{"line_number":695,"context_line":"    except processutils.ProcessExecutionError:"},{"line_number":696,"context_line":"        LOG.info(\"qemu-img is not installed, just get \""},{"line_number":697,"context_line":"                 \"image size from the glance metadata.\")"},{"line_number":698,"context_line":"    return virtual_size"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fce034c_4ecee52e","line":695,"updated":"2019-04-18 13:22:03.000000000","message":"This is too general of an exception check to generate the message below.  It could have failed for other various reasons.\n\nYou can find out if qemu-img is actually installed with get_qemu_img_version().","commit_id":"889ddf19df83d4d86ea009edcc413c7513b86b46"},{"author":{"_account_id":25837,"name":"yenai","email":"yenai_yewu@cmss.chinamobile.com","username":"yenai2008"},"change_message_id":"209f0ee197fec3e64eaf574cc8372b94355023bb","unresolved":false,"context_lines":[{"line_number":692,"context_line":"    try:"},{"line_number":693,"context_line":"        data \u003d qemu_img_info(path)"},{"line_number":694,"context_line":"        virtual_size \u003d data.virtual_size"},{"line_number":695,"context_line":"    except processutils.ProcessExecutionError:"},{"line_number":696,"context_line":"        LOG.info(\"qemu-img is not installed, just get \""},{"line_number":697,"context_line":"                 \"image size from the glance metadata.\")"},{"line_number":698,"context_line":"    return virtual_size"}],"source_content_type":"text/x-python","patch_set":1,"id":"ffb9cba7_fb3b02ce","line":695,"in_reply_to":"3fce034c_4ecee52e","updated":"2019-04-25 06:16:54.000000000","message":"Done\nI just find another bug and make a new patch, you can see here:\nhttps://bugs.launchpad.net/cinder/+bug/1826317\nhttps://review.opendev.org/#/c/655617/","commit_id":"889ddf19df83d4d86ea009edcc413c7513b86b46"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"fde2ffbf79f143385019a6cf8bd6ed91905b2679","unresolved":false,"context_lines":[{"line_number":693,"context_line":"        virtual_size \u003d image_meta[\u0027size\u0027]"},{"line_number":694,"context_line":"    else:"},{"line_number":695,"context_line":"        data \u003d qemu_img_info(path)"},{"line_number":696,"context_line":"        virtual_size \u003d data.virtual_size"},{"line_number":697,"context_line":"    return virtual_size"},{"line_number":698,"context_line":""},{"line_number":699,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ffb9cba7_3193e0fc","line":696,"updated":"2019-04-26 14:08:47.000000000","message":"It would be good to throw a warning here if data.virtual_size is different from image_meta[\u0027size\u0027], perhaps?","commit_id":"db015c87de74baf17eeaf442e1b3f7886ec27659"},{"author":{"_account_id":25837,"name":"yenai","email":"yenai_yewu@cmss.chinamobile.com","username":"yenai2008"},"change_message_id":"28085c808c40cf69f1f703a9a25209e1a92a40e6","unresolved":false,"context_lines":[{"line_number":693,"context_line":"        virtual_size \u003d image_meta[\u0027size\u0027]"},{"line_number":694,"context_line":"    else:"},{"line_number":695,"context_line":"        data \u003d qemu_img_info(path)"},{"line_number":696,"context_line":"        virtual_size \u003d data.virtual_size"},{"line_number":697,"context_line":"    return virtual_size"},{"line_number":698,"context_line":""},{"line_number":699,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ffb9cba7_f5ce7fb2","line":696,"in_reply_to":"ffb9cba7_3193e0fc","updated":"2019-04-28 07:25:14.000000000","message":"Done","commit_id":"db015c87de74baf17eeaf442e1b3f7886ec27659"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"420cd372160e6201188f6093d027e2f69b3d93c9","unresolved":false,"context_lines":[{"line_number":694,"context_line":"        data \u003d qemu_img_info(path)"},{"line_number":695,"context_line":"        virtual_size \u003d int(data.virtual_size)"},{"line_number":696,"context_line":"        if int(image_meta[\u0027size\u0027]) !\u003d virtual_size:"},{"line_number":697,"context_line":"            msg \u003d _(\"The virtual_size of qemu-img is different from size \""},{"line_number":698,"context_line":"                    \"of glance, we will use virtual_size for the minimum \""},{"line_number":699,"context_line":"                    \"disk size of this image. Image: %(image_id)s, \""},{"line_number":700,"context_line":"                    \"virtual_size: %(v_size)s, glance size: %(g_size)s.\") % {"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_6af8d37b","line":697,"range":{"start_line":697,"start_character":17,"end_line":697,"end_character":18},"updated":"2019-07-23 15:19:55.000000000","message":"Log messages should not be translated. Please remove the _().\n\nString should just be added to directly to the LOG.warning call and change the \u0027%\u0027 to \u0027,\u0027 so the logger handles formatting the string when needed.","commit_id":"2a970ed3302f6f575abec835b380915e4688a7a5"},{"author":{"_account_id":25837,"name":"yenai","email":"yenai_yewu@cmss.chinamobile.com","username":"yenai2008"},"change_message_id":"66e4c7674d5c68a48204cb0146b44311c2c0c056","unresolved":false,"context_lines":[{"line_number":694,"context_line":"        data \u003d qemu_img_info(path)"},{"line_number":695,"context_line":"        virtual_size \u003d int(data.virtual_size)"},{"line_number":696,"context_line":"        if int(image_meta[\u0027size\u0027]) !\u003d virtual_size:"},{"line_number":697,"context_line":"            msg \u003d _(\"The virtual_size of qemu-img is different from size \""},{"line_number":698,"context_line":"                    \"of glance, we will use virtual_size for the minimum \""},{"line_number":699,"context_line":"                    \"disk size of this image. Image: %(image_id)s, \""},{"line_number":700,"context_line":"                    \"virtual_size: %(v_size)s, glance size: %(g_size)s.\") % {"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_603d472b","line":697,"range":{"start_line":697,"start_character":17,"end_line":697,"end_character":18},"in_reply_to":"7faddb67_6af8d37b","updated":"2019-07-24 08:23:46.000000000","message":"I get it.\nDone.\nAlso fix others in this file.","commit_id":"2a970ed3302f6f575abec835b380915e4688a7a5"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"cc4984ce21600dbc5b92700d44f89675d83b62ec","unresolved":false,"context_lines":[{"line_number":701,"context_line":"                   {\"image_id\": image_meta[\u0027id\u0027],"},{"line_number":702,"context_line":"                    \"v_size\": virtual_size,"},{"line_number":703,"context_line":"                    \"g_size\": image_meta[\u0027size\u0027]})"},{"line_number":704,"context_line":"            LOG.warning(msg)"},{"line_number":705,"context_line":"    return virtual_size"},{"line_number":706,"context_line":""},{"line_number":707,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_2ea208fe","line":704,"updated":"2019-10-17 20:42:06.000000000","message":"Why is this logged as a warning?  What should an admin do when this message appears?","commit_id":"471ddd40312c3d3492179bfc3483dc7295c0aecc"}],"cinder/tests/unit/test_image_utils.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"1573b127e3b751fac786e2cb8ba72e90e0f65d41","unresolved":false,"context_lines":[{"line_number":1913,"context_line":"    @mock.patch(\u0027cinder.image.image_utils.qemu_img_info\u0027)"},{"line_number":1914,"context_line":"    def test_get_image_virtual_size(self, mock_info):"},{"line_number":1915,"context_line":"        path \u003d mock.sentinel.dest"},{"line_number":1916,"context_line":"        image_meta \u003d {\u0027size\u0027: 2147483648}"},{"line_number":1917,"context_line":"        qemu_img_size \u003d 1073741824"},{"line_number":1918,"context_line":"        mock_info.return_value.virtual_size \u003d qemu_img_size"},{"line_number":1919,"context_line":"        virtual_size \u003d image_utils.get_image_virtual_size(path, image_meta)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fce034c_8edfedd4","line":1916,"range":{"start_line":1916,"start_character":30,"end_line":1916,"end_character":40},"updated":"2019-04-18 13:22:03.000000000","message":"2 * units.Gi","commit_id":"889ddf19df83d4d86ea009edcc413c7513b86b46"}]}
