)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"495d9ab1a7ac263047faf3b58bb42e1f4a94687b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0aaf6981_2b04fb2e","updated":"2024-06-18 14:36:31.000000000","message":"Looks good, just one concern inline.","commit_id":"26ebee33c7a4ef15fd9f5b166ed1e698e881fb53"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"0a195030f5a18b90a1e80af6fcc59b21b9b390f5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6b6f380e_fb0db2ed","updated":"2024-06-27 13:50:50.000000000","message":"Looks good to me as well, but I think we should answer Matthew\u0027s comments before merging this spec and going forward.","commit_id":"3d62a918a24932401408b6753a98b5fe1137613c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b07050fa2bd0a1354e8274ea6ad5484e12170931","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"17788847_84917ada","updated":"2024-07-18 16:17:56.000000000","message":"Submitted as a follow-up.","commit_id":"3d62a918a24932401408b6753a98b5fe1137613c"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b29f52df36ea4d8b715e5f0db0443e55d2aa389b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0c668c3a_bdb802c1","updated":"2024-06-26 05:35:53.000000000","message":"Thank you, looks good to me!","commit_id":"3d62a918a24932401408b6753a98b5fe1137613c"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"7d8962d5ab3a68830c5b2d75310e254101973b8e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e20d5e26_8acdb09e","in_reply_to":"6b6f380e_fb0db2ed","updated":"2024-07-18 14:25:06.000000000","message":"Since we have already passed the spec freeze deadline and there are no updates here from the spec owner, we have to move this to next cycle unfortunately.","commit_id":"3d62a918a24932401408b6753a98b5fe1137613c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"807d1740d3b47e3927f7bf4a12cef162a3c5a5c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c63d62c1_4bd3cd17","in_reply_to":"e20d5e26_8acdb09e","updated":"2024-07-18 16:21:38.000000000","message":"Sorry for not getting back to this sooner: I\u0027ve been swamped. Hopefully the fact that there was broad agreement on this previously (including 2 +2s) means we might be able to revisit this decision. I already have WIP patches up and should have no issues completing this work in D if we can. I have posted my follow-up as a separate PR since the main change is to additive rather than a complete rewrite/change of direction.","commit_id":"3d62a918a24932401408b6753a98b5fe1137613c"}],"specs/2024.2/approved/glance/image-import-plugins-api.rst":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"495d9ab1a7ac263047faf3b58bb42e1f4a94687b","unresolved":true,"context_lines":[{"line_number":8,"context_line":"Image Import Plugins API"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/glance/+spec/image-import-plugins-api"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"94a52123_c8a7da1f","line":11,"updated":"2024-06-18 14:36:31.000000000","message":"I think you can remove this","commit_id":"26ebee33c7a4ef15fd9f5b166ed1e698e881fb53"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"98e2a6b37607528d6c7355533effd678c11e99a5","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Image Import Plugins API"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/glance/+spec/image-import-plugins-api"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"c79c5f48_d27a8222","line":11,"in_reply_to":"94a52123_c8a7da1f","updated":"2024-06-19 10:19:01.000000000","message":"Done","commit_id":"26ebee33c7a4ef15fd9f5b166ed1e698e881fb53"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"495d9ab1a7ac263047faf3b58bb42e1f4a94687b","unresolved":true,"context_lines":[{"line_number":36,"context_line":"be a mapping of plugin names to configuration. Only plugins that have"},{"line_number":37,"context_line":"a user-facing impact and, in the case of out-of-tree plugins, that the operator"},{"line_number":38,"context_line":"wants wishes to document, will be included."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Alternatives"},{"line_number":41,"context_line":"------------"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"aeff87d7_61579234","line":39,"updated":"2024-06-18 14:36:31.000000000","message":"At the moment we are assuming that user will set container_format as compressed so that even if decompression plugin is enabled then it will not do the further decompression [1]\n\nDo we now add a specific check to exclude decompression task from the flow or change decompression plugin since if it is enabled it is not obvious that every time user will provide compressed image?\n\nOr we need to document it precisely.","commit_id":"26ebee33c7a4ef15fd9f5b166ed1e698e881fb53"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"bb4cbf9c03eed5b9649dba908eff5299940709f6","unresolved":true,"context_lines":[{"line_number":36,"context_line":"be a mapping of plugin names to configuration. Only plugins that have"},{"line_number":37,"context_line":"a user-facing impact and, in the case of out-of-tree plugins, that the operator"},{"line_number":38,"context_line":"wants wishes to document, will be included."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Alternatives"},{"line_number":41,"context_line":"------------"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ef0ad773_95d59c4d","line":39,"in_reply_to":"338d3751_a1f38f30","updated":"2024-06-19 17:22:46.000000000","message":"I was just trying to draw a scenario where decompression plugin is enabled and user does not mention container_format\u003dcompressed and provides a image which is not compressed?\n\n(Note: I haven\u0027t tested this)","commit_id":"26ebee33c7a4ef15fd9f5b166ed1e698e881fb53"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"99eb70984b2082ab429786322ba26a89d2475228","unresolved":false,"context_lines":[{"line_number":36,"context_line":"be a mapping of plugin names to configuration. Only plugins that have"},{"line_number":37,"context_line":"a user-facing impact and, in the case of out-of-tree plugins, that the operator"},{"line_number":38,"context_line":"wants wishes to document, will be included."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Alternatives"},{"line_number":41,"context_line":"------------"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"05d8e81e_fc1b4f13","line":39,"in_reply_to":"a9b2efd3_c5ecaf7f","updated":"2024-06-20 10:40:14.000000000","message":"Acknowledged","commit_id":"26ebee33c7a4ef15fd9f5b166ed1e698e881fb53"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"98e2a6b37607528d6c7355533effd678c11e99a5","unresolved":true,"context_lines":[{"line_number":36,"context_line":"be a mapping of plugin names to configuration. Only plugins that have"},{"line_number":37,"context_line":"a user-facing impact and, in the case of out-of-tree plugins, that the operator"},{"line_number":38,"context_line":"wants wishes to document, will be included."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Alternatives"},{"line_number":41,"context_line":"------------"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"338d3751_a1f38f30","line":39,"in_reply_to":"aeff87d7_61579234","updated":"2024-06-19 10:19:01.000000000","message":"I\u0027m not sure what the concern is here. Nothing appears to have changed? If the image decompression plugin *is not* enabled and `container_format\u003dcompressed`, nothing will happen because the image decompression plugin is not enabled. If the image decompression plugin *is* enabled and and `container_format\u003dcompressed`, nothing will happen again but this time because the `container_format\u003dcompressed`. This was the case before and the only thing that\u0027s changed is that the user can now tell whether the plugin is enabled or not. The documentation for the image decompression plugin [clearly states](https://docs.openstack.org/glance/latest/admin/interoperable-image-import.html#the-image-decompression) that images with `container_format\u003dcompressed` will be not be decompressed and this hasn\u0027t changed:\n\n\u003e **Note**\n\u003e\n\u003e The plugin will not decompressed images which container_format is set to ‘compressed’ to maintain the original intent of the image creator.\n\nAlso, I\u0027m not proposing enabling the image plugin by default (that\u0027s an alternative that I haven\u0027t ruled out, but it\u0027s significantly more work). What I\u0027m proposing is allowing a user to discover whether it\u0027s present or not. If it is, they can decide to either set `container_format\u003dcompressed` (and avoid Glance-side decompression) or simply skip client-side decompression. In any case, things are more predictable that they are currently, where you must use e.g. `file` to determine whether Glance decrypted things for you or not.","commit_id":"26ebee33c7a4ef15fd9f5b166ed1e698e881fb53"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6eea018ca55b34330dbda4dc5246c3c0391c6cd1","unresolved":true,"context_lines":[{"line_number":36,"context_line":"be a mapping of plugin names to configuration. Only plugins that have"},{"line_number":37,"context_line":"a user-facing impact and, in the case of out-of-tree plugins, that the operator"},{"line_number":38,"context_line":"wants wishes to document, will be included."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Alternatives"},{"line_number":41,"context_line":"------------"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"a9b2efd3_c5ecaf7f","line":39,"in_reply_to":"ef0ad773_95d59c4d","updated":"2024-06-20 10:39:12.000000000","message":"I think you\u0027ve got that backwards: `container_format\u003dcompressed` causes the decompression plugin to *not* decompress the image. If `container_format!\u003dcompressed`, the image decompression plugin inspects the files and looks for the magic number for any supported compression algorithm (`zip`, `gzip`, and potentially `lha`) to determine what algorithm to use in decompressing. If the file isn\u0027t compressed, it won\u0027t attempt to decompress it.\n\nhttps://github.com/openstack/glance/blob/1b11e6e3a29185acc627b988ac5ae32856492aa7/glance/async_/flows/plugins/image_decompression.py#L118-L140","commit_id":"26ebee33c7a4ef15fd9f5b166ed1e698e881fb53"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"99a4fc85d2b12daea1133a89a9d3eb2b88b63bc6","unresolved":true,"context_lines":[{"line_number":41,"context_line":"We could enable the ``image_decompression`` plugin by default, but doing so"},{"line_number":42,"context_line":"would not solve the issue whereby a user does not know if the plugin is enabled"},{"line_number":43,"context_line":"and can be relied on or not."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Data model impact"},{"line_number":46,"context_line":"-----------------"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"44be1c0c_f4810c26","line":44,"updated":"2024-06-19 11:10:06.000000000","message":"While exposing `plugins` is definitely an improvement over the current situation and an easy win, it doesn\u0027t solve what I think are the 2 biggest problems here:\n\n* Nobody has this enabled in practice\n* Whether a particular image is compressed or not seems to be a property of that image, not site-wide configuration\n\nAs evidence for the first point, of the 5 clouds available to me, including 2 public commercial providers, none of them have this enabled. This appears to be some niche thing. Without addressing this the feature will still be useless in practise, although we will be able to discover this in advance.\n\nI think that decompression would be better implemented as a parameter to `import`. e.g.:\n\n```\n/v2/images/xxx/import\nimage_id: xxx\nmethod: web-download\ndecompress: xz\n```\n\nThe compression algorithm in use is explicit: the user should know about the image they\u0027re importing. This also makes the implementation both simpler and safer.\n\nNot sure about glance-direct (does `stage` use a staging area directly from the API endpoint, or stream directly into a store in the first instance?), but in general:\n* decompression can be streamed, so requires no local storage\n* decompression is very cheap (assuming you\u0027re not doing it in native python)","commit_id":"3d62a918a24932401408b6753a98b5fe1137613c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b07050fa2bd0a1354e8274ea6ad5484e12170931","unresolved":false,"context_lines":[{"line_number":41,"context_line":"We could enable the ``image_decompression`` plugin by default, but doing so"},{"line_number":42,"context_line":"would not solve the issue whereby a user does not know if the plugin is enabled"},{"line_number":43,"context_line":"and can be relied on or not."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Data model impact"},{"line_number":46,"context_line":"-----------------"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1e154dfa_fbb31364","line":44,"in_reply_to":"44be1c0c_f4810c26","updated":"2024-07-18 16:17:56.000000000","message":"Done","commit_id":"3d62a918a24932401408b6753a98b5fe1137613c"}]}
