)]}'
{"specs/train/leverage-compression-accelerator.rst":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"6220fd929f9d4e49870f49c9c277be814c6a12cf","unresolved":false,"context_lines":[{"line_number":19,"context_line":"When trying to upload volume to glance as image, currently all the format"},{"line_number":20,"context_line":"transformation is done by software and the performance is not good."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"For example, when uploading a volume of size 30GB with 12GB data resides,"},{"line_number":23,"context_line":"select qcow2 as the target image format, currently the tool used to do the"},{"line_number":24,"context_line":"transformation is qemu-img. This has below problems:"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"#. Low compression rate"},{"line_number":27,"context_line":"   After transforming, the output size is 12GB."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fce034c_dee40daf","line":24,"range":{"start_line":22,"start_character":0,"end_line":24,"end_character":52},"updated":"2019-04-15 14:16:27.000000000","message":"I think this may just indicate a missing feature in Cinder\u0027s current upload-to-image feature -- it doesn\u0027t seem to ever call \"qemu-img convert -c\" to enable compression for qcow2 image uploads.  It probably should.\n\nWrote a bug to track this:\n    https://bugs.launchpad.net/cinder/+bug/1824821","commit_id":"04e441983bd4a1b9bce24b7b3e0e9b6aec46d0cf"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"aeb9869306c9abf5cae3111d8839395a4d81d9c7","unresolved":false,"context_lines":[{"line_number":19,"context_line":"When trying to upload volume to glance as image, currently all the format"},{"line_number":20,"context_line":"transformation is done by software and the performance is not good."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"For example, when uploading a volume of size 30GB with 12GB data resides,"},{"line_number":23,"context_line":"select qcow2 as the target image format, currently the tool used to do the"},{"line_number":24,"context_line":"transformation is qemu-img. This has below problems:"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"#. Low compression rate"},{"line_number":27,"context_line":"   After transforming, the output size is 12GB."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fce034c_ea6499e7","line":24,"range":{"start_line":22,"start_character":0,"end_line":24,"end_character":52},"in_reply_to":"3fce034c_dee40daf","updated":"2019-04-16 02:05:34.000000000","message":"Thanks. I tested \"qemu-img convert -c\", time duration is 417 seconds. If directly use gzip, time is 303 seconds. \"-c\" seems really slow.\n\n---------------------------\ncompress to qcow2 using -c\n---------------------------\nTue Apr 16 02:26:03 PDT 2019\nTue Apr 16 02:33:00 PDT 2019\n---------------------------","commit_id":"04e441983bd4a1b9bce24b7b3e0e9b6aec46d0cf"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"6220fd929f9d4e49870f49c9c277be814c6a12cf","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"- Add a new disk format \u0027gz\u0027"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  In api schema, add format \u0027gz\u0027 so that cinder api can accept this format from"},{"line_number":62,"context_line":"  client, e.g. horizon"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fce034c_1e8935c9","line":59,"updated":"2019-04-15 14:16:27.000000000","message":"\u0027gz\u0027 isn\u0027t a standard format for cloud images, is this a gzipped raw image, or a compressed qcow2 image, or what?  Please add some info on this proposed format so we can ensure this is the appropriate name for it.","commit_id":"04e441983bd4a1b9bce24b7b3e0e9b6aec46d0cf"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"aeb9869306c9abf5cae3111d8839395a4d81d9c7","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"- Add a new disk format \u0027gz\u0027"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  In api schema, add format \u0027gz\u0027 so that cinder api can accept this format from"},{"line_number":62,"context_line":"  client, e.g. horizon"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fce034c_4a9b6dc8","line":59,"in_reply_to":"3fce034c_1e8935c9","updated":"2019-04-16 02:05:34.000000000","message":"It is gzipped raw image","commit_id":"04e441983bd4a1b9bce24b7b3e0e9b6aec46d0cf"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"61ae8dd6e7b35a15dedd39ce2cc329a9164ac97f","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"  This need to be done in cinder client and horizon"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"- Check if there are some hardware accelerators exist in the system"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Go through the accelerator tool list to find if any hardware accelerator"},{"line_number":76,"context_line":"  exist. If not exist, return failure to caller if gz format is selected."}],"source_content_type":"text/x-rst","patch_set":2,"id":"dfbec78f_373b3a39","line":73,"updated":"2019-05-03 15:46:53.000000000","message":"Where will this check be added?  in volume manager?  Please add more details on what components will be modified to handle what.","commit_id":"04e441983bd4a1b9bce24b7b3e0e9b6aec46d0cf"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"c9145a2fa6b9e08b916bafc9fbb5250c7fff5109","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"  This need to be done in cinder client and horizon"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"- Check if there are some hardware accelerators exist in the system"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Go through the accelerator tool list to find if any hardware accelerator"},{"line_number":76,"context_line":"  exist. If not exist, return failure to caller if gz format is selected."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fb8cfa7_55b827e4","line":73,"in_reply_to":"dfbec78f_373b3a39","updated":"2019-07-03 09:42:28.000000000","message":"This will be checked in the newly added file accelerator.py. At last this will call specific hardware\u0027s driver to check the existence.\n\nsee:\nhttps://review.opendev.org/#/c/668825/1/cinder/image/accelerators/qat.py -\u003e is_accel_exist","commit_id":"04e441983bd4a1b9bce24b7b3e0e9b6aec46d0cf"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"61ae8dd6e7b35a15dedd39ce2cc329a9164ac97f","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"REST API impact"},{"line_number":91,"context_line":"---------------"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Data model impact"},{"line_number":95,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dfbec78f_57826eca","line":92,"updated":"2019-05-03 15:46:53.000000000","message":"You are proposing to add a new \u0027gz\u0027 format to API, so there will be API impact that needs to be documented here.","commit_id":"04e441983bd4a1b9bce24b7b3e0e9b6aec46d0cf"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"61ae8dd6e7b35a15dedd39ce2cc329a9164ac97f","unresolved":false,"context_lines":[{"line_number":94,"context_line":"Data model impact"},{"line_number":95,"context_line":"-----------------"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"None"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Security impact"},{"line_number":100,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dfbec78f_575b4e86","line":97,"updated":"2019-05-03 15:46:53.000000000","message":"Does this format need to be saved somewhere in db?","commit_id":"04e441983bd4a1b9bce24b7b3e0e9b6aec46d0cf"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"c9145a2fa6b9e08b916bafc9fbb5250c7fff5109","unresolved":false,"context_lines":[{"line_number":94,"context_line":"Data model impact"},{"line_number":95,"context_line":"-----------------"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"None"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Security impact"},{"line_number":100,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fb8cfa7_759e8b6a","line":97,"in_reply_to":"dfbec78f_575b4e86","updated":"2019-07-03 09:42:28.000000000","message":"Just like other format did, this format would be also hardcoded in python file.","commit_id":"04e441983bd4a1b9bce24b7b3e0e9b6aec46d0cf"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"6220fd929f9d4e49870f49c9c277be814c6a12cf","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Performance Impact"},{"line_number":115,"context_line":"------------------"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"None"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fce034c_f9456344","line":116,"updated":"2019-04-15 14:16:27.000000000","message":"Hopefully has performance impact.","commit_id":"04e441983bd4a1b9bce24b7b3e0e9b6aec46d0cf"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"61ae8dd6e7b35a15dedd39ce2cc329a9164ac97f","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Performance Impact"},{"line_number":115,"context_line":"------------------"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"None"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dfbec78f_f74b62ad","line":116,"in_reply_to":"3fce034c_f9456344","updated":"2019-05-03 15:46:53.000000000","message":"+1.  I thought the purpose of this proposal is to improve the performance of upload volume to glance as image by leveraging hardware accelerator.","commit_id":"04e441983bd4a1b9bce24b7b3e0e9b6aec46d0cf"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"c9145a2fa6b9e08b916bafc9fbb5250c7fff5109","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Performance Impact"},{"line_number":115,"context_line":"------------------"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"None"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fb8cfa7_75876b14","line":116,"in_reply_to":"dfbec78f_f74b62ad","updated":"2019-07-03 09:42:28.000000000","message":"Done","commit_id":"04e441983bd4a1b9bce24b7b3e0e9b6aec46d0cf"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"6220fd929f9d4e49870f49c9c277be814c6a12cf","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Other deployer impact"},{"line_number":120,"context_line":"---------------------"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"None"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fce034c_7973b3b2","line":121,"updated":"2019-04-15 14:16:27.000000000","message":"Deployer impact \u003d hardware required to utilize this.","commit_id":"04e441983bd4a1b9bce24b7b3e0e9b6aec46d0cf"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"c9145a2fa6b9e08b916bafc9fbb5250c7fff5109","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Other deployer impact"},{"line_number":120,"context_line":"---------------------"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"None"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fb8cfa7_551027a9","line":121,"in_reply_to":"3fce034c_7973b3b2","updated":"2019-07-03 09:42:28.000000000","message":"Done","commit_id":"04e441983bd4a1b9bce24b7b3e0e9b6aec46d0cf"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"6220fd929f9d4e49870f49c9c277be814c6a12cf","unresolved":false,"context_lines":[{"line_number":155,"context_line":""},{"line_number":156,"context_line":"References"},{"line_number":157,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":".. [1]"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fce034c_19414f3a","line":158,"updated":"2019-04-15 14:16:27.000000000","message":"See some previous work in this direction here:\n    https://review.openstack.org/#/c/450291/","commit_id":"04e441983bd4a1b9bce24b7b3e0e9b6aec46d0cf"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f29fdd55336108c0b6eb82d8b90f07c1a954bcad","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"- Add a new disk format \u0027gzip\u0027"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  In api schema, add format \u0027gzip\u0027 so that cinder api can accept this format"},{"line_number":62,"context_line":"  from client, e.g. horizon"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_72e72c42","line":59,"updated":"2019-07-10 12:57:43.000000000","message":"Two things:\n\n(1) You\u0027ll need to propose a spec-lite to the glance-specs repo for this new format identifier.\n\n(2) I think that this should be a new *container* format, not a new disk format.  The container_format tells the image consumer how the thing is packaged, and the disk_format tells the consumer what they should expect to have after the thing is unpackaged.  (I think this is similar to the OVA case--you can have an image with container_format\u003d\u003dova, but the disk_format can be raw or vhd or vmdk or iso depending on what\u0027s in the package.","commit_id":"55493da36669c2034cb39e856e5c436ffed3b978"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"e1654b327c81a2093ebdabe98c123aa41e05be2b","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"- Add a new disk format \u0027gzip\u0027"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  In api schema, add format \u0027gzip\u0027 so that cinder api can accept this format"},{"line_number":62,"context_line":"  from client, e.g. horizon"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_8aa12b97","line":59,"in_reply_to":"7faddb67_72e72c42","updated":"2019-07-12 03:42:31.000000000","message":"(1)Will add glance spec-lite\n(2)Thanks for your explanation. Sounds reasonable to add gz as container format. Currently the image conversion is based on disk_format. If add as a container format, that means image compression will happen after image conversion, image decompression will happen before image conversion.","commit_id":"55493da36669c2034cb39e856e5c436ffed3b978"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f29fdd55336108c0b6eb82d8b90f07c1a954bcad","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"- Show \u0027gzip\u0027 in the disk format list when selecting a volume to upload"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"  This need to be done in cinder client and horizon"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"- Check if there are some hardware accelerators exist in the system"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_3238d49e","line":71,"updated":"2019-07-10 12:57:43.000000000","message":"I think there may also be some nova impact?","commit_id":"55493da36669c2034cb39e856e5c436ffed3b978"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"e1654b327c81a2093ebdabe98c123aa41e05be2b","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"- Show \u0027gzip\u0027 in the disk format list when selecting a volume to upload"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"  This need to be done in cinder client and horizon"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"- Check if there are some hardware accelerators exist in the system"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_eade9f0f","line":71,"in_reply_to":"7faddb67_3238d49e","updated":"2019-07-12 03:42:31.000000000","message":"If Nova bypass cinder, then it would be impacted, because Nova need to decompress image by itself","commit_id":"55493da36669c2034cb39e856e5c436ffed3b978"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f29fdd55336108c0b6eb82d8b90f07c1a954bcad","unresolved":false,"context_lines":[{"line_number":73,"context_line":"- Check if there are some hardware accelerators exist in the system"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Go through the accelerator tool list to find if any hardware accelerator"},{"line_number":76,"context_line":"  exist. If not exist, return failure to caller if gzip format is selected."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"  This will be done in ./cinder/image/accelerator.py, and at last, will call"},{"line_number":79,"context_line":"  the driver of accelerator to check the existence."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_72adec86","line":76,"range":{"start_line":76,"start_character":9,"end_line":76,"end_character":75},"updated":"2019-07-10 12:57:43.000000000","message":"This is going to be a problem for Horizon, because we\u0027ve already returned a 202 for the upload-volume-to-image action.  Is there any way we can fail faster so that the user gets immediate feedback that a gzipped image cannot be created?\n\nOr, do we need to allow a gzipped image to be created *even if* there is no hardware accelerator?","commit_id":"55493da36669c2034cb39e856e5c436ffed3b978"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"e1654b327c81a2093ebdabe98c123aa41e05be2b","unresolved":false,"context_lines":[{"line_number":73,"context_line":"- Check if there are some hardware accelerators exist in the system"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Go through the accelerator tool list to find if any hardware accelerator"},{"line_number":76,"context_line":"  exist. If not exist, return failure to caller if gzip format is selected."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"  This will be done in ./cinder/image/accelerator.py, and at last, will call"},{"line_number":79,"context_line":"  the driver of accelerator to check the existence."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_aafd076f","line":76,"range":{"start_line":76,"start_character":9,"end_line":76,"end_character":75},"in_reply_to":"7faddb67_72adec86","updated":"2019-07-12 03:42:31.000000000","message":"In the cinder weekly meeting, we agreed to switch to software solution if no hardware accelerator exist. So we always allow a gzipped image to be created.","commit_id":"55493da36669c2034cb39e856e5c436ffed3b978"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f29fdd55336108c0b6eb82d8b90f07c1a954bcad","unresolved":false,"context_lines":[{"line_number":90,"context_line":"  device is identified, then call qzip here to do the compression"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"- When creating volume from image, call hardware accelerator to do the"},{"line_number":93,"context_line":"  decompression"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Alternatives"},{"line_number":96,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_12e118ff","line":93,"updated":"2019-07-10 12:57:43.000000000","message":"... and I guess you fallback to software decompression?\n\nA use case for creating an image from a volume is to move a volume from one cloud to another.  So it\u0027s possible that the source cloud has an accelerator that allows the image to be gzipped, but the target cloud does not have an accelerator available.\n\nOr do we just say that a user should not select \u0027gzip\u0027 format if this is their use case?","commit_id":"55493da36669c2034cb39e856e5c436ffed3b978"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"e1654b327c81a2093ebdabe98c123aa41e05be2b","unresolved":false,"context_lines":[{"line_number":90,"context_line":"  device is identified, then call qzip here to do the compression"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"- When creating volume from image, call hardware accelerator to do the"},{"line_number":93,"context_line":"  decompression"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Alternatives"},{"line_number":96,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_0a1bfbcf","line":93,"in_reply_to":"7faddb67_12e118ff","updated":"2019-07-12 03:42:31.000000000","message":"We should fallback to software decompression if no hw accelerator exists.\n\ngzip format is very common, and is widely supported by hw accelerators. So as long as one such accelerator exists, the work flow will go to hw.","commit_id":"55493da36669c2034cb39e856e5c436ffed3b978"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f29fdd55336108c0b6eb82d8b90f07c1a954bcad","unresolved":false,"context_lines":[{"line_number":150,"context_line":"Work Items"},{"line_number":151,"context_line":"----------"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"* During image conversion, switch to hardware accelerator if possible"},{"line_number":154,"context_line":"* Implement a common framework for hw leverage in image conversion"},{"line_number":155,"context_line":"* Implement a typical hw accelerator in image conversion"},{"line_number":156,"context_line":"* Unit test be added"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_32077485","line":153,"range":{"start_line":153,"start_character":2,"end_line":153,"end_character":69},"updated":"2019-07-10 12:57:43.000000000","message":"Actually, your proposal above is a bit different.  You say that you\u0027ll fail the upload-volume-to-image action if \u0027gzip\u0027 is requested and a hardware accelerator is not present.","commit_id":"55493da36669c2034cb39e856e5c436ffed3b978"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"e1654b327c81a2093ebdabe98c123aa41e05be2b","unresolved":false,"context_lines":[{"line_number":150,"context_line":"Work Items"},{"line_number":151,"context_line":"----------"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"* During image conversion, switch to hardware accelerator if possible"},{"line_number":154,"context_line":"* Implement a common framework for hw leverage in image conversion"},{"line_number":155,"context_line":"* Implement a typical hw accelerator in image conversion"},{"line_number":156,"context_line":"* Unit test be added"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_ca1083ab","line":153,"range":{"start_line":153,"start_character":2,"end_line":153,"end_character":69},"in_reply_to":"7faddb67_32077485","updated":"2019-07-12 03:42:31.000000000","message":"Thanks for the correction. We should switch to software in case no hw.","commit_id":"55493da36669c2034cb39e856e5c436ffed3b978"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"58972046cb75cfe72058136a979503cfc8a2516b","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"References"},{"line_number":173,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"_`[1]` https://review.opendev.org/#/c/668825/"},{"line_number":176,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_8cf40788","line":174,"updated":"2019-07-10 16:46:05.000000000","message":"Related work:\n    https://review.opendev.org/#/c/668943/","commit_id":"55493da36669c2034cb39e856e5c436ffed3b978"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"e1654b327c81a2093ebdabe98c123aa41e05be2b","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"References"},{"line_number":173,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"_`[1]` https://review.opendev.org/#/c/668825/"},{"line_number":176,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_4a1c93c0","line":174,"in_reply_to":"7faddb67_8cf40788","updated":"2019-07-12 03:42:31.000000000","message":"Thanks, will add.","commit_id":"55493da36669c2034cb39e856e5c436ffed3b978"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"cabd312c7c62841a911201da949fcd82e4f842ee","unresolved":false,"context_lines":[{"line_number":51,"context_line":"Use Cases"},{"line_number":52,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* User want to upload volume to glance as a compressed image"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_6c24c15e","line":54,"range":{"start_line":54,"start_character":7,"end_line":54,"end_character":11},"updated":"2019-07-17 18:16:18.000000000","message":"wants","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"41b598abae0e192900a1dd81f79fd37711a48dbf","unresolved":false,"context_lines":[{"line_number":51,"context_line":"Use Cases"},{"line_number":52,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* User want to upload volume to glance as a compressed image"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_5375ddf8","line":54,"range":{"start_line":54,"start_character":7,"end_line":54,"end_character":11},"in_reply_to":"7faddb67_6c24c15e","updated":"2019-07-18 07:59:50.000000000","message":"Done","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"6571c6c48d5712b3b137fbdab29b367fe6f1feca","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"- Add a new container format \u0027gz\u0027"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  In api schema, add format \u0027gz\u0027 so that cinder api can accept this format from"},{"line_number":62,"context_line":"  client, e.g. horizon"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_b2b69289","line":59,"updated":"2019-07-17 21:25:12.000000000","message":"The proposal on the Glance side is to add a container_format named \u0027compressed\u0027.  I think that\u0027s what we should call it on the Cinder side as well.  We don\u0027t need to expose the algorithm to the end user (and that way we\u0027re not committed to a particular format, in case we want to change at some point).","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b7dea98a5ce3707bd1ca6cb907d9527642a3ad21","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"- Add a new container format \u0027gz\u0027"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  In api schema, add format \u0027gz\u0027 so that cinder api can accept this format from"},{"line_number":62,"context_line":"  client, e.g. horizon"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_a21f1506","line":59,"in_reply_to":"7faddb67_339b8118","updated":"2019-07-18 13:22:19.000000000","message":"I agree entirely.  Cinder can decide what actual compression algorithm we want to support, and we will only read/write that algorithm.  We do need to document clearly somewhere that Cinder will only support reading compressed images that have been created by Cinder.","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"41b598abae0e192900a1dd81f79fd37711a48dbf","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Proposed change"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"- Add a new container format \u0027gz\u0027"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  In api schema, add format \u0027gz\u0027 so that cinder api can accept this format from"},{"line_number":62,"context_line":"  client, e.g. horizon"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_339b8118","line":59,"in_reply_to":"7faddb67_b2b69289","updated":"2019-07-18 07:59:50.000000000","message":"I\u0027m OK with this. But cinder should has a default compression type, e.g. gzip, 7z or some others. gzip is widely supported by accelerators. The default compression type can be configurable","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"cabd312c7c62841a911201da949fcd82e4f842ee","unresolved":false,"context_lines":[{"line_number":75,"context_line":"- Check if there are some hardware accelerators exist in the system"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"  Go through the accelerator tool list to find if any hardware accelerator"},{"line_number":78,"context_line":"  exist. If not exist, failover to software solution if gz format is selected."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"  This will be done in ./cinder/image/accelerator.py, and at last, will call"},{"line_number":81,"context_line":"  the driver of accelerator to check the existence."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_6cfb61c0","line":78,"range":{"start_line":78,"start_character":12,"end_line":78,"end_character":15},"updated":"2019-07-17 18:16:18.000000000","message":"none","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"41b598abae0e192900a1dd81f79fd37711a48dbf","unresolved":false,"context_lines":[{"line_number":75,"context_line":"- Check if there are some hardware accelerators exist in the system"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"  Go through the accelerator tool list to find if any hardware accelerator"},{"line_number":78,"context_line":"  exist. If not exist, failover to software solution if gz format is selected."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"  This will be done in ./cinder/image/accelerator.py, and at last, will call"},{"line_number":81,"context_line":"  the driver of accelerator to check the existence."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_936fd529","line":78,"range":{"start_line":78,"start_character":12,"end_line":78,"end_character":15},"in_reply_to":"7faddb67_6cfb61c0","updated":"2019-07-18 07:59:50.000000000","message":"Done","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"c5990655a4fe3e0eccf95c42fdd6106dd8428f59","unresolved":false,"context_lines":[{"line_number":89,"context_line":"- Do image compression after convert_image but before uploading to glance"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"  Call the existing accelerator\u0027s tool to do the compression. e.g. if Intel QAT"},{"line_number":92,"context_line":"  device is identified, then call qzip here to do the compression"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"- Do image decompression after downloading from glance but before convert_image"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_af538e38","line":92,"updated":"2019-07-17 16:42:29.000000000","message":"Shouldn\u0027t this have the same fallback when hw accelerator exists that\u0027s applied in the decompression case below?","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"41b598abae0e192900a1dd81f79fd37711a48dbf","unresolved":false,"context_lines":[{"line_number":89,"context_line":"- Do image compression after convert_image but before uploading to glance"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"  Call the existing accelerator\u0027s tool to do the compression. e.g. if Intel QAT"},{"line_number":92,"context_line":"  device is identified, then call qzip here to do the compression"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"- Do image decompression after downloading from glance but before convert_image"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_f38409d5","line":92,"in_reply_to":"7faddb67_af538e38","updated":"2019-07-18 07:59:50.000000000","message":"Done, thanks","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"cabd312c7c62841a911201da949fcd82e4f842ee","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Alternatives"},{"line_number":101,"context_line":"------------"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"REST API impact"},{"line_number":105,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_acdb994c","line":102,"updated":"2019-07-17 18:16:18.000000000","message":"Should note here that we can just deal with the existing performance issues or that systems with improved processors could be used.  There are alternatives.","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"41b598abae0e192900a1dd81f79fd37711a48dbf","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Alternatives"},{"line_number":101,"context_line":"------------"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"REST API impact"},{"line_number":105,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_337f01e1","line":102,"in_reply_to":"7faddb67_acdb994c","updated":"2019-07-18 07:59:50.000000000","message":"Done","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"cabd312c7c62841a911201da949fcd82e4f842ee","unresolved":false,"context_lines":[{"line_number":104,"context_line":"REST API impact"},{"line_number":105,"context_line":"---------------"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Added the image type of \"gz\" when uploading volume to image"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Data model impact"},{"line_number":110,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_8ce49d0e","line":107,"range":{"start_line":107,"start_character":0,"end_line":107,"end_character":5},"updated":"2019-07-17 18:16:18.000000000","message":"Add","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"41b598abae0e192900a1dd81f79fd37711a48dbf","unresolved":false,"context_lines":[{"line_number":104,"context_line":"REST API impact"},{"line_number":105,"context_line":"---------------"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Added the image type of \"gz\" when uploading volume to image"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Data model impact"},{"line_number":110,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_731b39c9","line":107,"range":{"start_line":107,"start_character":0,"end_line":107,"end_character":5},"in_reply_to":"7faddb67_8ce49d0e","updated":"2019-07-18 07:59:50.000000000","message":"Done","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"cabd312c7c62841a911201da949fcd82e4f842ee","unresolved":false,"context_lines":[{"line_number":124,"context_line":"Other end user impact"},{"line_number":125,"context_line":"---------------------"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"None"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Performance Impact"},{"line_number":130,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_aca95990","line":127,"updated":"2019-07-17 18:16:18.000000000","message":"Do the users that want to use this need to make a change to their volume.filters or will you be doing this?","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"41b598abae0e192900a1dd81f79fd37711a48dbf","unresolved":false,"context_lines":[{"line_number":124,"context_line":"Other end user impact"},{"line_number":125,"context_line":"---------------------"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"None"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Performance Impact"},{"line_number":130,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_8110de4f","line":127,"in_reply_to":"7faddb67_aca95990","updated":"2019-07-18 07:59:50.000000000","message":"the developer who want to add support their accelerator hardware need to add the tool in volume.filters. So end user needn\u0027t to modify volume.filters","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"cabd312c7c62841a911201da949fcd82e4f842ee","unresolved":false,"context_lines":[{"line_number":130,"context_line":"------------------"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"* Less CPU comsuming"},{"line_number":133,"context_line":"* Less converting time"},{"line_number":134,"context_line":"* Smaller image size"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_0cc2ed59","line":133,"range":{"start_line":133,"start_character":7,"end_line":133,"end_character":17},"updated":"2019-07-17 18:16:18.000000000","message":"conversion","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"41b598abae0e192900a1dd81f79fd37711a48dbf","unresolved":false,"context_lines":[{"line_number":130,"context_line":"------------------"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"* Less CPU comsuming"},{"line_number":133,"context_line":"* Less converting time"},{"line_number":134,"context_line":"* Smaller image size"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_934115ac","line":133,"range":{"start_line":133,"start_character":7,"end_line":133,"end_character":17},"in_reply_to":"7faddb67_0cc2ed59","updated":"2019-07-18 07:59:50.000000000","message":"Done","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"cabd312c7c62841a911201da949fcd82e4f842ee","unresolved":false,"context_lines":[{"line_number":141,"context_line":"Developer impact"},{"line_number":142,"context_line":"----------------"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"None"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Implementation"},{"line_number":147,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_6cd2812a","line":144,"updated":"2019-07-17 18:16:18.000000000","message":"Developers that want to add support for other accelerators may need to add their tool to root wrap.  Correct?","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"41b598abae0e192900a1dd81f79fd37711a48dbf","unresolved":false,"context_lines":[{"line_number":141,"context_line":"Developer impact"},{"line_number":142,"context_line":"----------------"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"None"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Implementation"},{"line_number":147,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_3331415b","line":144,"in_reply_to":"7faddb67_6cd2812a","updated":"2019-07-18 07:59:50.000000000","message":"yes","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"cabd312c7c62841a911201da949fcd82e4f842ee","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Documentation Impact"},{"line_number":174,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"References"},{"line_number":178,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_ac82b9fe","line":175,"updated":"2019-07-17 18:16:18.000000000","message":"Documentation will be needed.  User documentation and possibly developer documentation on how to add an additional accelerator.","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"41b598abae0e192900a1dd81f79fd37711a48dbf","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Documentation Impact"},{"line_number":174,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"References"},{"line_number":178,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_131765a6","line":175,"in_reply_to":"7faddb67_ac82b9fe","updated":"2019-07-18 07:59:50.000000000","message":"make sense, thanks","commit_id":"ce129bc1819695e3fde8dd91febd682fc5e53cc7"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b7dea98a5ce3707bd1ca6cb907d9527642a3ad21","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"- Add a new container format \u0027compressed\u0027"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  In api schema, add format \u0027compressed\u0027 so that cinder api can accept this"},{"line_number":62,"context_line":"  format from client, e.g. horizon"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"  The disk format can be any type, e.g. \"raw\", \"qcow2\" and other."}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_4258a154","line":61,"range":{"start_line":61,"start_character":2,"end_line":61,"end_character":15},"updated":"2019-07-18 13:22:19.000000000","message":"Do you mean in cinder.api.schemas.volume_actions.volume_upload_image ?  Right now it accepts any string (more or less), it\u0027s not working with an enum.  Maybe we should introduce a configurable enum here so that we can control what container_format is allowed on the Cinder side (it could be a subset of what Glance allows).","commit_id":"93d4de55743795d220f96784e4cdda1ea97c7558"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"8b51eaeb7a686e75b32c9c4c728ba61584b4a56b","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"- Add a new container format \u0027compressed\u0027"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  In api schema, add format \u0027compressed\u0027 so that cinder api can accept this"},{"line_number":62,"context_line":"  format from client, e.g. horizon"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"  The disk format can be any type, e.g. \"raw\", \"qcow2\" and other."}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_42017337","line":61,"range":{"start_line":61,"start_character":2,"end_line":61,"end_character":15},"in_reply_to":"7faddb67_4258a154","updated":"2019-07-19 04:01:22.000000000","message":"correct, disk_format is controlled by enum, but container_format is not. So cinder api will not refuse the new container format even we don\u0027t add it explicitly.","commit_id":"93d4de55743795d220f96784e4cdda1ea97c7558"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b7dea98a5ce3707bd1ca6cb907d9527642a3ad21","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  In api schema, add format \u0027compressed\u0027 so that cinder api can accept this"},{"line_number":62,"context_line":"  format from client, e.g. horizon"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"  The disk format can be any type, e.g. \"raw\", \"qcow2\" and other."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"- Add compression tool of famous hardware accelerators into file volume.filters"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_9d67dee9","line":64,"range":{"start_line":64,"start_character":6,"end_line":64,"end_character":17},"updated":"2019-07-18 13:22:19.000000000","message":"this currently *is* controlled by an enum in cinder.api.schemas.volume_actions.volume_upload_image","commit_id":"93d4de55743795d220f96784e4cdda1ea97c7558"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"8b51eaeb7a686e75b32c9c4c728ba61584b4a56b","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  In api schema, add format \u0027compressed\u0027 so that cinder api can accept this"},{"line_number":62,"context_line":"  format from client, e.g. horizon"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"  The disk format can be any type, e.g. \"raw\", \"qcow2\" and other."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"- Add compression tool of famous hardware accelerators into file volume.filters"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_a29707ec","line":64,"range":{"start_line":64,"start_character":6,"end_line":64,"end_character":17},"in_reply_to":"7faddb67_9d67dee9","updated":"2019-07-19 04:01:22.000000000","message":"Done","commit_id":"93d4de55743795d220f96784e4cdda1ea97c7558"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b7dea98a5ce3707bd1ca6cb907d9527642a3ad21","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Another way is to use the improved processor with software solution, such as"},{"line_number":108,"context_line":"gzip. But the cost would be high vs dedicated hardware accelerator, and have no"},{"line_number":109,"context_line":"performance benefit."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"REST API impact"},{"line_number":112,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_5de08626","line":109,"updated":"2019-07-18 13:22:19.000000000","message":"Actually, your spec has changed so that we\u0027ll be using a software solution if hardware isn\u0027t available.  So this alternative is really to use software only without introducing the complexity of using a hardware accelerator (which is a worse alternative for the reasons you say, namely, that if the hardware is available, we should use it).","commit_id":"93d4de55743795d220f96784e4cdda1ea97c7558"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"8b51eaeb7a686e75b32c9c4c728ba61584b4a56b","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Another way is to use the improved processor with software solution, such as"},{"line_number":108,"context_line":"gzip. But the cost would be high vs dedicated hardware accelerator, and have no"},{"line_number":109,"context_line":"performance benefit."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"REST API impact"},{"line_number":112,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_228b17c3","line":109,"in_reply_to":"7faddb67_5de08626","updated":"2019-07-19 04:01:22.000000000","message":"revised, thanks","commit_id":"93d4de55743795d220f96784e4cdda1ea97c7558"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b7dea98a5ce3707bd1ca6cb907d9527642a3ad21","unresolved":false,"context_lines":[{"line_number":136,"context_line":"Performance Impact"},{"line_number":137,"context_line":"------------------"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"* Less CPU comsuming"},{"line_number":140,"context_line":"* Less conversion time"},{"line_number":141,"context_line":"* Smaller image size"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_5dfc06b4","line":140,"range":{"start_line":139,"start_character":0,"end_line":140,"end_character":22},"updated":"2019-07-18 13:22:19.000000000","message":"These are no longer necessarily true, because with the software fallback in the absence of a configured hardware accelerator, we will be consuming *more* CPU.","commit_id":"93d4de55743795d220f96784e4cdda1ea97c7558"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"8b51eaeb7a686e75b32c9c4c728ba61584b4a56b","unresolved":false,"context_lines":[{"line_number":136,"context_line":"Performance Impact"},{"line_number":137,"context_line":"------------------"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"* Less CPU comsuming"},{"line_number":140,"context_line":"* Less conversion time"},{"line_number":141,"context_line":"* Smaller image size"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_428653bb","line":140,"range":{"start_line":139,"start_character":0,"end_line":140,"end_character":22},"in_reply_to":"7faddb67_5dfc06b4","updated":"2019-07-19 04:01:22.000000000","message":"revised, thanks","commit_id":"93d4de55743795d220f96784e4cdda1ea97c7558"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b7dea98a5ce3707bd1ca6cb907d9527642a3ad21","unresolved":false,"context_lines":[{"line_number":143,"context_line":"Other deployer impact"},{"line_number":144,"context_line":"---------------------"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"* Need to install the driver and utility tool of the accelerator"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"Developer impact"},{"line_number":149,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_9dcd9e86","line":146,"updated":"2019-07-18 13:22:19.000000000","message":"We also have the case that if the hardware doesn\u0027t have an accelerator or if the tools aren\u0027t installed, there will be a performance impact -- unless we provide a config option to disallow the option for users to specify \u0027compressed\u0027 when uploading a volume to an image.  (I\u0027m not saying that we *must* provide a config option, I\u0027m just saying that we need to acknowledge this issue and decide what to do.)","commit_id":"93d4de55743795d220f96784e4cdda1ea97c7558"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"8b51eaeb7a686e75b32c9c4c728ba61584b4a56b","unresolved":false,"context_lines":[{"line_number":143,"context_line":"Other deployer impact"},{"line_number":144,"context_line":"---------------------"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"* Need to install the driver and utility tool of the accelerator"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"Developer impact"},{"line_number":149,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_e2909fef","line":146,"in_reply_to":"7faddb67_9dcd9e86","updated":"2019-07-19 04:01:22.000000000","message":"revised, thanks","commit_id":"93d4de55743795d220f96784e4cdda1ea97c7558"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b7dea98a5ce3707bd1ca6cb907d9527642a3ad21","unresolved":false,"context_lines":[{"line_number":176,"context_line":"Testing"},{"line_number":177,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"* Unit-tests, tempest and other related tests will be implemented."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Documentation Impact"},{"line_number":182,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_9d483e2d","line":179,"updated":"2019-07-18 13:22:19.000000000","message":"It may be worth noting here that we need to test this case in particular: when creating a volume from an image, an image with container_format \u003d\u003d \u0027compressed\u0027 may contain some format other than what Cinder supports -- we need to fail gracefully.  (How you do that is an implementation detail.)","commit_id":"93d4de55743795d220f96784e4cdda1ea97c7558"},{"author":{"_account_id":28948,"name":"Liang Fang","email":"liang.a.fang@intel.com","username":"liang"},"change_message_id":"8b51eaeb7a686e75b32c9c4c728ba61584b4a56b","unresolved":false,"context_lines":[{"line_number":176,"context_line":"Testing"},{"line_number":177,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"* Unit-tests, tempest and other related tests will be implemented."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Documentation Impact"},{"line_number":182,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_62b6ef8c","line":179,"in_reply_to":"7faddb67_9d483e2d","updated":"2019-07-19 04:01:22.000000000","message":"revised, thanks","commit_id":"93d4de55743795d220f96784e4cdda1ea97c7558"}]}
