)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17130,"name":"melissaml","email":"ma.lei@99cloud.net","username":"malei"},"change_message_id":"e015cbf829be41ee93bf8815ac8d228449a047f6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Evgeny Antyshev \u003ceantyshev@virtuozzo.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-09-26 13:24:21 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Unify ploop format names in Openstack projects"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"qemu-img knows ploop disk format as \u0027parallels\u0027"},{"line_number":10,"context_line":"(by an enthusiastic programmer in 2007, it\u0027s a history now)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3a98d1f4_620f4488","line":7,"range":{"start_line":7,"start_character":28,"end_line":7,"end_character":37},"updated":"2016-10-01 13:35:10.000000000","message":"OpenStack","commit_id":"8aa8ca2d3b105a438e2df171fb54919f242bd3a9"},{"author":{"_account_id":13431,"name":"Evgeny Antyshev","email":"eantyshev@gmail.com","username":"eantyshev"},"change_message_id":"73e1bf8ad28a38be238faeb820b0dac5ccbb9f72","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Evgeny Antyshev \u003ceantyshev@virtuozzo.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-09-26 13:24:21 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Unify ploop format names in Openstack projects"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"qemu-img knows ploop disk format as \u0027parallels\u0027"},{"line_number":10,"context_line":"(by an enthusiastic programmer in 2007, it\u0027s a history now)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1a95cdbc_cd09ac33","line":7,"range":{"start_line":7,"start_character":28,"end_line":7,"end_character":37},"in_reply_to":"3a98d1f4_620f4488","updated":"2016-10-05 11:41:28.000000000","message":"Done","commit_id":"8aa8ca2d3b105a438e2df171fb54919f242bd3a9"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"e7acd9ce326cd5a73815ef96ae21626d37c68737","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Convert \u0027parallels\u0027 format name to \u0027ploop\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"qemu-img knows ploop disk format as \u0027parallels\u0027"},{"line_number":10,"context_line":"(by an enthusiastic programmer in 2007, it\u0027s a history now)"},{"line_number":11,"context_line":"But everywhere else this format is \u0027ploop\u0027:"},{"line_number":12,"context_line":"on its native OS VirtuozzoLinux, also in Nova and Libvirt,"},{"line_number":13,"context_line":"and we want Cinder think similar"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"1a6eadb0_e2c8a524","line":10,"range":{"start_line":10,"start_character":44,"end_line":10,"end_character":47},"updated":"2016-12-15 18:24:22.000000000","message":"\"it\u0027s history now\"","commit_id":"f362e5a4331171961f2e00161cdbdac306c9e257"},{"author":{"_account_id":13431,"name":"Evgeny Antyshev","email":"eantyshev@gmail.com","username":"eantyshev"},"change_message_id":"4d51e62f2fdfabd6d82d9ea4164afc0fd3731825","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Convert \u0027parallels\u0027 format name to \u0027ploop\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"qemu-img knows ploop disk format as \u0027parallels\u0027"},{"line_number":10,"context_line":"(by an enthusiastic programmer in 2007, it\u0027s a history now)"},{"line_number":11,"context_line":"But everywhere else this format is \u0027ploop\u0027:"},{"line_number":12,"context_line":"on its native OS VirtuozzoLinux, also in Nova and Libvirt,"},{"line_number":13,"context_line":"and we want Cinder think similar"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"1a6eadb0_2615369b","line":10,"range":{"start_line":10,"start_character":44,"end_line":10,"end_character":47},"in_reply_to":"1a6eadb0_e2c8a524","updated":"2016-12-16 09:40:30.000000000","message":"Done","commit_id":"f362e5a4331171961f2e00161cdbdac306c9e257"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"e7acd9ce326cd5a73815ef96ae21626d37c68737","unresolved":false,"context_lines":[{"line_number":10,"context_line":"(by an enthusiastic programmer in 2007, it\u0027s a history now)"},{"line_number":11,"context_line":"But everywhere else this format is \u0027ploop\u0027:"},{"line_number":12,"context_line":"on its native OS VirtuozzoLinux, also in Nova and Libvirt,"},{"line_number":13,"context_line":"and we want Cinder think similar"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This patch modifies qemu-img info results so that other"},{"line_number":16,"context_line":"Openstack code will see \u0027ploop\u0027 instead of \u0027parallels\u0027."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"1a6eadb0_62dd75df","line":13,"updated":"2016-12-15 18:24:22.000000000","message":"\u0027.\u0027","commit_id":"f362e5a4331171961f2e00161cdbdac306c9e257"},{"author":{"_account_id":13431,"name":"Evgeny Antyshev","email":"eantyshev@gmail.com","username":"eantyshev"},"change_message_id":"4d51e62f2fdfabd6d82d9ea4164afc0fd3731825","unresolved":false,"context_lines":[{"line_number":10,"context_line":"(by an enthusiastic programmer in 2007, it\u0027s a history now)"},{"line_number":11,"context_line":"But everywhere else this format is \u0027ploop\u0027:"},{"line_number":12,"context_line":"on its native OS VirtuozzoLinux, also in Nova and Libvirt,"},{"line_number":13,"context_line":"and we want Cinder think similar"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This patch modifies qemu-img info results so that other"},{"line_number":16,"context_line":"Openstack code will see \u0027ploop\u0027 instead of \u0027parallels\u0027."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"1a6eadb0_461872d3","line":13,"in_reply_to":"1a6eadb0_62dd75df","updated":"2016-12-16 09:40:30.000000000","message":"Done","commit_id":"f362e5a4331171961f2e00161cdbdac306c9e257"}],"cinder/image/image_utils.py":[{"author":{"_account_id":21284,"name":"Pavel Gluschak (scsnow)","email":"pglushchak@virtuozzo.com","username":"scsnow"},"change_message_id":"0cb08b1dd4c19fa0b672d46d5cdc22b671ba644c","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    # (by some enthusiastic programmer in 2007, it\u0027s a history now)"},{"line_number":78,"context_line":"    # But everywhere else this format is \u0027ploop\u0027 (e.g. Nova, libvirt),"},{"line_number":79,"context_line":"    # and we want Cinder think similar"},{"line_number":80,"context_line":"    if info.file_format \u003d\u003d \"parallels\":"},{"line_number":81,"context_line":"        info.file_format \u003d \"ploop\""},{"line_number":82,"context_line":"    return info"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ac06dbe_3bda6279","line":80,"updated":"2016-08-19 13:21:37.000000000","message":"I think that this conversion should be done directly in QemuImgInfo. However, I understand that this class is a part of oslo_utils.","commit_id":"32a92efb8e3a918292b926074561fae5b00095b0"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"4919ef85709e58e2cae7a1d938387a2f6c9a65ce","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        cmd \u003d cmd[2:]"},{"line_number":74,"context_line":"    out, _err \u003d utils.execute(*cmd, run_as_root\u003drun_as_root)"},{"line_number":75,"context_line":"    info \u003d imageutils.QemuImgInfo(out)"},{"line_number":76,"context_line":"    # qemu-img knows ploop disk format as \u0027parallels\u0027"},{"line_number":77,"context_line":"    # (by some enthusiastic programmer in 2007, it\u0027s a history now)"},{"line_number":78,"context_line":"    # But everywhere else this format is \u0027ploop\u0027 (e.g. Nova, libvirt),"},{"line_number":79,"context_line":"    # and we want Cinder think similar"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa7ab95a_86da6315","line":76,"updated":"2016-08-30 16:38:41.000000000","message":"Cinder\u0027s code should just represent what qemu-img knows rather than translating this.  I think you need to update qemu-img itself instead of image_utils.","commit_id":"dcdaed237d0031d6799b3f23583c07c8897ad32b"},{"author":{"_account_id":13431,"name":"Evgeny Antyshev","email":"eantyshev@gmail.com","username":"eantyshev"},"change_message_id":"5540f8cc049457c46cba172d9853f779da183c72","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        cmd \u003d cmd[2:]"},{"line_number":74,"context_line":"    out, _err \u003d utils.execute(*cmd, run_as_root\u003drun_as_root)"},{"line_number":75,"context_line":"    info \u003d imageutils.QemuImgInfo(out)"},{"line_number":76,"context_line":"    # qemu-img knows ploop disk format as \u0027parallels\u0027"},{"line_number":77,"context_line":"    # (by some enthusiastic programmer in 2007, it\u0027s a history now)"},{"line_number":78,"context_line":"    # But everywhere else this format is \u0027ploop\u0027 (e.g. Nova, libvirt),"},{"line_number":79,"context_line":"    # and we want Cinder think similar"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa7ab95a_3343746e","line":76,"in_reply_to":"fa7ab95a_86da6315","updated":"2016-08-31 08:20:20.000000000","message":"qemu-img works with Ploop images since 2007, and knows them as \"parallels\" images. We cannot switch qemu-img to call them \"ploop\" without breaking backwards-compatibility with various existing automation tools wrapping qemu-img.","commit_id":"dcdaed237d0031d6799b3f23583c07c8897ad32b"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d1ad8e22041ad6b4538a438bb7d4fb58a7f89569","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    # qemu-img knows ploop disk format as \u0027parallels\u0027"},{"line_number":81,"context_line":"    # (by some enthusiastic programmer in 2007, it\u0027s a history now)"},{"line_number":82,"context_line":"    # But everywhere else this format is \u0027ploop\u0027 (e.g. Nova, libvirt),"},{"line_number":83,"context_line":"    # and we want Cinder think similar"},{"line_number":84,"context_line":"    if info.file_format \u003d\u003d \"parallels\":"},{"line_number":85,"context_line":"        info.file_format \u003d \"ploop\""},{"line_number":86,"context_line":"    return info"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a8bc5a2_c1a80b7a","line":83,"updated":"2016-09-26 17:41:32.000000000","message":"Cinder can think similar as far as making constants named FORMAT_PLOOP\u003d\"parallels\", etc., but rewriting the output of qemu-img for your preferences is just going to confuse people with no real benefit.\n\nNeed to drop this part.","commit_id":"8aa8ca2d3b105a438e2df171fb54919f242bd3a9"},{"author":{"_account_id":13431,"name":"Evgeny Antyshev","email":"eantyshev@gmail.com","username":"eantyshev"},"change_message_id":"73e1bf8ad28a38be238faeb820b0dac5ccbb9f72","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    # qemu-img knows ploop disk format as \u0027parallels\u0027"},{"line_number":81,"context_line":"    # (by some enthusiastic programmer in 2007, it\u0027s a history now)"},{"line_number":82,"context_line":"    # But everywhere else this format is \u0027ploop\u0027 (e.g. Nova, libvirt),"},{"line_number":83,"context_line":"    # and we want Cinder think similar"},{"line_number":84,"context_line":"    if info.file_format \u003d\u003d \"parallels\":"},{"line_number":85,"context_line":"        info.file_format \u003d \"ploop\""},{"line_number":86,"context_line":"    return info"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_b1875a60","line":83,"in_reply_to":"5a8bc5a2_c1a80b7a","updated":"2016-10-05 11:41:28.000000000","message":"We could use \"parallels\", but we really want this format be named \"ploop\" as it is proprietary format, and \u0027parallels\u0027 name was introduced many years ago by third-party contributor.\n\nAgain, it is already \"ploop\" in Nova and in Libvirt. Essentially, this is a workaround for qemu-img bug.","commit_id":"8aa8ca2d3b105a438e2df171fb54919f242bd3a9"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"d8682964199dfe3429ee5266d94e599e8a3a2bf1","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    info \u003d imageutils.QemuImgInfo(out)"},{"line_number":82,"context_line":"    # qemu-img knows \u0027ploop\u0027 disk format as \u0027parallels\u0027"},{"line_number":83,"context_line":"    # we convert it here to use \u0027ploop\u0027 everywhere as other projects do."},{"line_number":84,"context_line":"    if info.file_format \u003d\u003d \"parallels\":"},{"line_number":85,"context_line":"        info.file_format \u003d \"ploop\""},{"line_number":86,"context_line":"    return info"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5a74a57a_eb562705","line":84,"range":{"start_line":84,"start_character":0,"end_line":84,"end_character":39},"updated":"2016-11-30 23:17:05.000000000","message":"I see no reason to add a custom handler here when it\u0027s not really needed.  This sort of thing makes the code a pain IMHO and there\u0027s really no compelling argument that I can understand to warrant it.  If you want to manipulate things in the VZ driver that\u0027s cool, but I don\u0027t see any value in mucking up the iamge_utils file here.","commit_id":"50fef559d6c86f1f06ac943c0f71d119fdc6ed41"}],"cinder/volume/drivers/vzstorage.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d1ad8e22041ad6b4538a438bb7d4fb58a7f89569","unresolved":false,"context_lines":[{"line_number":71,"context_line":"PLOOP_BASE_DELTA_NAME \u003d \u0027root.hds\u0027"},{"line_number":72,"context_line":"DISK_FORMAT_RAW \u003d \u0027raw\u0027"},{"line_number":73,"context_line":"DISK_FORMAT_QCOW2 \u003d \u0027qcow2\u0027"},{"line_number":74,"context_line":"DISK_FORMAT_PLOOP \u003d \u0027ploop\u0027"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"class PloopDevice(object):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a8bc5a2_61cc976a","line":74,"updated":"2016-09-26 17:41:32.000000000","message":"Just set this \u003d \u0027parallels\u0027 and this works fine.","commit_id":"8aa8ca2d3b105a438e2df171fb54919f242bd3a9"},{"author":{"_account_id":13431,"name":"Evgeny Antyshev","email":"eantyshev@gmail.com","username":"eantyshev"},"change_message_id":"73e1bf8ad28a38be238faeb820b0dac5ccbb9f72","unresolved":false,"context_lines":[{"line_number":71,"context_line":"PLOOP_BASE_DELTA_NAME \u003d \u0027root.hds\u0027"},{"line_number":72,"context_line":"DISK_FORMAT_RAW \u003d \u0027raw\u0027"},{"line_number":73,"context_line":"DISK_FORMAT_QCOW2 \u003d \u0027qcow2\u0027"},{"line_number":74,"context_line":"DISK_FORMAT_PLOOP \u003d \u0027ploop\u0027"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"class PloopDevice(object):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a95cdbc_f15d62ea","line":74,"in_reply_to":"5a8bc5a2_61cc976a","updated":"2016-10-05 11:41:28.000000000","message":"see my answer to your previous commit: this patch is a workaround for qemu-img bug.","commit_id":"8aa8ca2d3b105a438e2df171fb54919f242bd3a9"},{"author":{"_account_id":21284,"name":"Pavel Gluschak (scsnow)","email":"pglushchak@virtuozzo.com","username":"scsnow"},"change_message_id":"7e52cbdce3942091d4d0f3d819cefaff36eb885f","unresolved":false,"context_lines":[{"line_number":73,"context_line":"DISK_FORMAT_QCOW2 \u003d \u0027qcow2\u0027"},{"line_number":74,"context_line":"DISK_FORMAT_PLOOP \u003d \u0027ploop\u0027"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"# Due to the bug in qemu-img it calls ploop disk format"},{"line_number":77,"context_line":"# \"parallels\". Convert it here to properly name it in Cinder"},{"line_number":78,"context_line":"# and, hence, in Nova and Libvirt"},{"line_number":79,"context_line":"FROM_QEMU_FORMAT_MAP \u003d {k: k for k in image_utils.VALID_DISK_FORMATS}"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6eadb0_dd9e1162","line":76,"range":{"start_line":76,"start_character":13,"end_line":76,"end_character":16},"updated":"2016-12-16 08:16:52.000000000","message":"not really a bug, but \u0027feature\u0027","commit_id":"f362e5a4331171961f2e00161cdbdac306c9e257"},{"author":{"_account_id":13431,"name":"Evgeny Antyshev","email":"eantyshev@gmail.com","username":"eantyshev"},"change_message_id":"4d51e62f2fdfabd6d82d9ea4164afc0fd3731825","unresolved":false,"context_lines":[{"line_number":73,"context_line":"DISK_FORMAT_QCOW2 \u003d \u0027qcow2\u0027"},{"line_number":74,"context_line":"DISK_FORMAT_PLOOP \u003d \u0027ploop\u0027"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"# Due to the bug in qemu-img it calls ploop disk format"},{"line_number":77,"context_line":"# \"parallels\". Convert it here to properly name it in Cinder"},{"line_number":78,"context_line":"# and, hence, in Nova and Libvirt"},{"line_number":79,"context_line":"FROM_QEMU_FORMAT_MAP \u003d {k: k for k in image_utils.VALID_DISK_FORMATS}"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6eadb0_e61fbeb4","line":76,"range":{"start_line":76,"start_character":13,"end_line":76,"end_character":16},"in_reply_to":"1a6eadb0_dd9e1162","updated":"2016-12-16 09:40:30.000000000","message":"Done","commit_id":"f362e5a4331171961f2e00161cdbdac306c9e257"},{"author":{"_account_id":21284,"name":"Pavel Gluschak (scsnow)","email":"pglushchak@virtuozzo.com","username":"scsnow"},"change_message_id":"7e52cbdce3942091d4d0f3d819cefaff36eb885f","unresolved":false,"context_lines":[{"line_number":76,"context_line":"# Due to the bug in qemu-img it calls ploop disk format"},{"line_number":77,"context_line":"# \"parallels\". Convert it here to properly name it in Cinder"},{"line_number":78,"context_line":"# and, hence, in Nova and Libvirt"},{"line_number":79,"context_line":"FROM_QEMU_FORMAT_MAP \u003d {k: k for k in image_utils.VALID_DISK_FORMATS}"},{"line_number":80,"context_line":"FROM_QEMU_FORMAT_MAP[\u0027parallels\u0027] \u003d DISK_FORMAT_PLOOP"},{"line_number":81,"context_line":"TO_QEMU_FORMAT_MAP \u003d {v: k for k, v in FROM_QEMU_FORMAT_MAP.items()}"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"def _to_qemu_format(fmt):"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6eadb0_3d954532","line":81,"range":{"start_line":79,"start_character":0,"end_line":81,"end_character":68},"updated":"2016-12-16 08:16:52.000000000","message":"do we really need these additional data structures? we just need to add translation between parallels\u003c-\u003eploop, so we can make it simpler. see below.","commit_id":"f362e5a4331171961f2e00161cdbdac306c9e257"},{"author":{"_account_id":13431,"name":"Evgeny Antyshev","email":"eantyshev@gmail.com","username":"eantyshev"},"change_message_id":"4d51e62f2fdfabd6d82d9ea4164afc0fd3731825","unresolved":false,"context_lines":[{"line_number":76,"context_line":"# Due to the bug in qemu-img it calls ploop disk format"},{"line_number":77,"context_line":"# \"parallels\". Convert it here to properly name it in Cinder"},{"line_number":78,"context_line":"# and, hence, in Nova and Libvirt"},{"line_number":79,"context_line":"FROM_QEMU_FORMAT_MAP \u003d {k: k for k in image_utils.VALID_DISK_FORMATS}"},{"line_number":80,"context_line":"FROM_QEMU_FORMAT_MAP[\u0027parallels\u0027] \u003d DISK_FORMAT_PLOOP"},{"line_number":81,"context_line":"TO_QEMU_FORMAT_MAP \u003d {v: k for k, v in FROM_QEMU_FORMAT_MAP.items()}"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"def _to_qemu_format(fmt):"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6eadb0_a6dea6da","line":81,"range":{"start_line":79,"start_character":0,"end_line":81,"end_character":68},"in_reply_to":"1a6eadb0_3d954532","updated":"2016-12-16 09:40:30.000000000","message":"I know at least 1 example of inconsistency in qemu-img format names. See cinder/image/image_utils.py, it already converts legacy \"vpc\" to \"vhd\"\n\nSo, in case we are going to extend our driver, we\u0027ll need a mapping.","commit_id":"f362e5a4331171961f2e00161cdbdac306c9e257"},{"author":{"_account_id":21284,"name":"Pavel Gluschak (scsnow)","email":"pglushchak@virtuozzo.com","username":"scsnow"},"change_message_id":"7e52cbdce3942091d4d0f3d819cefaff36eb885f","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    param fmt: Qemu format name"},{"line_number":88,"context_line":"    \"\"\""},{"line_number":89,"context_line":"    return TO_QEMU_FORMAT_MAP[fmt]"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"def _from_qemu_format(fmt):"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6eadb0_3dbc65ba","line":89,"range":{"start_line":89,"start_character":4,"end_line":89,"end_character":34},"updated":"2016-12-16 08:16:52.000000000","message":"if fmt \u003d\u003d \u0027ploop\u0027:\n  return \u0027parallels\u0027\n\nreturn fmt","commit_id":"f362e5a4331171961f2e00161cdbdac306c9e257"},{"author":{"_account_id":13431,"name":"Evgeny Antyshev","email":"eantyshev@gmail.com","username":"eantyshev"},"change_message_id":"4d51e62f2fdfabd6d82d9ea4164afc0fd3731825","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    param fmt: Qemu format name"},{"line_number":88,"context_line":"    \"\"\""},{"line_number":89,"context_line":"    return TO_QEMU_FORMAT_MAP[fmt]"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"def _from_qemu_format(fmt):"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6eadb0_e6fb3e45","line":89,"range":{"start_line":89,"start_character":4,"end_line":89,"end_character":34},"in_reply_to":"1a6eadb0_3dbc65ba","updated":"2016-12-16 09:40:30.000000000","message":"Done","commit_id":"f362e5a4331171961f2e00161cdbdac306c9e257"},{"author":{"_account_id":21284,"name":"Pavel Gluschak (scsnow)","email":"pglushchak@virtuozzo.com","username":"scsnow"},"change_message_id":"7e52cbdce3942091d4d0f3d819cefaff36eb885f","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    param fmt: conventional format name"},{"line_number":96,"context_line":"    \"\"\""},{"line_number":97,"context_line":"    return FROM_QEMU_FORMAT_MAP[fmt]"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"class PloopDevice(object):"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6eadb0_bdc87556","line":97,"range":{"start_line":97,"start_character":4,"end_line":97,"end_character":36},"updated":"2016-12-16 08:16:52.000000000","message":"if fmt \u003d\u003d \u0027parallels\u0027:\n  return \u0027ploop\u0027\n\nreturn fmt","commit_id":"f362e5a4331171961f2e00161cdbdac306c9e257"},{"author":{"_account_id":13431,"name":"Evgeny Antyshev","email":"eantyshev@gmail.com","username":"eantyshev"},"change_message_id":"4d51e62f2fdfabd6d82d9ea4164afc0fd3731825","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    param fmt: conventional format name"},{"line_number":96,"context_line":"    \"\"\""},{"line_number":97,"context_line":"    return FROM_QEMU_FORMAT_MAP[fmt]"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"class PloopDevice(object):"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6eadb0_06f75a59","line":97,"range":{"start_line":97,"start_character":4,"end_line":97,"end_character":36},"in_reply_to":"1a6eadb0_bdc87556","updated":"2016-12-16 09:40:30.000000000","message":"Done","commit_id":"f362e5a4331171961f2e00161cdbdac306c9e257"},{"author":{"_account_id":21284,"name":"Pavel Gluschak (scsnow)","email":"pglushchak@virtuozzo.com","username":"scsnow"},"change_message_id":"8b84bdefe7e3dd7a28cf2b3d4850504dc8c6fc78","unresolved":false,"context_lines":[{"line_number":596,"context_line":"        self._qemu_img_info(new_snap_path, snapshot.volume.name)"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"    def delete_snapshot(self, snapshot):"},{"line_number":599,"context_line":"        volume_format \u003d self.get_volume_format(snapshot.volume)"},{"line_number":600,"context_line":"        if volume_format \u003d\u003d DISK_FORMAT_PLOOP:"},{"line_number":601,"context_line":"            self._delete_snapshot_ploop(snapshot)"},{"line_number":602,"context_line":"            return"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"        info_path \u003d self._local_path_volume_info(snapshot.volume)"},{"line_number":605,"context_line":"        snap_info \u003d self._read_info_file(info_path, empty_if_missing\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6eadb0_3d370500","line":602,"range":{"start_line":599,"start_character":8,"end_line":602,"end_character":18},"updated":"2016-12-16 08:25:17.000000000","message":"seems it\u0027s not related to issue addressed in this commit","commit_id":"f362e5a4331171961f2e00161cdbdac306c9e257"},{"author":{"_account_id":13431,"name":"Evgeny Antyshev","email":"eantyshev@gmail.com","username":"eantyshev"},"change_message_id":"4d51e62f2fdfabd6d82d9ea4164afc0fd3731825","unresolved":false,"context_lines":[{"line_number":596,"context_line":"        self._qemu_img_info(new_snap_path, snapshot.volume.name)"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"    def delete_snapshot(self, snapshot):"},{"line_number":599,"context_line":"        volume_format \u003d self.get_volume_format(snapshot.volume)"},{"line_number":600,"context_line":"        if volume_format \u003d\u003d DISK_FORMAT_PLOOP:"},{"line_number":601,"context_line":"            self._delete_snapshot_ploop(snapshot)"},{"line_number":602,"context_line":"            return"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"        info_path \u003d self._local_path_volume_info(snapshot.volume)"},{"line_number":605,"context_line":"        snap_info \u003d self._read_info_file(info_path, empty_if_missing\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6eadb0_a64226ac","line":602,"range":{"start_line":599,"start_character":8,"end_line":602,"end_character":18},"in_reply_to":"1a6eadb0_3d370500","updated":"2016-12-16 09:40:30.000000000","message":"This is not really important, just a minor code improvement. Hardly worth separate review.","commit_id":"f362e5a4331171961f2e00161cdbdac306c9e257"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"a91ff740816a0b84771fd0aa3a364e323fb9c17b","unresolved":false,"context_lines":[{"line_number":73,"context_line":"DISK_FORMAT_QCOW2 \u003d \u0027qcow2\u0027"},{"line_number":74,"context_line":"DISK_FORMAT_PLOOP \u003d \u0027ploop\u0027"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"# Due to the bug in qemu-img it calls ploop disk format"},{"line_number":77,"context_line":"# \"parallels\". Convert it here to properly name it in Cinder"},{"line_number":78,"context_line":"# and, hence, in Nova and Libvirt"},{"line_number":79,"context_line":"FROM_QEMU_FORMAT_MAP \u003d {k: k for k in image_utils.VALID_DISK_FORMATS}"}],"source_content_type":"text/x-python","patch_set":13,"id":"da4df55a_7ea133a9","line":76,"range":{"start_line":76,"start_character":6,"end_line":76,"end_character":28},"updated":"2016-12-22 17:28:32.000000000","message":"I woudn\u0027t call it bug, inconsistency maybe.","commit_id":"a3e06d4ad6f81812da603c61d6892854331de419"},{"author":{"_account_id":13431,"name":"Evgeny Antyshev","email":"eantyshev@gmail.com","username":"eantyshev"},"change_message_id":"84bb30cf968b685bef11de3aaaf7f85063458af0","unresolved":false,"context_lines":[{"line_number":73,"context_line":"DISK_FORMAT_QCOW2 \u003d \u0027qcow2\u0027"},{"line_number":74,"context_line":"DISK_FORMAT_PLOOP \u003d \u0027ploop\u0027"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"# Due to the bug in qemu-img it calls ploop disk format"},{"line_number":77,"context_line":"# \"parallels\". Convert it here to properly name it in Cinder"},{"line_number":78,"context_line":"# and, hence, in Nova and Libvirt"},{"line_number":79,"context_line":"FROM_QEMU_FORMAT_MAP \u003d {k: k for k in image_utils.VALID_DISK_FORMATS}"}],"source_content_type":"text/x-python","patch_set":13,"id":"da4df55a_1dd1a0fa","line":76,"range":{"start_line":76,"start_character":6,"end_line":76,"end_character":28},"in_reply_to":"da4df55a_7ea133a9","updated":"2016-12-27 14:30:38.000000000","message":"Done","commit_id":"a3e06d4ad6f81812da603c61d6892854331de419"}]}
