)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"d2adfede42dadccd5ff8b32e7c4c768454c10452","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3b526b03_ff533d84","line":10,"updated":"2022-04-01 10:22:56.000000000","message":"Implements: blueprint glance-download-import","commit_id":"0297eb6d39fc99d4daf69c1f059a2b57c6d9e741"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"79dca7dc482a93f2a89b15877ab641dfb172f342","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2477dd37_0339aab9","line":10,"in_reply_to":"3b526b03_ff533d84","updated":"2022-04-01 14:20:01.000000000","message":"Done","commit_id":"0297eb6d39fc99d4daf69c1f059a2b57c6d9e741"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"d2adfede42dadccd5ff8b32e7c4c768454c10452","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b8053a8d_64dd8cfd","updated":"2022-04-01 10:22:56.000000000","message":"Nice spec 😎","commit_id":"04b201adb4b41862ff13e50623e39eb079d2a472"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b351d2fb2529041eb3bdbfe2df88144bf4392435","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"f819e843_7fbe06cd","updated":"2022-04-01 15:36:06.000000000","message":"I think this is a good feature to add. I think we need more details laid out about how it\u0027s going to work, handle error conditions, etc. As noted on IRC earlier, I definitely think we need to plan for tempest testing of this. I can help with some direction on that when the time comes.","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"ea96d86b411249436af004e4f6eae205f8e55407","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"192699ec_55b92c18","updated":"2022-04-04 16:44:03.000000000","message":"recheck","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8f435b1edb713c41682f88cd189a7d8a3bbfb795","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"283472e3_63ad7f7b","updated":"2022-04-20 15:42:57.000000000","message":"Still looking to see the rest of the stuff we discussed in PTG added here.\n\nCan you mark previous comments that are no longer relevant as \"done\" or \"resolved\" so that they don\u0027t stack up at the top of the file?\n\nThanks!","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edd885c8df31bcc8858dc3bb84a6d70df8a8b2b3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"77854a5b_beb2c5a0","updated":"2022-04-20 16:44:19.000000000","message":"not a full review yet but i cleaned up the resolved comments to make it simpler","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5ffc2b555b12fa65afb217e8d9162de60cd72b0a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"832486dd_c3e3142c","updated":"2022-05-02 20:02:56.000000000","message":"A few typos and formatting issues noted inline, along with a few questions and comments.  Overall, this sounds like a good proposal for a useful import method.  It would be nice if we could simplify the metadata handling, but that may have to be a later enhancement once we get feedback from users.","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d3e7b2a93e1eb48ab9420a435a3afe8135e0fea7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"3ffc68b0_cb48db4c","updated":"2022-04-28 13:59:19.000000000","message":"I do think just importing the data from other glance will have additional overhead on admin to get that image in workable/usable condition.","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"7be88805ca00bc4790ff8e0e3bfe928f5a977177","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"666aab90_52847409","updated":"2022-04-28 13:47:27.000000000","message":"I don\u0027t think this matches what the (non-unianimous) consensus was from the last meeting.\n\nAlso, there are some trailing whitespaces here that need to be cleaned up (which gerrit has highlighted).","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"acfb3e04088063b3f68508b6d9d0c754ae7e7324","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"e9ec7f95_64d756bf","updated":"2022-05-04 06:02:29.000000000","message":"Looks good, few suggestions inline!","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"66bf2a1fe1b37c572bd968879a96a6a3a44cd47a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"2263e365_af229da5","updated":"2022-05-04 07:52:41.000000000","message":"now you need to remove index.rst because, one of the spec having this file is merged.","commit_id":"db6e80ec65066d5401707e41ed783470c2522e04"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2871576765ae1cdb0afbac204e56b88964674e2e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"f04cdd89_8a85a45d","updated":"2022-05-04 13:38:47.000000000","message":"I haven\u0027t done a full re-review yet, I just saw this part in an email notification and wanted to get this additional list in there.","commit_id":"9444b5da42a404a9391c9609cf34978e4e41ed4d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2948e7fe9b7f1cb6878764dfb3fdf88df7649484","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"8ab4199f_a61ac0d7","updated":"2022-05-04 15:15:56.000000000","message":"I noted some grammar nits inline and a few things for clarification. I\u0027m +1ing because I assume you\u0027ll want to clean those up, but otherwise I\u0027m happy with this now.\n\nThanks for your patience and work on this!","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f2e09c567d7f51e66b16665005dccd8628cc58ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"a7710aee_9b2ce08b","updated":"2022-05-04 15:53:07.000000000","message":"Thanks!","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b0200c4cf29190b139b15a7bca638492178f04e8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"4180094c_aa599fb5","updated":"2022-05-05 08:30:22.000000000","message":"Looks good to me, +1 because I have added one question inline.","commit_id":"259352d9fc379a166b6588dbc8243bf39e893148"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1b950e2fe4d604547437080ee39ae75d237a9602","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"41b57d49_254293a6","updated":"2022-05-05 09:16:54.000000000","message":"I think I am satisfied with the proposal now.\nThank you!","commit_id":"e3cf31ebcada1472ada0da1e3856a24984c4597a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4adfa02ddf16d4e4188c54f6b3b0d4f8773ce5ea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"99fd2f8f_72040472","updated":"2022-05-05 13:30:26.000000000","message":"Two more grammar nits, but don\u0027t respin just for those. Thanks!","commit_id":"e3cf31ebcada1472ada0da1e3856a24984c4597a"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"8980a20583a67876016e48334b766f7b7b125ff9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"99dc87a2_176eb214","updated":"2022-05-09 14:18:29.000000000","message":"Couple of nits/clarifying questions inline. In general looks acceptable.","commit_id":"83e1f7388a5afb636eb4116a3fab389d8d041a78"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"d853394fe07b23cf5bb1931cff2f95dc2eb8d599","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"3a862dd9_429ea9f8","updated":"2022-05-05 19:20:44.000000000","message":"I don\u0027t see any mention of TripleO implementation, but I guess we\u0027ll do it anyway :)","commit_id":"83e1f7388a5afb636eb4116a3fab389d8d041a78"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"fa154c44652650005347ac1c06e79dcf4a990e01","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"4dfed751_3eb83525","updated":"2022-05-05 14:47:59.000000000","message":"Looks good, thank you for your patience!\n","commit_id":"83e1f7388a5afb636eb4116a3fab389d8d041a78"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8375d51febbad90dd50383c60305f53505027b65","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"23583363_0f1757ac","updated":"2022-05-07 19:09:16.000000000","message":"Looks like the details have been mostly worked out.  LGTM.","commit_id":"83e1f7388a5afb636eb4116a3fab389d8d041a78"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0322aed98f1f7feb9fda572b278dd1e75d247e2e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"ac3d16da_a75051d0","updated":"2022-05-05 14:02:27.000000000","message":"with the addtion of the propety coping i think this is in a good state.","commit_id":"83e1f7388a5afb636eb4116a3fab389d8d041a78"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"03f2f6c6ef8e7b3e6c308f3a93657a768d155247","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"fe21fd3f_7a0f3ff8","updated":"2022-05-14 03:07:42.000000000","message":"Carrying +2s of Dan, Brian and Cyril from last patch set and approving the current version now!\n\nThank you all for reviews!","commit_id":"2953c404f534646ee381eec76a1cda2c7118cab6"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"38bfd96d28d99c5d5f5c4dedff838a4ae7d68888","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"672deab4_a05bdaa7","updated":"2022-05-13 11:19:06.000000000","message":"LGTM, Thanks!","commit_id":"2953c404f534646ee381eec76a1cda2c7118cab6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2bbb5f54408c236c79f0b70921cc925dcf9c3c96","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"a1b5282d_73916f9d","updated":"2022-05-13 09:42:57.000000000","message":"Looks good thank you!","commit_id":"2953c404f534646ee381eec76a1cda2c7118cab6"}],"specs/zed/approved/glance/glance-download-import.rst":[{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"d2adfede42dadccd5ff8b32e7c4c768454c10452","unresolved":true,"context_lines":[{"line_number":17,"context_line":"Problem description"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"When dealing with a multi-region cloud it often appear that operators or"},{"line_number":21,"context_line":"customers need to copy images from a region to another. It is currently"},{"line_number":22,"context_line":"complicated to implement as customer need to save the image locally, then"},{"line_number":23,"context_line":"upload it on the new region. We propose to implement a new import method"}],"source_content_type":"text/x-rst","patch_set":1,"id":"528acc4e_f48bb2cf","line":20,"updated":"2022-04-01 10:22:56.000000000","message":"When dealing with a multi-region cloud it often appear that operators or\ncustomers need to copy images from a region to another, for by example:\n\n- Copy all your public images between your regions (operator)\n- Copy instance snapshot in another region to have a backup (user)\n- Build your base application image from a factory in one region, then propagate it to multiple regions (user)\n\nWe can\u0027t rely on the \"copy-image\" import method to copy an image from a backend to another because it require the same glance endpoint so the same region which is not\nour use-case here.\n\nThe only way we have to do that now is to download locally the image data and upload it elsewhere, which require some orchestration, and is a huge disk space and bandwidth loss.","commit_id":"0297eb6d39fc99d4daf69c1f059a2b57c6d9e741"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"79dca7dc482a93f2a89b15877ab641dfb172f342","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Problem description"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"When dealing with a multi-region cloud it often appear that operators or"},{"line_number":21,"context_line":"customers need to copy images from a region to another. It is currently"},{"line_number":22,"context_line":"complicated to implement as customer need to save the image locally, then"},{"line_number":23,"context_line":"upload it on the new region. We propose to implement a new import method"}],"source_content_type":"text/x-rst","patch_set":1,"id":"d1104b2c_8a7e9719","line":20,"in_reply_to":"528acc4e_f48bb2cf","updated":"2022-04-01 14:20:01.000000000","message":"Done","commit_id":"0297eb6d39fc99d4daf69c1f059a2b57c6d9e741"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"d2adfede42dadccd5ff8b32e7c4c768454c10452","unresolved":true,"context_lines":[{"line_number":33,"context_line":"Implement an internal plugin called glance-download based on the existing"},{"line_number":34,"context_line":"internal plugin web-download that will import an image stored on a remote"},{"line_number":35,"context_line":"glance."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"We should note two things:"},{"line_number":38,"context_line":"* to authenticate on the remote glance we propose to use the context token of"},{"line_number":39,"context_line":"  the call"}],"source_content_type":"text/x-rst","patch_set":1,"id":"a8dcf91d_bc025cc6","line":36,"updated":"2022-04-01 10:22:56.000000000","message":"The web-download workflow will remain unchanged, only difference is to retrieve the downloadable data from an other glance endpoint instead of from an arbitrary URL.","commit_id":"0297eb6d39fc99d4daf69c1f059a2b57c6d9e741"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"79dca7dc482a93f2a89b15877ab641dfb172f342","unresolved":false,"context_lines":[{"line_number":33,"context_line":"Implement an internal plugin called glance-download based on the existing"},{"line_number":34,"context_line":"internal plugin web-download that will import an image stored on a remote"},{"line_number":35,"context_line":"glance."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"We should note two things:"},{"line_number":38,"context_line":"* to authenticate on the remote glance we propose to use the context token of"},{"line_number":39,"context_line":"  the call"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffa454cf_14e56740","line":36,"in_reply_to":"a8dcf91d_bc025cc6","updated":"2022-04-01 14:20:01.000000000","message":"Done","commit_id":"0297eb6d39fc99d4daf69c1f059a2b57c6d9e741"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"6bf256467a59261ab65ce2e9ed1aa0cd18587186","unresolved":true,"context_lines":[{"line_number":20,"context_line":"When dealing with a multi-region cloud it often appear that operators or"},{"line_number":21,"context_line":"customers need to copy images from a region to another. It is currently"},{"line_number":22,"context_line":"complicated to implement as customer need to save the image locally, then"},{"line_number":23,"context_line":"upload it on the new region. We propose to implement a new import method"},{"line_number":24,"context_line":"called glance-download based on the web-download import method that will"},{"line_number":25,"context_line":"download the image from a remote glance. Note that this first version require"},{"line_number":26,"context_line":"to have a federated Keystone between the two Glance to avoid authentications"}],"source_content_type":"text/x-rst","patch_set":3,"id":"026adebd_d457ef2b","line":23,"updated":"2022-04-01 10:29:20.000000000","message":"I think the end of this paragraph is covered by the \"Proposed change\" part","commit_id":"04b201adb4b41862ff13e50623e39eb079d2a472"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"79dca7dc482a93f2a89b15877ab641dfb172f342","unresolved":false,"context_lines":[{"line_number":20,"context_line":"When dealing with a multi-region cloud it often appear that operators or"},{"line_number":21,"context_line":"customers need to copy images from a region to another. It is currently"},{"line_number":22,"context_line":"complicated to implement as customer need to save the image locally, then"},{"line_number":23,"context_line":"upload it on the new region. We propose to implement a new import method"},{"line_number":24,"context_line":"called glance-download based on the web-download import method that will"},{"line_number":25,"context_line":"download the image from a remote glance. Note that this first version require"},{"line_number":26,"context_line":"to have a federated Keystone between the two Glance to avoid authentications"}],"source_content_type":"text/x-rst","patch_set":3,"id":"8dd10cd9_7c394705","line":23,"in_reply_to":"026adebd_d457ef2b","updated":"2022-04-01 14:20:01.000000000","message":"Done","commit_id":"04b201adb4b41862ff13e50623e39eb079d2a472"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"6bf256467a59261ab65ce2e9ed1aa0cd18587186","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"We should note two things:"},{"line_number":38,"context_line":"* to authenticate on the remote glance we propose to use the context token of"},{"line_number":39,"context_line":"  the call"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* the creation of the image must be handled by the end user as for the"},{"line_number":42,"context_line":"  web-download plugin meaning that it is of the reponsibility of the user to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"8a3f0029_8c1685a9","line":39,"updated":"2022-04-01 10:29:20.000000000","message":"to authenticate on the remote glance we propose to use the context token of the call, so it will require to have a federated Keystone environment between the two Glance.","commit_id":"04b201adb4b41862ff13e50623e39eb079d2a472"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"79dca7dc482a93f2a89b15877ab641dfb172f342","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"We should note two things:"},{"line_number":38,"context_line":"* to authenticate on the remote glance we propose to use the context token of"},{"line_number":39,"context_line":"  the call"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* the creation of the image must be handled by the end user as for the"},{"line_number":42,"context_line":"  web-download plugin meaning that it is of the reponsibility of the user to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"a7ec4456_7ef1fe9c","line":39,"in_reply_to":"8a3f0029_8c1685a9","updated":"2022-04-01 14:20:01.000000000","message":"Done","commit_id":"04b201adb4b41862ff13e50623e39eb079d2a472"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b351d2fb2529041eb3bdbfe2df88144bf4392435","unresolved":true,"context_lines":[{"line_number":17,"context_line":"Problem description"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"When dealing with a multi-region cloud it often appear that operators or"},{"line_number":21,"context_line":"customers need to copy images from a region to another, for by example:"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"* Copy all your public images between your regions (operator)"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da6885c8_ffbf5d42","line":20,"range":{"start_line":20,"start_character":48,"end_line":20,"end_character":54},"updated":"2022-04-01 15:36:06.000000000","message":"\"appears\"","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"1e0adc64f862636b269ec391286a02e6f4ab93ac","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Problem description"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"When dealing with a multi-region cloud it often appear that operators or"},{"line_number":21,"context_line":"customers need to copy images from a region to another, for by example:"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"* Copy all your public images between your regions (operator)"}],"source_content_type":"text/x-rst","patch_set":6,"id":"e43656df_272161df","line":20,"range":{"start_line":20,"start_character":48,"end_line":20,"end_character":54},"in_reply_to":"da6885c8_ffbf5d42","updated":"2022-04-05 07:46:26.000000000","message":"Done","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"643ceffac44bf639d4db80576aa5ee9b6286d4ca","unresolved":true,"context_lines":[{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"When dealing with a multi-region cloud it often appear that operators or"},{"line_number":21,"context_line":"customers need to copy images from a region to another, for by example:"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"* Copy all your public images between your regions (operator)"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"19d3c5f2_e5a202de","line":21,"range":{"start_line":21,"start_character":56,"end_line":21,"end_character":70},"updated":"2022-04-04 14:43:34.000000000","message":"for example?","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"1e0adc64f862636b269ec391286a02e6f4ab93ac","unresolved":true,"context_lines":[{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"When dealing with a multi-region cloud it often appear that operators or"},{"line_number":21,"context_line":"customers need to copy images from a region to another, for by example:"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"* Copy all your public images between your regions (operator)"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"f830b02a_041b9278","line":21,"range":{"start_line":21,"start_character":56,"end_line":21,"end_character":70},"in_reply_to":"19d3c5f2_e5a202de","updated":"2022-04-05 07:46:26.000000000","message":"Ack","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edd885c8df31bcc8858dc3bb84a6d70df8a8b2b3","unresolved":false,"context_lines":[{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"When dealing with a multi-region cloud it often appear that operators or"},{"line_number":21,"context_line":"customers need to copy images from a region to another, for by example:"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"* Copy all your public images between your regions (operator)"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"d900fda8_55c160f3","line":21,"range":{"start_line":21,"start_character":56,"end_line":21,"end_character":70},"in_reply_to":"f830b02a_041b9278","updated":"2022-04-20 16:44:19.000000000","message":"Done","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b351d2fb2529041eb3bdbfe2df88144bf4392435","unresolved":true,"context_lines":[{"line_number":28,"context_line":"  | propagate it to multiple regions (user)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"We can\u0027t rely on the \"copy-image\" import method to copy an image from a"},{"line_number":31,"context_line":"backend to another because it require the same glance endpoint so the same"},{"line_number":32,"context_line":"region which is not our use-case here."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The only way we have to do that now is to download locally the image data and"}],"source_content_type":"text/x-rst","patch_set":6,"id":"68e003e1_264d9526","line":31,"range":{"start_line":31,"start_character":63,"end_line":31,"end_character":65},"updated":"2022-04-01 15:36:06.000000000","message":"\"in\" ?","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edd885c8df31bcc8858dc3bb84a6d70df8a8b2b3","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  | propagate it to multiple regions (user)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"We can\u0027t rely on the \"copy-image\" import method to copy an image from a"},{"line_number":31,"context_line":"backend to another because it require the same glance endpoint so the same"},{"line_number":32,"context_line":"region which is not our use-case here."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The only way we have to do that now is to download locally the image data and"}],"source_content_type":"text/x-rst","patch_set":6,"id":"41ed68ed_8dcec978","line":31,"range":{"start_line":31,"start_character":63,"end_line":31,"end_character":65},"in_reply_to":"24f06904_50787f6c","updated":"2022-04-20 16:44:19.000000000","message":"Done","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"1e0adc64f862636b269ec391286a02e6f4ab93ac","unresolved":true,"context_lines":[{"line_number":28,"context_line":"  | propagate it to multiple regions (user)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"We can\u0027t rely on the \"copy-image\" import method to copy an image from a"},{"line_number":31,"context_line":"backend to another because it require the same glance endpoint so the same"},{"line_number":32,"context_line":"region which is not our use-case here."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The only way we have to do that now is to download locally the image data and"}],"source_content_type":"text/x-rst","patch_set":6,"id":"24f06904_50787f6c","line":31,"range":{"start_line":31,"start_character":63,"end_line":31,"end_character":65},"in_reply_to":"68e003e1_264d9526","updated":"2022-04-05 07:46:26.000000000","message":"Ack","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"643ceffac44bf639d4db80576aa5ee9b6286d4ca","unresolved":true,"context_lines":[{"line_number":31,"context_line":"backend to another because it require the same glance endpoint so the same"},{"line_number":32,"context_line":"region which is not our use-case here."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The only way we have to do that now is to download locally the image data and"},{"line_number":35,"context_line":"upload it elsewhere, which require some orchestration, and is a huge disk"},{"line_number":36,"context_line":"space and bandwidth loss."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"14e75588_ca39e8f9","line":34,"range":{"start_line":34,"start_character":42,"end_line":34,"end_character":73},"updated":"2022-04-04 14:43:34.000000000","message":"locally download the image data","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"1e0adc64f862636b269ec391286a02e6f4ab93ac","unresolved":true,"context_lines":[{"line_number":31,"context_line":"backend to another because it require the same glance endpoint so the same"},{"line_number":32,"context_line":"region which is not our use-case here."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The only way we have to do that now is to download locally the image data and"},{"line_number":35,"context_line":"upload it elsewhere, which require some orchestration, and is a huge disk"},{"line_number":36,"context_line":"space and bandwidth loss."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"da86727b_53df0875","line":34,"range":{"start_line":34,"start_character":42,"end_line":34,"end_character":73},"in_reply_to":"14e75588_ca39e8f9","updated":"2022-04-05 07:46:26.000000000","message":"Ack","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edd885c8df31bcc8858dc3bb84a6d70df8a8b2b3","unresolved":false,"context_lines":[{"line_number":31,"context_line":"backend to another because it require the same glance endpoint so the same"},{"line_number":32,"context_line":"region which is not our use-case here."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The only way we have to do that now is to download locally the image data and"},{"line_number":35,"context_line":"upload it elsewhere, which require some orchestration, and is a huge disk"},{"line_number":36,"context_line":"space and bandwidth loss."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"4b23ab5a_0e7b3699","line":34,"range":{"start_line":34,"start_character":42,"end_line":34,"end_character":73},"in_reply_to":"da86727b_53df0875","updated":"2022-04-20 16:44:19.000000000","message":"Done","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"643ceffac44bf639d4db80576aa5ee9b6286d4ca","unresolved":true,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"We should note two things:"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* | to authenticate on the remote glance we propose to use the context token"},{"line_number":50,"context_line":"  | of the call, so it will require to have a federated Keystone environment"},{"line_number":51,"context_line":"  | between the two Glance."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"6f8fd863_9f8ff2aa","line":49,"range":{"start_line":49,"start_character":4,"end_line":49,"end_character":5},"updated":"2022-04-04 14:43:34.000000000","message":"nit: To","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"1e0adc64f862636b269ec391286a02e6f4ab93ac","unresolved":true,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"We should note two things:"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* | to authenticate on the remote glance we propose to use the context token"},{"line_number":50,"context_line":"  | of the call, so it will require to have a federated Keystone environment"},{"line_number":51,"context_line":"  | between the two Glance."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"f88e5e3f_df67246d","line":49,"range":{"start_line":49,"start_character":4,"end_line":49,"end_character":5},"in_reply_to":"6f8fd863_9f8ff2aa","updated":"2022-04-05 07:46:26.000000000","message":"Ack","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edd885c8df31bcc8858dc3bb84a6d70df8a8b2b3","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"We should note two things:"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* | to authenticate on the remote glance we propose to use the context token"},{"line_number":50,"context_line":"  | of the call, so it will require to have a federated Keystone environment"},{"line_number":51,"context_line":"  | between the two Glance."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"22cd36f5_410382e0","line":49,"range":{"start_line":49,"start_character":4,"end_line":49,"end_character":5},"in_reply_to":"f88e5e3f_df67246d","updated":"2022-04-20 16:44:19.000000000","message":"Done","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"643ceffac44bf639d4db80576aa5ee9b6286d4ca","unresolved":true,"context_lines":[{"line_number":51,"context_line":"  | between the two Glance."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* | the creation of the image must be handled by the end user as for the"},{"line_number":55,"context_line":"  | web-download plugin meaning that it is of the reponsibility of the user to"},{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."}],"source_content_type":"text/x-rst","patch_set":6,"id":"e4e5d85a_f072c494","line":54,"range":{"start_line":54,"start_character":4,"end_line":54,"end_character":5},"updated":"2022-04-04 14:43:34.000000000","message":"nit:The","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edd885c8df31bcc8858dc3bb84a6d70df8a8b2b3","unresolved":false,"context_lines":[{"line_number":51,"context_line":"  | between the two Glance."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* | the creation of the image must be handled by the end user as for the"},{"line_number":55,"context_line":"  | web-download plugin meaning that it is of the reponsibility of the user to"},{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."}],"source_content_type":"text/x-rst","patch_set":6,"id":"b0cd12f6_16935c40","line":54,"range":{"start_line":54,"start_character":4,"end_line":54,"end_character":5},"in_reply_to":"1e99e295_38d7397e","updated":"2022-04-20 16:44:19.000000000","message":"Done","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"1e0adc64f862636b269ec391286a02e6f4ab93ac","unresolved":true,"context_lines":[{"line_number":51,"context_line":"  | between the two Glance."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* | the creation of the image must be handled by the end user as for the"},{"line_number":55,"context_line":"  | web-download plugin meaning that it is of the reponsibility of the user to"},{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1e99e295_38d7397e","line":54,"range":{"start_line":54,"start_character":4,"end_line":54,"end_character":5},"in_reply_to":"e4e5d85a_f072c494","updated":"2022-04-05 07:46:26.000000000","message":"Ack","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"643ceffac44bf639d4db80576aa5ee9b6286d4ca","unresolved":true,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* | the creation of the image must be handled by the end user as for the"},{"line_number":55,"context_line":"  | web-download plugin meaning that it is of the reponsibility of the user to"},{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"0c0123ec_1be4a0ae","line":55,"range":{"start_line":55,"start_character":43,"end_line":55,"end_character":49},"updated":"2022-04-04 14:43:34.000000000","message":"the","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"1e0adc64f862636b269ec391286a02e6f4ab93ac","unresolved":true,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* | the creation of the image must be handled by the end user as for the"},{"line_number":55,"context_line":"  | web-download plugin meaning that it is of the reponsibility of the user to"},{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"8356b697_c2a4e8c3","line":55,"range":{"start_line":55,"start_character":43,"end_line":55,"end_character":49},"in_reply_to":"0c0123ec_1be4a0ae","updated":"2022-04-05 07:46:26.000000000","message":"Ack","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edd885c8df31bcc8858dc3bb84a6d70df8a8b2b3","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* | the creation of the image must be handled by the end user as for the"},{"line_number":55,"context_line":"  | web-download plugin meaning that it is of the reponsibility of the user to"},{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"c3b145f1_9c2b16ee","line":55,"range":{"start_line":55,"start_character":43,"end_line":55,"end_character":49},"in_reply_to":"8356b697_c2a4e8c3","updated":"2022-04-20 16:44:19.000000000","message":"Done","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b351d2fb2529041eb3bdbfe2df88144bf4392435","unresolved":true,"context_lines":[{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"99674b54_1b7bddc5","line":59,"updated":"2022-04-01 15:36:06.000000000","message":"Can you fill in more information here? Specifically, what metadata will be brought over? What happens if the disk_format/container_format does not match? What happens if there are existing metadata items of the same name as the ones you want to import? What happens if metadata injection is configured on the target glance -- will those take precedence (I hope)?","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a9b610dcc574899e87111f519429781d5d0e49f","unresolved":true,"context_lines":[{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"95b9c35b_414fc2f3","line":59,"in_reply_to":"7ac73473_75d71cc2","updated":"2022-04-12 06:05:34.000000000","message":"Even though image needs to be created before import call I think you can still add metadata to image, similar to what we are doing in inject metadata plugin.\n\nAlso, can you mention somewhere in the spec that it will honour --stores,--all-stores,--allow-failure\n\nBecause in case --allow-failure is False then it will remove the data from all stores where image is already imported (should we do that for glance-download as we are copying data from another deployment, if we are going to inherit from web-download task then it is already taken care, but IMO just for awareness we should mention it specifically.)","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"33937d4080459944dd2643d85bb1e9c0cff7abd9","unresolved":true,"context_lines":[{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"eb4f1da9_fe21e84d","line":59,"in_reply_to":"926bd7b1_b425455c","updated":"2022-04-21 15:33:17.000000000","message":"While the metadata is important for the image to be bootable, the internal plugin handling the image payload transport is not the right place to do it. We can do that consistently in the client or in it\u0027s own part in the import taskflow, but it should not be mixed into this plugin.\n\nFor us to ever being able to consistently import images from other Glance instances with or without relying on this plugin, network access to the source cloud and federation between them, all the metadata _needs_ to be handled somewhere else.","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c617dcfa2d6e5abf92fe21c8230a57b9d0aee86d","unresolved":true,"context_lines":[{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ffb41377_fbbd28d4","line":59,"in_reply_to":"95b9c35b_414fc2f3","updated":"2022-04-21 11:30:01.000000000","message":"i dont think this will be usable if we do not copy the metadata.\nor rather it woudl be useable but a bad end user experice.\n\ni also find the need to create the image ahead of time to be rather undesireable form a ux point of view.\n\ni think the typical workflow for many is to create the image and import the data in one call.\n\ne.g. openstack image create --file my.qcow --property hw_machine_type\u003dq35 .... my-image\n\n\nwhat i think we shoudl be aiming for is a design where by we make a singel call to glance on the target cloud that pass a minimal set of info that then causes the import form the souces\n\nso something like this\n\nopenstack image create --remote-import --remote-endpoint https://glance.my.source.cloud --remote-token\u003d$(openstack --os-cloud\u003dsrc token issue -f value -c id) --remote-uuid \u003csource uuid\u003e \u003cmy imported image name\u003e\n\nthat shoudl be all that is required for glance to retrive the image (data, metadta and fromat info) form the remote cloud so that it could automaticaly populate the\nimage and contaienr format, copy the metadta and import the image data.\n\n\nthat avoid the issue with failure due to in comparitble format/type as glance is respocnable for copying them. its simple to use as an end user and it should prevent unbootable images.","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"643ceffac44bf639d4db80576aa5ee9b6286d4ca","unresolved":true,"context_lines":[{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dd4cde11_10098c66","line":59,"in_reply_to":"99674b54_1b7bddc5","updated":"2022-04-04 14:43:34.000000000","message":"+1","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"1e0adc64f862636b269ec391286a02e6f4ab93ac","unresolved":true,"context_lines":[{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"2caeeb31_ef62ee47","line":59,"in_reply_to":"dd4cde11_10098c66","updated":"2022-04-05 07:46:26.000000000","message":"Ack","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"1e0adc64f862636b269ec391286a02e6f4ab93ac","unresolved":true,"context_lines":[{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7ac73473_75d71cc2","line":59,"in_reply_to":"dd4cde11_10098c66","updated":"2022-04-05 07:46:26.000000000","message":"We were thinking that it was a good idea to not copy the metadata on plugin side as the image must be created before the import so we let the responsibility to the enduser to be in charge of that.","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"8be06415b6502e64c69f47dcfc5f27dd75865d7d","unresolved":false,"context_lines":[{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"f8a0c512_460c77f0","line":59,"in_reply_to":"eb4f1da9_fe21e84d","updated":"2022-04-28 13:18:58.000000000","message":"Done","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d3e7b2a93e1eb48ab9420a435a3afe8135e0fea7","unresolved":false,"context_lines":[{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"2a6c47a6_7e7ba90f","line":59,"in_reply_to":"f8a0c512_460c77f0","updated":"2022-04-28 13:59:19.000000000","message":"Can we have two plugins for this solution\n1. glance-download internal import method for importing the image from another glance\n2. import-metadata (or something specific) external plugin like inject metadata for importing metadata from another glance\n\nAnd if glance-download method is enabled then it should have import-metadata enabled as well.","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"51a18df4913e0cbe84cc85628a822c954ee183c8","unresolved":true,"context_lines":[{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"926bd7b1_b425455c","line":59,"in_reply_to":"ffb41377_fbbd28d4","updated":"2022-04-21 13:56:47.000000000","message":"\u003e i dont think this will be usable if we do not copy the metadata.\n\u003e or rather it woudl be useable but a bad end user experice.\n\nYep, agreed.\n\n\u003e i also find the need to create the image ahead of time to be rather undesireable form a ux point of view.\n\nUnfortunately, that\u0027s the mechanism we have. You call import on an existing not-yet-uploaded image. That\u0027s the process we have for doing these more complex \"where do I get the data\" operations, so it\u0027s what we have to work with.\n\n\u003e i think the typical workflow for many is to create the image and import the data in one call.\n\u003e \n\u003e e.g. openstack image create --file my.qcow --property hw_machine_type\u003dq35 .... my-image\n\nActually from the user perspective this is and can be one operation, as far as the client is concerned:\n\n openstack image create --file my.qcow --import foo\n\nWill do the \"create an image\" and \"stage this file\" and \"import from staging\" operations and the user doesn\u0027t really know (unless it fails).\n\n\u003e what i think we shoudl be aiming for is a design where by we make a singel call to glance on the target cloud that pass a minimal set of info that then causes the import form the souces\n\u003e \n\u003e so something like this\n\u003e \n\u003e openstack image create --remote-import --remote-endpoint https://glance.my.source.cloud --remote-token\u003d$(openstack --os-cloud\u003dsrc token issue -f value -c id) --remote-uuid \u003csource uuid\u003e \u003cmy imported image name\u003e\n\nYep, this is doable and I agree this is what the _experience_ should be. Under the covers it will be a few more steps.\n\n\u003e that shoudl be all that is required for glance to retrive the image (data, metadta and fromat info) form the remote cloud so that it could automaticaly populate the\n\u003e image and contaienr format, copy the metadta and import the image data.\n\nOther than needing to give it the container and disk format, I agree. But the client could also probe that from the original image in the federated case and do it for you. But aside from those, I agree that this is what the user experience should be: \"I\u0027m importing direct from another glance, so do all the stuff needed to actually make it work.\"","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"994ba30eff61087637523c0cb9e45ed6dbebeb6f","unresolved":true,"context_lines":[{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"6632942a_f5ac2bb2","line":60,"updated":"2022-04-06 15:50:42.000000000","message":"Can you also add what the request to import looks like here? Based on the PTG discussion, it would be great to have a list of metadata namespaces to import here, but documenting what we expect to pass would be good for the spec.","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"00ae5f50a56adfcfcb811644f1e20e381211f200","unresolved":true,"context_lines":[{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"b0d560fc_38aa683e","line":60,"in_reply_to":"6632942a_f5ac2bb2","updated":"2022-04-21 05:41:48.000000000","message":"FYI, In the PTG on Friday while discussing on Export API, one proposal also discussed to keep this current spec to only bring the data from another glance and bringing the metadata should be part of export work.\n\nWe decided to revisit this in following weekly meeting (which will be today).","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"51a18df4913e0cbe84cc85628a822c954ee183c8","unresolved":true,"context_lines":[{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"cc122576_3c513b39","line":60,"in_reply_to":"66a340ee_94ce6a5c","updated":"2022-04-21 13:56:47.000000000","message":"There\u0027s nobody to work on the export workflow, nor a strong desire for that on its own that I know of. However, I agree that we should make this bring the metadata in the first version so that the image actually works. Especially since it should not be hard.\n\nIf we have an export mechanism later that allows for a more secure non-federated workflow, this can use that but provide roughly the same interface to the user.","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c617dcfa2d6e5abf92fe21c8230a57b9d0aee86d","unresolved":true,"context_lines":[{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"66a340ee_94ce6a5c","line":60,"in_reply_to":"b0d560fc_38aa683e","updated":"2022-04-21 11:30:01.000000000","message":"i dont think we shoudl proceed with the current spec with only the data.\n\nif we want to have one spec for defineing an export api and then pivot this spec to consume that new api i think that woudl be fine but i think the desgin propsed in this spec is quite problematic in its currnt form.\n\nwhiel it adds some value  over the currnt workflow of downloadign and reuploading it add little value in comparison to what coudl be done if we had a simpler export and import workflow and i feel like this impelmation woudl become quickly surpassed by a new one that actully did a full export and import.\n\nso belive time would be better spend doing it correctly once rather then having to parralel efforts.","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"8be06415b6502e64c69f47dcfc5f27dd75865d7d","unresolved":false,"context_lines":[{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3291243a_67179998","line":60,"in_reply_to":"c2ed934d_e9fb868b","updated":"2022-04-28 13:18:58.000000000","message":"same as my previous answer","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"33937d4080459944dd2643d85bb1e9c0cff7abd9","unresolved":true,"context_lines":[{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"c2ed934d_e9fb868b","line":60,"in_reply_to":"cc122576_3c513b39","updated":"2022-04-21 15:33:17.000000000","message":"Ditto","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b351d2fb2529041eb3bdbfe2df88144bf4392435","unresolved":true,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"The context of this use case is very specific to a multi-region cloud. We could"},{"line_number":65,"context_line":"imagine a more generic way of copying (exporting/importing) that will work for"},{"line_number":66,"context_line":"glances behind different keystones but needs a more complex development."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d6850c80_77aed242","line":66,"updated":"2022-04-01 15:36:06.000000000","message":"It might be better to go into more detail here so that people can properly weigh the options.\n\nSpecifically, we could provide a \"take out\" functionality where the owner of the image in the source cloud generates a limited-use tokenized URL that allows access to the image without any keystone auth that the target cloud could consume.","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edd885c8df31bcc8858dc3bb84a6d70df8a8b2b3","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"The context of this use case is very specific to a multi-region cloud. We could"},{"line_number":65,"context_line":"imagine a more generic way of copying (exporting/importing) that will work for"},{"line_number":66,"context_line":"glances behind different keystones but needs a more complex development."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"4e4474a6_03991154","line":66,"in_reply_to":"43418b71_c947ea9d","updated":"2022-04-20 16:44:19.000000000","message":"this is more or less capture in the alternitive so i think we can condier this done for now so marking this as resolved.","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"1e0adc64f862636b269ec391286a02e6f4ab93ac","unresolved":true,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"The context of this use case is very specific to a multi-region cloud. We could"},{"line_number":65,"context_line":"imagine a more generic way of copying (exporting/importing) that will work for"},{"line_number":66,"context_line":"glances behind different keystones but needs a more complex development."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"43418b71_c947ea9d","line":66,"in_reply_to":"d6850c80_77aed242","updated":"2022-04-05 07:46:26.000000000","message":"I agree that I could go more into details, your take out idea sounds good and might be included                              \nI also know that jokke_ has an idea in mind (I don\u0027t know in details) and that we should talk about this week. I will add it as a second option.","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b351d2fb2529041eb3bdbfe2df88144bf4392435","unresolved":true,"context_lines":[{"line_number":112,"context_line":"    }"},{"line_number":113,"context_line":".."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Exemple:"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":".. code-block:: javascript"},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"222bb7ba_688235f6","line":115,"range":{"start_line":115,"start_character":0,"end_line":115,"end_character":7},"updated":"2022-04-01 15:36:06.000000000","message":"\"Example\"","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edd885c8df31bcc8858dc3bb84a6d70df8a8b2b3","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    }"},{"line_number":113,"context_line":".."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Exemple:"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":".. code-block:: javascript"},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"4c3c1683_20eb3786","line":115,"range":{"start_line":115,"start_character":0,"end_line":115,"end_character":7},"in_reply_to":"13a1c619_9c0caba0","updated":"2022-04-20 16:44:19.000000000","message":"Done","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"1e0adc64f862636b269ec391286a02e6f4ab93ac","unresolved":true,"context_lines":[{"line_number":112,"context_line":"    }"},{"line_number":113,"context_line":".."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Exemple:"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":".. code-block:: javascript"},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"13a1c619_9c0caba0","line":115,"range":{"start_line":115,"start_character":0,"end_line":115,"end_character":7},"in_reply_to":"222bb7ba_688235f6","updated":"2022-04-05 07:46:26.000000000","message":"Ack","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"643ceffac44bf639d4db80576aa5ee9b6286d4ca","unresolved":true,"context_lines":[{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    * add support to glance-download method"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"    * update documentation"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d9f2943c_37dc2b87","line":202,"updated":"2022-04-04 14:43:34.000000000","message":"you should add tempest here as well, glance team can help you in this area.","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edd885c8df31bcc8858dc3bb84a6d70df8a8b2b3","unresolved":false,"context_lines":[{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    * add support to glance-download method"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"    * update documentation"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":6,"id":"2da59792_d46cbaca","line":202,"in_reply_to":"bc518e30_90e38547","updated":"2022-04-20 16:44:19.000000000","message":"Done","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"1e0adc64f862636b269ec391286a02e6f4ab93ac","unresolved":true,"context_lines":[{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    * add support to glance-download method"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"    * update documentation"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bc518e30_90e38547","line":202,"in_reply_to":"d9f2943c_37dc2b87","updated":"2022-04-05 07:46:26.000000000","message":"Ack","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b351d2fb2529041eb3bdbfe2df88144bf4392435","unresolved":true,"context_lines":[{"line_number":210,"context_line":"Testing"},{"line_number":211,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"* Unit and functional tests in Glance"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"59302cb5_5362874e","line":213,"updated":"2022-04-01 15:36:06.000000000","message":"I think we discussed this in IRC, but I definitely think you need tempest coverage here. We have g-api-r for a separate endpoint in the same glance deployment. That shares the same database, but might be enough to show that you can import from another region, or we can extend that to actually support another worker with a different database.","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"1e0adc64f862636b269ec391286a02e6f4ab93ac","unresolved":true,"context_lines":[{"line_number":210,"context_line":"Testing"},{"line_number":211,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"* Unit and functional tests in Glance"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"91787cd2_3f09e2d2","line":213,"in_reply_to":"59302cb5_5362874e","updated":"2022-04-05 07:46:26.000000000","message":"Ack","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edd885c8df31bcc8858dc3bb84a6d70df8a8b2b3","unresolved":false,"context_lines":[{"line_number":210,"context_line":"Testing"},{"line_number":211,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"* Unit and functional tests in Glance"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"847eeb1b_ee8682fc","line":213,"in_reply_to":"91787cd2_3f09e2d2","updated":"2022-04-20 16:44:19.000000000","message":"Done","commit_id":"dbe5928bba1e6f764ae3302a3071c7dc294c2eb5"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"6a64a580184aae0a0b5a6860b5f9145a7ddc3e68","unresolved":true,"context_lines":[{"line_number":69,"context_line":"source cloud generates a limited-use tokenized URL that allows access to the"},{"line_number":70,"context_line":"image without any keystone auth. Such solution is securely more risky as we do"},{"line_number":71,"context_line":"not have any more authentication mechanism to access the remote image."},{"line_number":72,"context_line":"It would imply also to handle the expery of the url. The solution is longer to"},{"line_number":73,"context_line":"develop and less secure."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"f87e44a9_6b03ecf0","line":72,"range":{"start_line":72,"start_character":34,"end_line":72,"end_character":40},"updated":"2022-04-14 07:25:39.000000000","message":"expiry","commit_id":"a7de764372db0ee3d07bd4ee132251e4ceb621e2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edd885c8df31bcc8858dc3bb84a6d70df8a8b2b3","unresolved":false,"context_lines":[{"line_number":69,"context_line":"source cloud generates a limited-use tokenized URL that allows access to the"},{"line_number":70,"context_line":"image without any keystone auth. Such solution is securely more risky as we do"},{"line_number":71,"context_line":"not have any more authentication mechanism to access the remote image."},{"line_number":72,"context_line":"It would imply also to handle the expery of the url. The solution is longer to"},{"line_number":73,"context_line":"develop and less secure."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"f4378b9e_67ac8c58","line":72,"range":{"start_line":72,"start_character":34,"end_line":72,"end_character":40},"in_reply_to":"f87e44a9_6b03ecf0","updated":"2022-04-20 16:44:19.000000000","message":"Done","commit_id":"a7de764372db0ee3d07bd4ee132251e4ceb621e2"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"6a64a580184aae0a0b5a6860b5f9145a7ddc3e68","unresolved":true,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":"* Unit and functional tests in Glance"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"* Tempest tests"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":7,"id":"c3bd0d9d_61fde737","line":222,"range":{"start_line":222,"start_character":10,"end_line":222,"end_character":15},"updated":"2022-04-14 07:25:39.000000000","message":"Tempest tests. Testing glance-download plugin with the g-api-r separate endpoint looks good even if it share the same database to validate the workflow.","commit_id":"a7de764372db0ee3d07bd4ee132251e4ceb621e2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edd885c8df31bcc8858dc3bb84a6d70df8a8b2b3","unresolved":false,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":"* Unit and functional tests in Glance"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"* Tempest tests"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":7,"id":"a6b49d09_966e76cc","line":222,"range":{"start_line":222,"start_character":10,"end_line":222,"end_character":15},"in_reply_to":"c3bd0d9d_61fde737","updated":"2022-04-20 16:44:19.000000000","message":"Done","commit_id":"a7de764372db0ee3d07bd4ee132251e4ceb621e2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c617dcfa2d6e5abf92fe21c8230a57b9d0aee86d","unresolved":true,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/glance-download-import"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec describe a new import method called glance-download that implement a"},{"line_number":14,"context_line":"glance to glance download in a multi-region cloud with a federated Keystone."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"f736cc72_24b77151","line":13,"range":{"start_line":13,"start_character":46,"end_line":13,"end_character":61},"updated":"2022-04-21 11:30:01.000000000","message":"not to rat hole on the name too much but is the download correct.\n\nyes, you would be importing the image by downloading it from glance but glance-mirror or glance-export might be more relatable as the operation is happening between two remote glance servers. there is no data transfer between the client that calls the API (OSC) to initiate the import and glance server that will receive the image.\n\nso really this is a mirror operation between glance API or an export from one glance and import into the other\n\nI kind of like glance-export as that correlates nicely with import but I think glance download is a little obtuse.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"33937d4080459944dd2643d85bb1e9c0cff7abd9","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/glance-download-import"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec describe a new import method called glance-download that implement a"},{"line_number":14,"context_line":"glance to glance download in a multi-region cloud with a federated Keystone."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"22125a75_cf21c9d8","line":13,"range":{"start_line":13,"start_character":46,"end_line":13,"end_character":61},"in_reply_to":"29ed8c02_628c888b","updated":"2022-04-21 15:33:17.000000000","message":"Its not export, it\u0027s not even import. Its just internal plugin to handle the image payload, for which it\u0027s pretty descriptive, we\u0027re downloading the image from another glance. Ref: the internal plugin explanation below.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"51a18df4913e0cbe84cc85628a822c954ee183c8","unresolved":true,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/glance-download-import"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec describe a new import method called glance-download that implement a"},{"line_number":14,"context_line":"glance to glance download in a multi-region cloud with a federated Keystone."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"29ed8c02_628c888b","line":13,"range":{"start_line":13,"start_character":46,"end_line":13,"end_character":61},"in_reply_to":"f736cc72_24b77151","updated":"2022-04-21 13:56:47.000000000","message":"I think glance-export is wrong because you\u0027re doing this on the source cloud, and import is already taken. Unfortunately, the other import method we have for uploading an image from the client is called \"glance-direct\" which will also be confusing.\n\nI\u0027m not sure there are any good names left really, but I think glance-download was taken because we\u0027re using the same sort of behavior as the existing web-download method, which pulls from a given URL. So from a consistency perspective, it\u0027s probably reasonable, even if not ideal :/","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8f435b1edb713c41682f88cd189a7d8a3bbfb795","unresolved":true,"context_lines":[{"line_number":28,"context_line":"  | propagate it to multiple regions (user)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"We can\u0027t rely on the \"copy-image\" import method to copy an image from a"},{"line_number":31,"context_line":"backend to another because it require the same glance endpoint in the same"},{"line_number":32,"context_line":"region which is not our use-case here."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The only way we have to do that now is to locally download the image data and"}],"source_content_type":"text/x-rst","patch_set":8,"id":"f6bae956_39f1c465","line":31,"range":{"start_line":31,"start_character":30,"end_line":31,"end_character":37},"updated":"2022-04-20 15:42:57.000000000","message":"\"requires\"","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"8be06415b6502e64c69f47dcfc5f27dd75865d7d","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  | propagate it to multiple regions (user)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"We can\u0027t rely on the \"copy-image\" import method to copy an image from a"},{"line_number":31,"context_line":"backend to another because it require the same glance endpoint in the same"},{"line_number":32,"context_line":"region which is not our use-case here."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The only way we have to do that now is to locally download the image data and"}],"source_content_type":"text/x-rst","patch_set":8,"id":"883f5faf_e60d0c06","line":31,"range":{"start_line":31,"start_character":30,"end_line":31,"end_character":37},"in_reply_to":"f6bae956_39f1c465","updated":"2022-04-28 13:18:58.000000000","message":"Done","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c617dcfa2d6e5abf92fe21c8230a57b9d0aee86d","unresolved":true,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"We can\u0027t rely on the \"copy-image\" import method to copy an image from a"},{"line_number":31,"context_line":"backend to another because it require the same glance endpoint in the same"},{"line_number":32,"context_line":"region which is not our use-case here."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The only way we have to do that now is to locally download the image data and"},{"line_number":35,"context_line":"upload it elsewhere, which require some orchestration, and is a huge disk"}],"source_content_type":"text/x-rst","patch_set":8,"id":"6397394c_d43eeb66","line":32,"updated":"2022-04-21 11:30:01.000000000","message":"I think there is also a counterpoint to this.\n\nspecifically geofencing\nhttps://en.wikipedia.org/wiki/Geo-fence\n\ndue to certain regulatory requirements transfer of images across borders may or may not be allowed.\n\nfor example, a snapshot of a customer VM or volume created in the EU to the US (e.g. between the EU and us region) may violate GDPR.\n\n\nso if we support this use-case in glace we might also need to provide a way to tag an image as exportable or not.\n\nso we may need to have an image property that denotes if an image should be exportable or perhaps limit this based on the image visibility.\n\ne.g. only public image or perhaps community images could be exported in this way but not shared or private images\n\nwhile you proably could lock this down via custom policy this feels like something that should be supporatble nativly on the image.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"33937d4080459944dd2643d85bb1e9c0cff7abd9","unresolved":true,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"We can\u0027t rely on the \"copy-image\" import method to copy an image from a"},{"line_number":31,"context_line":"backend to another because it require the same glance endpoint in the same"},{"line_number":32,"context_line":"region which is not our use-case here."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The only way we have to do that now is to locally download the image data and"},{"line_number":35,"context_line":"upload it elsewhere, which require some orchestration, and is a huge disk"}],"source_content_type":"text/x-rst","patch_set":8,"id":"97cd90bb_a67681e4","line":32,"in_reply_to":"619be4d6_f5cc7c32","updated":"2022-04-21 15:33:17.000000000","message":"As we rely on the image download API which the client uses too, this is governed by the image-download policy in the source. I don\u0027t see this as relevant concern for the destination service (in which this proposed code would be running).","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"51a18df4913e0cbe84cc85628a822c954ee183c8","unresolved":true,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"We can\u0027t rely on the \"copy-image\" import method to copy an image from a"},{"line_number":31,"context_line":"backend to another because it require the same glance endpoint in the same"},{"line_number":32,"context_line":"region which is not our use-case here."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The only way we have to do that now is to locally download the image data and"},{"line_number":35,"context_line":"upload it elsewhere, which require some orchestration, and is a huge disk"}],"source_content_type":"text/x-rst","patch_set":8,"id":"619be4d6_f5cc7c32","line":32,"in_reply_to":"6397394c_d43eeb66","updated":"2022-04-21 13:56:47.000000000","message":"I think we have to support private images, as I expect that\u0027s the primary reason for this existing. If I use my small corporate cloud to cultivate an instance, then snapshot it, I want to take that out to my big public cloud to run it.\n\nI think your non-exportable idea is maybe something that has value outside of this, like maybe \"not downloadable through the public endpoint\", but it could/should probably be handled separately. The source glance doesn\u0027t know this is anything other than a regular download, so it can\u0027t enforce the non-exportable flag itself.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"8be06415b6502e64c69f47dcfc5f27dd75865d7d","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"We can\u0027t rely on the \"copy-image\" import method to copy an image from a"},{"line_number":31,"context_line":"backend to another because it require the same glance endpoint in the same"},{"line_number":32,"context_line":"region which is not our use-case here."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The only way we have to do that now is to locally download the image data and"},{"line_number":35,"context_line":"upload it elsewhere, which require some orchestration, and is a huge disk"}],"source_content_type":"text/x-rst","patch_set":8,"id":"73c12d2f_bec68b45","line":32,"in_reply_to":"97cd90bb_a67681e4","updated":"2022-04-28 13:18:58.000000000","message":"sean, I don\u0027t think the GDPR topic is related to this plugin particularly and as Erno mentioned it is more a matter on source cloud.\nIn every cases we can not avoid a client to download an image from an EU cloud locally and upload it to an other cloud in US.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8f435b1edb713c41682f88cd189a7d8a3bbfb795","unresolved":true,"context_lines":[{"line_number":32,"context_line":"region which is not our use-case here."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The only way we have to do that now is to locally download the image data and"},{"line_number":35,"context_line":"upload it elsewhere, which require some orchestration, and is a huge disk"},{"line_number":36,"context_line":"space and bandwidth loss."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":8,"id":"62937018_053668d6","line":35,"range":{"start_line":35,"start_character":27,"end_line":35,"end_character":34},"updated":"2022-04-20 15:42:57.000000000","message":"\"requires\"","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"8be06415b6502e64c69f47dcfc5f27dd75865d7d","unresolved":false,"context_lines":[{"line_number":32,"context_line":"region which is not our use-case here."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The only way we have to do that now is to locally download the image data and"},{"line_number":35,"context_line":"upload it elsewhere, which require some orchestration, and is a huge disk"},{"line_number":36,"context_line":"space and bandwidth loss."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":8,"id":"08875003_f0f4d390","line":35,"range":{"start_line":35,"start_character":27,"end_line":35,"end_character":34},"in_reply_to":"62937018_053668d6","updated":"2022-04-28 13:18:58.000000000","message":"Done","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c617dcfa2d6e5abf92fe21c8230a57b9d0aee86d","unresolved":true,"context_lines":[{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Implement an internal plugin called glance-download based on the existing"},{"line_number":42,"context_line":"internal plugin web-download that will import an image stored on a remote"},{"line_number":43,"context_line":"glance. The web-download workflow will remain unchanged, only difference is to"},{"line_number":44,"context_line":"retrieve the downloadable data from an other glance endpoint instead of from"}],"source_content_type":"text/x-rst","patch_set":8,"id":"85d2b35e_d70513bc","line":41,"range":{"start_line":41,"start_character":13,"end_line":41,"end_character":21},"updated":"2022-04-21 11:30:01.000000000","message":"i actully think makeing this an internal plugin is incorrect.\ni think it shoudl be a standard plugin so that the operator can \ncontol the order of the plugin execution\n\nwith the config \n\n[image_import_opts]\nimage_import_plugins \u003d [inject_image_metadata, glance-download, image_conversion]","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"33937d4080459944dd2643d85bb1e9c0cff7abd9","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Implement an internal plugin called glance-download based on the existing"},{"line_number":42,"context_line":"internal plugin web-download that will import an image stored on a remote"},{"line_number":43,"context_line":"glance. The web-download workflow will remain unchanged, only difference is to"},{"line_number":44,"context_line":"retrieve the downloadable data from an other glance endpoint instead of from"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ec6af18c_1f553290","line":41,"range":{"start_line":41,"start_character":13,"end_line":41,"end_character":21},"in_reply_to":"82c0a4c0_b808bf48","updated":"2022-04-21 15:33:17.000000000","message":"The internal plugin refers to _internal_plugins/ [0] that are the import methods in API/client perspective. It\u0027s piece of code that handles the image payload data to be available for the rest of the import taskflow. These are configured in the glance-api.conf enabled_import_methods. What you sean are referring to in your example are the import plugins that are various tools to introspect, modify and inject the payload and metadata options automatically during the import. We do encourage and support adding deployers own tools as needed under the plugins/ on top of the ones provided in-tree in fairly easy manner, while we do not have similar mechanism for the _internal_plugins that are more tightly integrated to the code.\n\nhttps://github.com/openstack/glance/tree/master/glance/async_/flows","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"51a18df4913e0cbe84cc85628a822c954ee183c8","unresolved":true,"context_lines":[{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Implement an internal plugin called glance-download based on the existing"},{"line_number":42,"context_line":"internal plugin web-download that will import an image stored on a remote"},{"line_number":43,"context_line":"glance. The web-download workflow will remain unchanged, only difference is to"},{"line_number":44,"context_line":"retrieve the downloadable data from an other glance endpoint instead of from"}],"source_content_type":"text/x-rst","patch_set":8,"id":"82c0a4c0_b808bf48","line":41,"range":{"start_line":41,"start_character":13,"end_line":41,"end_character":21},"in_reply_to":"85d2b35e_d70513bc","updated":"2022-04-21 13:56:47.000000000","message":"\"internal plugin\" refers to being bundled in the tree and not separately installable, AFAIK.\n\nAlso, these other plugins you mention are different and they would run, as noted, after the image is fetched via glance-download (or web-download, or uploaded with glance-direct). So what you\u0027re describing will happen properly, i.e. after glance-download pulls the image, the image conversion and metadata injection will run on it if configured.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c617dcfa2d6e5abf92fe21c8230a57b9d0aee86d","unresolved":true,"context_lines":[{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Implement an internal plugin called glance-download based on the existing"},{"line_number":42,"context_line":"internal plugin web-download that will import an image stored on a remote"},{"line_number":43,"context_line":"glance. The web-download workflow will remain unchanged, only difference is to"},{"line_number":44,"context_line":"retrieve the downloadable data from an other glance endpoint instead of from"},{"line_number":45,"context_line":"an arbitrary URL."}],"source_content_type":"text/x-rst","patch_set":8,"id":"c23e0904_09f061ef","line":42,"range":{"start_line":42,"start_character":20,"end_line":42,"end_character":28},"updated":"2022-04-21 11:30:01.000000000","message":"I guess this is where the -download suffix came form\nin this context, i guess the name work out of convention \nI still think glance-export would be better but at least glance-download is consistent with an existing plugin.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"8be06415b6502e64c69f47dcfc5f27dd75865d7d","unresolved":false,"context_lines":[{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Implement an internal plugin called glance-download based on the existing"},{"line_number":42,"context_line":"internal plugin web-download that will import an image stored on a remote"},{"line_number":43,"context_line":"glance. The web-download workflow will remain unchanged, only difference is to"},{"line_number":44,"context_line":"retrieve the downloadable data from an other glance endpoint instead of from"},{"line_number":45,"context_line":"an arbitrary URL."}],"source_content_type":"text/x-rst","patch_set":8,"id":"01909ecf_5ea0e73f","line":42,"range":{"start_line":42,"start_character":20,"end_line":42,"end_character":28},"in_reply_to":"c23e0904_09f061ef","updated":"2022-04-28 13:18:58.000000000","message":"correct","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8f435b1edb713c41682f88cd189a7d8a3bbfb795","unresolved":true,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Implement an internal plugin called glance-download based on the existing"},{"line_number":42,"context_line":"internal plugin web-download that will import an image stored on a remote"},{"line_number":43,"context_line":"glance. The web-download workflow will remain unchanged, only difference is to"},{"line_number":44,"context_line":"retrieve the downloadable data from an other glance endpoint instead of from"},{"line_number":45,"context_line":"an arbitrary URL."},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a0c1a6c_35e79b2e","line":43,"range":{"start_line":43,"start_character":57,"end_line":43,"end_character":61},"updated":"2022-04-20 15:42:57.000000000","message":"\"the only\"","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"8be06415b6502e64c69f47dcfc5f27dd75865d7d","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Implement an internal plugin called glance-download based on the existing"},{"line_number":42,"context_line":"internal plugin web-download that will import an image stored on a remote"},{"line_number":43,"context_line":"glance. The web-download workflow will remain unchanged, only difference is to"},{"line_number":44,"context_line":"retrieve the downloadable data from an other glance endpoint instead of from"},{"line_number":45,"context_line":"an arbitrary URL."},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"93f42585_a818947d","line":43,"range":{"start_line":43,"start_character":57,"end_line":43,"end_character":61},"in_reply_to":"9a0c1a6c_35e79b2e","updated":"2022-04-28 13:18:58.000000000","message":"Done","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8f435b1edb713c41682f88cd189a7d8a3bbfb795","unresolved":true,"context_lines":[{"line_number":47,"context_line":"We should note two things:"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* | To authenticate on the remote glance we propose to use the context token"},{"line_number":50,"context_line":"  | of the call, so it will require to have a federated Keystone environment"},{"line_number":51,"context_line":"  | between the two Glance."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"ebd6544d_972c4f18","line":50,"range":{"start_line":50,"start_character":36,"end_line":50,"end_character":43},"updated":"2022-04-20 15:42:57.000000000","message":"s/to have//","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"8be06415b6502e64c69f47dcfc5f27dd75865d7d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"We should note two things:"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* | To authenticate on the remote glance we propose to use the context token"},{"line_number":50,"context_line":"  | of the call, so it will require to have a federated Keystone environment"},{"line_number":51,"context_line":"  | between the two Glance."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"b81e2c2e_63f0beae","line":50,"range":{"start_line":50,"start_character":36,"end_line":50,"end_character":43},"in_reply_to":"ebd6544d_972c4f18","updated":"2022-04-28 13:18:58.000000000","message":"Done","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c617dcfa2d6e5abf92fe21c8230a57b9d0aee86d","unresolved":true,"context_lines":[{"line_number":49,"context_line":"* | To authenticate on the remote glance we propose to use the context token"},{"line_number":50,"context_line":"  | of the call, so it will require to have a federated Keystone environment"},{"line_number":51,"context_line":"  | between the two Glance."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* | The creation of the image must be handled by the end user as for the"},{"line_number":55,"context_line":"  | web-download plugin meaning that it is the reponsibility of the user to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"c2f0b973_d962a9b5","line":52,"updated":"2022-04-21 11:30:01.000000000","message":"ya that is one approch another apprhch is to just take a token as part of the payload of the request to use for the remote call which removes the need for this.\n\nthat token can be generaged by the user use \"openstack token issue\" fairly trivially with something like this\n\n\nopenstack -os-cloud\u003dsrc_cloud image create --glance-download --remote-endpoint\u003d... --remote-token\u003d$(openstack --os-cloud\u003ddest_cloud token issue -f v -c id) ...\n\ni think that would be more generically useful but i suspect that is the take out approch dan was speaking of?\n\n\nrequireing federation seam pretty heavyweight and will limit the usefulness of the feature.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"13c9226310db678f726f8380058cf9283c086612","unresolved":false,"context_lines":[{"line_number":49,"context_line":"* | To authenticate on the remote glance we propose to use the context token"},{"line_number":50,"context_line":"  | of the call, so it will require to have a federated Keystone environment"},{"line_number":51,"context_line":"  | between the two Glance."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* | The creation of the image must be handled by the end user as for the"},{"line_number":55,"context_line":"  | web-download plugin meaning that it is the reponsibility of the user to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"a182759a_897adb7f","line":52,"in_reply_to":"54a1e104_ff1b8a47","updated":"2022-05-05 13:55:17.000000000","message":"Done","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"8be06415b6502e64c69f47dcfc5f27dd75865d7d","unresolved":false,"context_lines":[{"line_number":49,"context_line":"* | To authenticate on the remote glance we propose to use the context token"},{"line_number":50,"context_line":"  | of the call, so it will require to have a federated Keystone environment"},{"line_number":51,"context_line":"  | between the two Glance."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* | The creation of the image must be handled by the end user as for the"},{"line_number":55,"context_line":"  | web-download plugin meaning that it is the reponsibility of the user to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"c628819c_7d5a2eb6","line":52,"in_reply_to":"94b36a8a_3dcbadef","updated":"2022-04-28 13:18:58.000000000","message":"Done","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9a82e491308087a91248f34e2e41ecf36b72e83c","unresolved":true,"context_lines":[{"line_number":49,"context_line":"* | To authenticate on the remote glance we propose to use the context token"},{"line_number":50,"context_line":"  | of the call, so it will require to have a federated Keystone environment"},{"line_number":51,"context_line":"  | between the two Glance."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* | The creation of the image must be handled by the end user as for the"},{"line_number":55,"context_line":"  | web-download plugin meaning that it is the reponsibility of the user to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"54a1e104_ff1b8a47","line":52,"in_reply_to":"94b36a8a_3dcbadef","updated":"2022-05-05 13:54:01.000000000","message":"i think we can proceed with requireign keystone federation for the inital verison\nin the future we could add temp url supprot similar ot swifts to avoid needign to pass any tokens or credentails if federation is not used.\n\nand by the time that is implemted perhaps a generic keystone feature coudl be impelmted to make this work for any service.\n\nso we can take an incrematl appch by supporting the \"simple\" case today \"keystone federation\" \n\nsimple is in qutoes because keystone federation is only simple for the glance developer. it is complex for an operator or installer tool to configure and implemetned and its non trivial for the end users but its will allow this to mvoe forward.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"33937d4080459944dd2643d85bb1e9c0cff7abd9","unresolved":true,"context_lines":[{"line_number":49,"context_line":"* | To authenticate on the remote glance we propose to use the context token"},{"line_number":50,"context_line":"  | of the call, so it will require to have a federated Keystone environment"},{"line_number":51,"context_line":"  | between the two Glance."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* | The creation of the image must be handled by the end user as for the"},{"line_number":55,"context_line":"  | web-download plugin meaning that it is the reponsibility of the user to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"94b36a8a_3dcbadef","line":52,"in_reply_to":"bd2eeb6e_0748d6de","updated":"2022-04-21 15:33:17.000000000","message":"I really don\u0027t understand why would we save it to the database (for anything else than being exploited). it seems that I\u0027m not the only one who doesn\u0027t seem to understand this massive monster Dan is painting, but for the sake of moving this work forward it seems to be stuck on that federation part for now.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"51a18df4913e0cbe84cc85628a822c954ee183c8","unresolved":true,"context_lines":[{"line_number":49,"context_line":"* | To authenticate on the remote glance we propose to use the context token"},{"line_number":50,"context_line":"  | of the call, so it will require to have a federated Keystone environment"},{"line_number":51,"context_line":"  | between the two Glance."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* | The creation of the image must be handled by the end user as for the"},{"line_number":55,"context_line":"  | web-download plugin meaning that it is the reponsibility of the user to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"bd2eeb6e_0748d6de","line":52,"in_reply_to":"c2f0b973_d962a9b5","updated":"2022-04-21 13:56:47.000000000","message":"Yeah, and that was the original plan. However, these two clouds are not part of a trust relationship, and taking a bare unrestricted token (which we store in our database) would allow the target cloud to do *anything* to the source cloud it wants while the token is valid. I could see all your images, including snapshots of sensitive things. I could reboot your instances into rescue mode and do stuff to them. I could download your cinder and swift data.\n\nIf you\u0027re an admin using this to move images to another separate cloud I could...do anything.\n\nFederation makes that clean for now (and the people working on this are already federated). I think longer-term we need, as you noted, an \"export this one image to a temp url\" sort of take-out mechanism, which this can feed from just as easily.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8f435b1edb713c41682f88cd189a7d8a3bbfb795","unresolved":true,"context_lines":[{"line_number":55,"context_line":"  | web-download plugin meaning that it is the reponsibility of the user to"},{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":"  | If the image created does not have the same disk format or container "},{"line_number":59,"context_line":"  | format or metadata as the image on the source glance then it could happen"},{"line_number":60,"context_line":"  | that an instance won\u0027t boot on that image."},{"line_number":61,"context_line":"  | If metadata injection is configured on the target glance it will override"}],"source_content_type":"text/x-rst","patch_set":8,"id":"48004704_ccfe7df2","line":58,"range":{"start_line":58,"start_character":72,"end_line":58,"end_character":73},"updated":"2022-04-20 15:42:57.000000000","message":"trailing whitespace here","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"8be06415b6502e64c69f47dcfc5f27dd75865d7d","unresolved":false,"context_lines":[{"line_number":55,"context_line":"  | web-download plugin meaning that it is the reponsibility of the user to"},{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":"  | If the image created does not have the same disk format or container "},{"line_number":59,"context_line":"  | format or metadata as the image on the source glance then it could happen"},{"line_number":60,"context_line":"  | that an instance won\u0027t boot on that image."},{"line_number":61,"context_line":"  | If metadata injection is configured on the target glance it will override"}],"source_content_type":"text/x-rst","patch_set":8,"id":"a4bf0ed7_e3f2cf9e","line":58,"range":{"start_line":58,"start_character":72,"end_line":58,"end_character":73},"in_reply_to":"48004704_ccfe7df2","updated":"2022-04-28 13:18:58.000000000","message":"Done","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8f435b1edb713c41682f88cd189a7d8a3bbfb795","unresolved":true,"context_lines":[{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":"  | If the image created does not have the same disk format or container "},{"line_number":59,"context_line":"  | format or metadata as the image on the source glance then it could happen"},{"line_number":60,"context_line":"  | that an instance won\u0027t boot on that image."},{"line_number":61,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":62,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9904b6a9_9b116bb3","line":60,"updated":"2022-04-20 15:42:57.000000000","message":"We discussed in PTG that we would confirm disk and container matches the source image before doing the copy to avoid the transfer that we know will result in an unbootable image, so I think we should reflect that here.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"51a18df4913e0cbe84cc85628a822c954ee183c8","unresolved":true,"context_lines":[{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":"  | If the image created does not have the same disk format or container "},{"line_number":59,"context_line":"  | format or metadata as the image on the source glance then it could happen"},{"line_number":60,"context_line":"  | that an instance won\u0027t boot on that image."},{"line_number":61,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":62,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"a05c178b_9bbcb033","line":60,"in_reply_to":"0315e3b6_46d2e162","updated":"2022-04-21 13:56:47.000000000","message":"I think I\u0027m okay with either changing it during import or rejecting. Sean\u0027s point is good, but I think there\u0027s probably no way we can (currently) prevent someone from uploading or importing an image type that the cloud can\u0027t run. What we should focus on is making sure that we can run the images we should be able to run, because we have the metadata required to do so :)","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c617dcfa2d6e5abf92fe21c8230a57b9d0aee86d","unresolved":true,"context_lines":[{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":"  | If the image created does not have the same disk format or container "},{"line_number":59,"context_line":"  | format or metadata as the image on the source glance then it could happen"},{"line_number":60,"context_line":"  | that an instance won\u0027t boot on that image."},{"line_number":61,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":62,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"0315e3b6_46d2e162","line":60,"in_reply_to":"04f95c55_0ec027bc","updated":"2022-04-21 11:30:01.000000000","message":"im not sure i agree at least i would find this suprising without opting in.\n\ni understand the desire to make this a easy to use as possibel so updating the image might seam like the correct thing to do but i wonder how this will interact with the image convertion plugin for example.\n\nsay my souce cloud used swift with qcow files and my dest cloud uses raw files and ceph to get the copy on write optimisation that enables.\n\nideally we woudl want the end result to be that the image is exported as a qcow and converted in import to raw image on import.\n\n\nif the format conversion plugin was not loaded i woudl stongly agree with dan that we shoudl reject the request.\n\nif it is loaded i coudl see allowing the conversion to happen.\n\nbut im not sure we shoudl simply update the contaienr and format\nunless we had a sential value like container-format\u003dauto disk-format\u003dauto","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"35c46888bd72887a64dfeee59281da1d61e5ab03","unresolved":false,"context_lines":[{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":"  | If the image created does not have the same disk format or container "},{"line_number":59,"context_line":"  | format or metadata as the image on the source glance then it could happen"},{"line_number":60,"context_line":"  | that an instance won\u0027t boot on that image."},{"line_number":61,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":62,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"2d1d5bb3_43676024","line":60,"in_reply_to":"8a9a9620_f0d18539","updated":"2022-04-28 13:19:32.000000000","message":"Regarding the glance meeting https://meetings.opendev.org/meetings/glance/2022/glance.2022-04-21-14.00.log.txt, it appear we should do our best for the image to boot, and updating container and disk format is a quick win. It also doesn\u0027t conflict with the image_conversion plugin because it is executed after, so if the target cloud is different, these field will be overridden again.\nA good argument for doing that also is, as the image become Active, we loose all mean to update them again and the image is definitly broken, this is not the case for standard metadata.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"d66a6396a82bbed0b97f119665b11efa8a9d9e12","unresolved":true,"context_lines":[{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":"  | If the image created does not have the same disk format or container "},{"line_number":59,"context_line":"  | format or metadata as the image on the source glance then it could happen"},{"line_number":60,"context_line":"  | that an instance won\u0027t boot on that image."},{"line_number":61,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":62,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"04f95c55_0ec027bc","line":60,"in_reply_to":"9904b6a9_9b116bb3","updated":"2022-04-21 07:49:03.000000000","message":"In fact when looking at the code, an \"importing\" image can update its disk and container format: https://github.com/openstack/glance/blob/master/glance/domain/__init__.py#L217, so we think it is better to update it to match the source image instead of failing.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"33937d4080459944dd2643d85bb1e9c0cff7abd9","unresolved":true,"context_lines":[{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":"  | If the image created does not have the same disk format or container "},{"line_number":59,"context_line":"  | format or metadata as the image on the source glance then it could happen"},{"line_number":60,"context_line":"  | that an instance won\u0027t boot on that image."},{"line_number":61,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":62,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"8a9a9620_f0d18539","line":60,"in_reply_to":"a05c178b_9bbcb033","updated":"2022-04-21 15:33:17.000000000","message":"Yeah makes no sense to block the import on something that may change down the line anyways. IMO only thing that the download code should be concerning is the hash if it can confirm it or not.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8f435b1edb713c41682f88cd189a7d8a3bbfb795","unresolved":true,"context_lines":[{"line_number":59,"context_line":"  | format or metadata as the image on the source glance then it could happen"},{"line_number":60,"context_line":"  | that an instance won\u0027t boot on that image."},{"line_number":61,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":62,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7240148e_c1dbd64a","line":62,"updated":"2022-04-20 15:42:57.000000000","message":"Please document the agreement at the PTG for importing hw_* metadata from the source image so that it\u0027s actually bootable. I also think maybe os_* would be good, as it would be pretty undesirable to lose things like os_secure_boot on a sensitive image. Also things like os_distro and os_type\u003dwindows being missing will cause significant things to be wrong when trying to boot the image.\n\nAlso, losing the trait:* attributes will result in an image not booting with hardware that is needed for the software within.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c617dcfa2d6e5abf92fe21c8230a57b9d0aee86d","unresolved":true,"context_lines":[{"line_number":59,"context_line":"  | format or metadata as the image on the source glance then it could happen"},{"line_number":60,"context_line":"  | that an instance won\u0027t boot on that image."},{"line_number":61,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":62,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":8,"id":"f7256d7e_e36c10f1","line":62,"in_reply_to":"7240148e_c1dbd64a","updated":"2022-04-21 11:30:01.000000000","message":"metadata inject could modify the metadata on the image but it shoudl not do a direct replacement of all metadta.\n\ne.g. if would be ok if they admin had explictly configured injection of specific keys to override those keys but in general all metadata sespcaly the hw_* and os_* keys on the souce iamge should be preserved and copied to the dest image.\n\n\nideally as i noted previously if we made this a normal plugin\nwe can use the orderign fo the plugin defition in the config to contol the precidnce behavior\n\n\ne.g.\n[image_import_opts]\nimage_import_plugins \u003d [\u0027inject_image_metadata\u0027, \u0027glance-download\u0027, \u0027image_conversion\u0027]\n\n\nin fact it might make sense ot have this be two plugins not one\n\noriginal image has precidence\n\n[image_import_opts]\nimage_import_plugins \u003d [\u0027glance-download\u0027, \u0027inject_image_metadata\u0027, \u0027glance-metadata-copy\u0027, \u0027image_conversion\u0027]\n\ntarget cloud has precidence\n\n[image_import_opts]\nimage_import_plugins \u003d [\u0027glance-download\u0027,  \u0027glance-metadata-copy\u0027 \u0027inject_image_metadata\u0027, \u0027image_conversion\u0027]\n\n\ni distinctly dislike config driven api behaivor but that is exactly what the plugin system was desing to supprot so in this case i think its appropriate.\n\n\nthe one thing we shoudl avoid is droping the ortinal metadta entirely.\nif we just import the data but not the metadata i think that woudl be problematic\nas dan already noted.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"8be06415b6502e64c69f47dcfc5f27dd75865d7d","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  | format or metadata as the image on the source glance then it could happen"},{"line_number":60,"context_line":"  | that an instance won\u0027t boot on that image."},{"line_number":61,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":62,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1565c45d_58e3cdc1","line":62,"in_reply_to":"e725d5aa_b5ffaa7b","updated":"2022-04-28 13:18:58.000000000","message":"In the web-download plugin we don\u0027t take care about metadata so why do we have to in glance-download plugin?\nglance-download is a web-download with support of authentification, that\u0027s all.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"33937d4080459944dd2643d85bb1e9c0cff7abd9","unresolved":true,"context_lines":[{"line_number":59,"context_line":"  | format or metadata as the image on the source glance then it could happen"},{"line_number":60,"context_line":"  | that an instance won\u0027t boot on that image."},{"line_number":61,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":62,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":8,"id":"e725d5aa_b5ffaa7b","line":62,"in_reply_to":"f7256d7e_e36c10f1","updated":"2022-04-21 15:33:17.000000000","message":"Dan, there was no agreement, there was just push from you.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"33937d4080459944dd2643d85bb1e9c0cff7abd9","unresolved":true,"context_lines":[{"line_number":65,"context_line":"Alternatives"},{"line_number":66,"context_line":"------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"We could imagine a take out alternative where the owner of the image in the"},{"line_number":69,"context_line":"source cloud generates a limited-use tokenized URL that allows access to the"},{"line_number":70,"context_line":"image without any keystone auth. Such solution is securely more risky as we do"},{"line_number":71,"context_line":"not have any more authentication mechanism to access the remote image."},{"line_number":72,"context_line":"It would imply also to handle the expiry of the url. The solution is longer to"},{"line_number":73,"context_line":"develop and less secure."}],"source_content_type":"text/x-rst","patch_set":8,"id":"99e1d01d_4f919b64","line":70,"range":{"start_line":68,"start_character":0,"end_line":70,"end_character":31},"updated":"2022-04-21 15:33:17.000000000","message":"Non-existing source.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edd885c8df31bcc8858dc3bb84a6d70df8a8b2b3","unresolved":true,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"We could imagine a take out alternative where the owner of the image in the"},{"line_number":69,"context_line":"source cloud generates a limited-use tokenized URL that allows access to the"},{"line_number":70,"context_line":"image without any keystone auth. Such solution is securely more risky as we do"},{"line_number":71,"context_line":"not have any more authentication mechanism to access the remote image."},{"line_number":72,"context_line":"It would imply also to handle the expiry of the url. The solution is longer to"},{"line_number":73,"context_line":"develop and less secure."}],"source_content_type":"text/x-rst","patch_set":8,"id":"68e00fe0_9a1165ec","line":70,"range":{"start_line":70,"start_character":50,"end_line":70,"end_character":58},"updated":"2022-04-20 16:44:19.000000000","message":"i think you ment surely but i would just delete this","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"8be06415b6502e64c69f47dcfc5f27dd75865d7d","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"We could imagine a take out alternative where the owner of the image in the"},{"line_number":69,"context_line":"source cloud generates a limited-use tokenized URL that allows access to the"},{"line_number":70,"context_line":"image without any keystone auth. Such solution is securely more risky as we do"},{"line_number":71,"context_line":"not have any more authentication mechanism to access the remote image."},{"line_number":72,"context_line":"It would imply also to handle the expiry of the url. The solution is longer to"},{"line_number":73,"context_line":"develop and less secure."}],"source_content_type":"text/x-rst","patch_set":8,"id":"87209e9e_9e082c1c","line":70,"range":{"start_line":70,"start_character":50,"end_line":70,"end_character":58},"in_reply_to":"68e00fe0_9a1165ec","updated":"2022-04-28 13:18:58.000000000","message":"Done","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"8be06415b6502e64c69f47dcfc5f27dd75865d7d","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Alternatives"},{"line_number":66,"context_line":"------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"We could imagine a take out alternative where the owner of the image in the"},{"line_number":69,"context_line":"source cloud generates a limited-use tokenized URL that allows access to the"},{"line_number":70,"context_line":"image without any keystone auth. Such solution is securely more risky as we do"},{"line_number":71,"context_line":"not have any more authentication mechanism to access the remote image."},{"line_number":72,"context_line":"It would imply also to handle the expiry of the url. The solution is longer to"},{"line_number":73,"context_line":"develop and less secure."}],"source_content_type":"text/x-rst","patch_set":8,"id":"2cc4a220_fd21007b","line":70,"range":{"start_line":68,"start_character":0,"end_line":70,"end_character":31},"in_reply_to":"99e1d01d_4f919b64","updated":"2022-04-28 13:18:58.000000000","message":"Done","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edd885c8df31bcc8858dc3bb84a6d70df8a8b2b3","unresolved":true,"context_lines":[{"line_number":68,"context_line":"We could imagine a take out alternative where the owner of the image in the"},{"line_number":69,"context_line":"source cloud generates a limited-use tokenized URL that allows access to the"},{"line_number":70,"context_line":"image without any keystone auth. Such solution is securely more risky as we do"},{"line_number":71,"context_line":"not have any more authentication mechanism to access the remote image."},{"line_number":72,"context_line":"It would imply also to handle the expiry of the url. The solution is longer to"},{"line_number":73,"context_line":"develop and less secure."},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"628b8282_f1e4e020","line":71,"range":{"start_line":71,"start_character":13,"end_line":71,"end_character":17},"updated":"2022-04-20 16:44:19.000000000","message":"delete","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"8be06415b6502e64c69f47dcfc5f27dd75865d7d","unresolved":false,"context_lines":[{"line_number":68,"context_line":"We could imagine a take out alternative where the owner of the image in the"},{"line_number":69,"context_line":"source cloud generates a limited-use tokenized URL that allows access to the"},{"line_number":70,"context_line":"image without any keystone auth. Such solution is securely more risky as we do"},{"line_number":71,"context_line":"not have any more authentication mechanism to access the remote image."},{"line_number":72,"context_line":"It would imply also to handle the expiry of the url. The solution is longer to"},{"line_number":73,"context_line":"develop and less secure."},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"7dbed5a9_0c4b48a8","line":71,"range":{"start_line":71,"start_character":13,"end_line":71,"end_character":17},"in_reply_to":"628b8282_f1e4e020","updated":"2022-04-28 13:18:58.000000000","message":"Done","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"edd885c8df31bcc8858dc3bb84a6d70df8a8b2b3","unresolved":true,"context_lines":[{"line_number":69,"context_line":"source cloud generates a limited-use tokenized URL that allows access to the"},{"line_number":70,"context_line":"image without any keystone auth. Such solution is securely more risky as we do"},{"line_number":71,"context_line":"not have any more authentication mechanism to access the remote image."},{"line_number":72,"context_line":"It would imply also to handle the expiry of the url. The solution is longer to"},{"line_number":73,"context_line":"develop and less secure."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"76af61d3_ce6d0346","line":73,"range":{"start_line":72,"start_character":0,"end_line":73,"end_character":24},"updated":"2022-04-20 16:44:19.000000000","message":"i would reword this as follows:\n\n\"\"\"This would also require developing a mechanism to manage creation and expiration of the temporary urls which would result in a more complex solution that requires more time to develop, document and test.\"\"\"\n\nthis really is just describing a bearer token or aplication creditiaol with an experiation time by the way so if we really wanted to do this create a application credtial with a short expirey time would likely be the way to short cut the effort of deveploying tempery urls.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"8be06415b6502e64c69f47dcfc5f27dd75865d7d","unresolved":false,"context_lines":[{"line_number":69,"context_line":"source cloud generates a limited-use tokenized URL that allows access to the"},{"line_number":70,"context_line":"image without any keystone auth. Such solution is securely more risky as we do"},{"line_number":71,"context_line":"not have any more authentication mechanism to access the remote image."},{"line_number":72,"context_line":"It would imply also to handle the expiry of the url. The solution is longer to"},{"line_number":73,"context_line":"develop and less secure."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"beb51023_7f7cd8f9","line":73,"range":{"start_line":72,"start_character":0,"end_line":73,"end_character":24},"in_reply_to":"5b8085ce_dbe9d764","updated":"2022-04-28 13:18:58.000000000","message":"reworded","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"51a18df4913e0cbe84cc85628a822c954ee183c8","unresolved":true,"context_lines":[{"line_number":69,"context_line":"source cloud generates a limited-use tokenized URL that allows access to the"},{"line_number":70,"context_line":"image without any keystone auth. Such solution is securely more risky as we do"},{"line_number":71,"context_line":"not have any more authentication mechanism to access the remote image."},{"line_number":72,"context_line":"It would imply also to handle the expiry of the url. The solution is longer to"},{"line_number":73,"context_line":"develop and less secure."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5b8085ce_dbe9d764","line":73,"range":{"start_line":72,"start_character":0,"end_line":73,"end_character":24},"in_reply_to":"6bedd4aa_3cebb0e4","updated":"2022-04-21 13:56:47.000000000","message":"\u003e but i think we bot agree that it would be better to have the impelmation outside of glance likely in keystoen or oslo.\n\u003e \n\u003e i think swift actully already have tempory urls as middleware\n\u003e \n\u003e https://www.google.com/search?q\u003dswift+temporary+url\n\u003e perhaps glace could also reuse that or ti coudl be make more generic\n\u003e as part of oslo\n\u003e \n\u003e long term i think there is still a need for keystone to be abel to issue a token that has a limite set of role and a limited lifespan that can be made work only for a spricic service.\n\nYep, agreed.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d82aae61720c71a7e9449b9c01cc4d5b77978f18","unresolved":true,"context_lines":[{"line_number":69,"context_line":"source cloud generates a limited-use tokenized URL that allows access to the"},{"line_number":70,"context_line":"image without any keystone auth. Such solution is securely more risky as we do"},{"line_number":71,"context_line":"not have any more authentication mechanism to access the remote image."},{"line_number":72,"context_line":"It would imply also to handle the expiry of the url. The solution is longer to"},{"line_number":73,"context_line":"develop and less secure."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"c265aff8_562f660e","line":73,"range":{"start_line":72,"start_character":0,"end_line":73,"end_character":24},"in_reply_to":"76af61d3_ce6d0346","updated":"2022-04-20 16:59:17.000000000","message":"I don\u0027t actually think that app creds give us a better approach here. Based on my understanding of keystone\u0027s implementation, I don\u0027t think there\u0027s any way currently to limit those to one service, and definitely no way (in glance at least) to limit access to a single resource (image) for that credential. Glance does have image sharing, so some combination of a temporary project, credential for that, and sharing the image to that project would do it, and certainly some takeout mechanism could use that functionality internally to be less cumbersome for the user.\n\nI think there\u0027s probably a good justification for a takeout-like approach for other services and it\u0027d be good to have some general way to do it. However, I think that needs to be more fine-grained than \"here is a credential to act as me on all parts of the source cloud for an hour\". Even if it was limited to a single service (i.e. glance) I may want to move a fedora image I\u0027ve cultivated out to a public cloud service, but that other cloud should not be able to see my windows images, their license keys, or snapshots of other instance I\u0027ve taken which have sensitive data in them. That surely shouldn\u0027t allow access to all my nova instances, cinder/swift data, and networks and we shouldn\u0027t design a feature that encourages users to do that even if we recommend that they create a temporary project or something as insulation, IMHO.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c617dcfa2d6e5abf92fe21c8230a57b9d0aee86d","unresolved":true,"context_lines":[{"line_number":69,"context_line":"source cloud generates a limited-use tokenized URL that allows access to the"},{"line_number":70,"context_line":"image without any keystone auth. Such solution is securely more risky as we do"},{"line_number":71,"context_line":"not have any more authentication mechanism to access the remote image."},{"line_number":72,"context_line":"It would imply also to handle the expiry of the url. The solution is longer to"},{"line_number":73,"context_line":"develop and less secure."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"6bedd4aa_3cebb0e4","line":73,"range":{"start_line":72,"start_character":0,"end_line":73,"end_character":24},"in_reply_to":"c265aff8_562f660e","updated":"2022-04-21 11:30:01.000000000","message":"ya the closest you can do with an app cred is create one with a readonly role with say 1 hour expirey but you are right we cant scope that to just glance it woudl be readonly for everything.\n\nbut i think we bot agree that it would be better to have the impelmation outside of glance likely in keystoen or oslo.\n\ni think swift actully already have tempory urls as middleware\n\nhttps://www.google.com/search?q\u003dswift+temporary+url\nperhaps glace could also reuse that or ti coudl be make more generic\nas part of oslo\n\nlong term i think there is still a need for keystone to be abel to issue a token that has a limite set of role and a limited lifespan that can be made work only for a spricic service.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"33937d4080459944dd2643d85bb1e9c0cff7abd9","unresolved":true,"context_lines":[{"line_number":71,"context_line":"not have any more authentication mechanism to access the remote image."},{"line_number":72,"context_line":"It would imply also to handle the expiry of the url. The solution is longer to"},{"line_number":73,"context_line":"develop and less secure."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Data model impact"},{"line_number":77,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1830bd4b_9fb25271","line":74,"updated":"2022-04-21 15:33:17.000000000","message":"We also could accept time limited token and keystone endpoint for the source cloud and process the image that way. there\u0027s even example of source limiter config options in the web-download for the deployments where fencing is needed.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"35c46888bd72887a64dfeee59281da1d61e5ab03","unresolved":false,"context_lines":[{"line_number":71,"context_line":"not have any more authentication mechanism to access the remote image."},{"line_number":72,"context_line":"It would imply also to handle the expiry of the url. The solution is longer to"},{"line_number":73,"context_line":"develop and less secure."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Data model impact"},{"line_number":77,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1a2ca03f_76c64cfe","line":74,"in_reply_to":"1830bd4b_9fb25271","updated":"2022-04-28 13:19:32.000000000","message":"We already cover this topic some comments above, as we agree to enforce a federated environment for the first implementation, we don\u0027t need to send any token or Keystone endpoint","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8f435b1edb713c41682f88cd189a7d8a3bbfb795","unresolved":true,"context_lines":[{"line_number":115,"context_line":"        \"glance_service_interface\": {"},{"line_number":116,"context_line":"            \"decription\": \"The interface of remote glance, default to \u0027public\u0027\","},{"line_number":117,"context_line":"            \"type\": \"string\""},{"line_number":118,"context_line":"        }"},{"line_number":119,"context_line":"    }"},{"line_number":120,"context_line":".."},{"line_number":121,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"962e6d84_c00becd1","line":118,"updated":"2022-04-20 15:42:57.000000000","message":"We discussed taking a list of metadata namespaces (on top of hw_) to import here, so that the user can bring over their own values. Software license keys and other configuration critical to making the image actually work are things I would expect a service-aware import to bring over, as a user.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"33937d4080459944dd2643d85bb1e9c0cff7abd9","unresolved":true,"context_lines":[{"line_number":115,"context_line":"        \"glance_service_interface\": {"},{"line_number":116,"context_line":"            \"decription\": \"The interface of remote glance, default to \u0027public\u0027\","},{"line_number":117,"context_line":"            \"type\": \"string\""},{"line_number":118,"context_line":"        }"},{"line_number":119,"context_line":"    }"},{"line_number":120,"context_line":".."},{"line_number":121,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"592f4a50_21ad3ad9","line":118,"in_reply_to":"2157abaf_6c17eee0","updated":"2022-04-21 15:33:17.000000000","message":"Ditto, should not be done by this internal plugin.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"35c46888bd72887a64dfeee59281da1d61e5ab03","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        \"glance_service_interface\": {"},{"line_number":116,"context_line":"            \"decription\": \"The interface of remote glance, default to \u0027public\u0027\","},{"line_number":117,"context_line":"            \"type\": \"string\""},{"line_number":118,"context_line":"        }"},{"line_number":119,"context_line":"    }"},{"line_number":120,"context_line":".."},{"line_number":121,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"be88f3d1_5d83afa4","line":118,"in_reply_to":"592f4a50_21ad3ad9","updated":"2022-04-28 13:19:32.000000000","message":"We agree in the past glance meeting that we shouldn\u0027t impact the API as we don\u0027t have a consensus on this topic. It may also evolve in the future with next feature who can be develop around this spec.","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c617dcfa2d6e5abf92fe21c8230a57b9d0aee86d","unresolved":true,"context_lines":[{"line_number":115,"context_line":"        \"glance_service_interface\": {"},{"line_number":116,"context_line":"            \"decription\": \"The interface of remote glance, default to \u0027public\u0027\","},{"line_number":117,"context_line":"            \"type\": \"string\""},{"line_number":118,"context_line":"        }"},{"line_number":119,"context_line":"    }"},{"line_number":120,"context_line":".."},{"line_number":121,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"2157abaf_6c17eee0","line":118,"in_reply_to":"962e6d84_c00becd1","updated":"2022-04-21 11:30:01.000000000","message":"+1\n\neither i would expect all metdata to be coppied or we have a way to say what gets copied in the request","commit_id":"fb0879c7aa81b9ff564d7e7242b01102c1906256"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5ffc2b555b12fa65afb217e8d9162de60cd72b0a","unresolved":true,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/glance-download-import"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec describe a new import method called glance-download that implement a"},{"line_number":14,"context_line":"glance to glance download in a multi-region cloud with a federated Keystone."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"534d4b6e_ce65ef38","line":13,"range":{"start_line":13,"start_character":67,"end_line":13,"end_character":76},"updated":"2022-05-02 20:02:56.000000000","message":"implements","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"060d073f12bd8a710d36af771c62dde6e1b2f06b","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/glance-download-import"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec describe a new import method called glance-download that implement a"},{"line_number":14,"context_line":"glance to glance download in a multi-region cloud with a federated Keystone."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"179b8f4c_20263a5d","line":13,"range":{"start_line":13,"start_character":67,"end_line":13,"end_character":76},"in_reply_to":"534d4b6e_ce65ef38","updated":"2022-05-03 14:14:53.000000000","message":"Done","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5ffc2b555b12fa65afb217e8d9162de60cd72b0a","unresolved":true,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* Copy instance snapshot in another region to have a backup (user)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"* | Build your base application image from a factory in one region, then"},{"line_number":28,"context_line":"  | propagate it to multiple regions (user)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"We can\u0027t rely on the \"copy-image\" import method to copy an image from a"},{"line_number":31,"context_line":"backend to another because it requires the same glance endpoint in the same"}],"source_content_type":"text/x-rst","patch_set":9,"id":"29b6ebdf_4b4c35a4","line":28,"range":{"start_line":27,"start_character":2,"end_line":28,"end_character":43},"updated":"2022-05-02 20:02:56.000000000","message":"You only need to do this thing with the bars if you want to preserve the newline in the item, which you really don\u0027t need to do here.  You do need to indent the second line, but that\u0027s just so sphinx knows that it\u0027s part of the same bullet point.  What I mean is, this should be:\n\n  * Build your base application image from a factory in one region, then\n    propagate it to multiple regions (user)\n\nSame thing at lines 49-64 and 230-232 below.","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"060d073f12bd8a710d36af771c62dde6e1b2f06b","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* Copy instance snapshot in another region to have a backup (user)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"* | Build your base application image from a factory in one region, then"},{"line_number":28,"context_line":"  | propagate it to multiple regions (user)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"We can\u0027t rely on the \"copy-image\" import method to copy an image from a"},{"line_number":31,"context_line":"backend to another because it requires the same glance endpoint in the same"}],"source_content_type":"text/x-rst","patch_set":9,"id":"0f03cac8_05c0e3e2","line":28,"range":{"start_line":27,"start_character":2,"end_line":28,"end_character":43},"in_reply_to":"29b6ebdf_4b4c35a4","updated":"2022-05-03 14:14:53.000000000","message":"Done","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5ffc2b555b12fa65afb217e8d9162de60cd72b0a","unresolved":true,"context_lines":[{"line_number":44,"context_line":"is to retrieve the downloadable data from an other glance endpoint instead of"},{"line_number":45,"context_line":"from an arbitrary URL."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"We should note two things:"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* | To authenticate on the remote glance we propose to use the context token"},{"line_number":50,"context_line":"  | of the call, so it will require a federated Keystone environment between"}],"source_content_type":"text/x-rst","patch_set":9,"id":"6b79822f_0cdc4e05","line":47,"range":{"start_line":47,"start_character":15,"end_line":47,"end_character":18},"updated":"2022-05-02 20:02:56.000000000","message":"several (?) ... I think you should break your second point below into a few different points.","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"060d073f12bd8a710d36af771c62dde6e1b2f06b","unresolved":false,"context_lines":[{"line_number":44,"context_line":"is to retrieve the downloadable data from an other glance endpoint instead of"},{"line_number":45,"context_line":"from an arbitrary URL."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"We should note two things:"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* | To authenticate on the remote glance we propose to use the context token"},{"line_number":50,"context_line":"  | of the call, so it will require a federated Keystone environment between"}],"source_content_type":"text/x-rst","patch_set":9,"id":"19cc4ceb_cc841fe0","line":47,"range":{"start_line":47,"start_character":15,"end_line":47,"end_character":18},"in_reply_to":"6b79822f_0cdc4e05","updated":"2022-05-03 14:14:53.000000000","message":"Done","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5ffc2b555b12fa65afb217e8d9162de60cd72b0a","unresolved":true,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* | The creation of the image must be handled by the end user as for the"},{"line_number":55,"context_line":"  | web-download plugin meaning that it is the reponsibility of the user to"},{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":"  | The plugin will update the container_format and disk_format to match what"}],"source_content_type":"text/x-rst","patch_set":9,"id":"c8b61752_e3808f24","line":55,"range":{"start_line":55,"start_character":47,"end_line":55,"end_character":60},"updated":"2022-05-02 20:02:56.000000000","message":"responsibility","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"060d073f12bd8a710d36af771c62dde6e1b2f06b","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* | The creation of the image must be handled by the end user as for the"},{"line_number":55,"context_line":"  | web-download plugin meaning that it is the reponsibility of the user to"},{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":"  | The plugin will update the container_format and disk_format to match what"}],"source_content_type":"text/x-rst","patch_set":9,"id":"975ac282_ad88ddde","line":55,"range":{"start_line":55,"start_character":47,"end_line":55,"end_character":60},"in_reply_to":"c8b61752_e3808f24","updated":"2022-05-03 14:14:53.000000000","message":"Done","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5ffc2b555b12fa65afb217e8d9162de60cd72b0a","unresolved":true,"context_lines":[{"line_number":55,"context_line":"  | web-download plugin meaning that it is the reponsibility of the user to"},{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":"  | The plugin will update the container_format and disk_format to match what"},{"line_number":59,"context_line":"  | is set on source glance."},{"line_number":60,"context_line":"  | If the image created does not have the same metadata as the image on the"},{"line_number":61,"context_line":"  | source glance then it could happen that an instance won\u0027t boot on that "}],"source_content_type":"text/x-rst","patch_set":9,"id":"e8120a06_4765a4d2","line":58,"range":{"start_line":58,"start_character":4,"end_line":58,"end_character":7},"updated":"2022-05-02 20:02:56.000000000","message":"Maybe say, \"If necessary, the plugin will ...\"","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"060d073f12bd8a710d36af771c62dde6e1b2f06b","unresolved":false,"context_lines":[{"line_number":55,"context_line":"  | web-download plugin meaning that it is the reponsibility of the user to"},{"line_number":56,"context_line":"  | take care of disk format, container format and metadata of the newly"},{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":"  | The plugin will update the container_format and disk_format to match what"},{"line_number":59,"context_line":"  | is set on source glance."},{"line_number":60,"context_line":"  | If the image created does not have the same metadata as the image on the"},{"line_number":61,"context_line":"  | source glance then it could happen that an instance won\u0027t boot on that "}],"source_content_type":"text/x-rst","patch_set":9,"id":"2444d5e8_41e05258","line":58,"range":{"start_line":58,"start_character":4,"end_line":58,"end_character":7},"in_reply_to":"e8120a06_4765a4d2","updated":"2022-05-03 14:14:53.000000000","message":"Done","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5ffc2b555b12fa65afb217e8d9162de60cd72b0a","unresolved":true,"context_lines":[{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":"  | The plugin will update the container_format and disk_format to match what"},{"line_number":59,"context_line":"  | is set on source glance."},{"line_number":60,"context_line":"  | If the image created does not have the same metadata as the image on the"},{"line_number":61,"context_line":"  | source glance then it could happen that an instance won\u0027t boot on that "},{"line_number":62,"context_line":"  | imported image."},{"line_number":63,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":64,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"00a0e580_07380a64","line":62,"range":{"start_line":60,"start_character":0,"end_line":62,"end_character":19},"updated":"2022-05-02 20:02:56.000000000","message":"I think this should be its own bullet point.  Just to make sure I understand correctly, you\u0027re referring to some of the \"Useful Image Properties\" [0] consumed by Nova (for example, \u0027hypervisor_type\u0027)?  And this is more a warning about using the feature you\u0027re proposing, rather than part of the feature?\n\n\n[0] https://docs.openstack.org/glance/latest/admin/useful-image-properties.html","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"feea90a8617933d7f4d7507cea6bb948dd040b42","unresolved":true,"context_lines":[{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":"  | The plugin will update the container_format and disk_format to match what"},{"line_number":59,"context_line":"  | is set on source glance."},{"line_number":60,"context_line":"  | If the image created does not have the same metadata as the image on the"},{"line_number":61,"context_line":"  | source glance then it could happen that an instance won\u0027t boot on that "},{"line_number":62,"context_line":"  | imported image."},{"line_number":63,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":64,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"eba1a8e3_96cff90a","line":62,"range":{"start_line":60,"start_character":0,"end_line":62,"end_character":19},"in_reply_to":"00a0e580_07380a64","updated":"2022-05-02 20:48:15.000000000","message":"Yes, many of those properties (like several of the hw_ and os_ ones are critical).\n\nThis hasn\u0027t been updated since the last meeting where we (I think, finally) are on the same page about making the bare-minimum metadata copy over by default. So this quoted sentence will change, and the new version should indicate that copying over a critical subset of the properties is a thing this will do.","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"060d073f12bd8a710d36af771c62dde6e1b2f06b","unresolved":false,"context_lines":[{"line_number":57,"context_line":"  | created image."},{"line_number":58,"context_line":"  | The plugin will update the container_format and disk_format to match what"},{"line_number":59,"context_line":"  | is set on source glance."},{"line_number":60,"context_line":"  | If the image created does not have the same metadata as the image on the"},{"line_number":61,"context_line":"  | source glance then it could happen that an instance won\u0027t boot on that "},{"line_number":62,"context_line":"  | imported image."},{"line_number":63,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":64,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"e8515cf6_ac5d7455","line":62,"range":{"start_line":60,"start_character":0,"end_line":62,"end_character":19},"in_reply_to":"eba1a8e3_96cff90a","updated":"2022-05-03 14:14:53.000000000","message":"Done","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5ffc2b555b12fa65afb217e8d9162de60cd72b0a","unresolved":true,"context_lines":[{"line_number":60,"context_line":"  | If the image created does not have the same metadata as the image on the"},{"line_number":61,"context_line":"  | source glance then it could happen that an instance won\u0027t boot on that "},{"line_number":62,"context_line":"  | imported image."},{"line_number":63,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":64,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fd92d553_27ede60b","line":64,"range":{"start_line":63,"start_character":0,"end_line":64,"end_character":58},"updated":"2022-05-02 20:02:56.000000000","message":"I suggest making this its own bullet point.  Again, this sounds more like something to be aware of than part of the feature.","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"7be88805ca00bc4790ff8e0e3bfe928f5a977177","unresolved":true,"context_lines":[{"line_number":61,"context_line":"  | source glance then it could happen that an instance won\u0027t boot on that "},{"line_number":62,"context_line":"  | imported image."},{"line_number":63,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":64,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":9,"id":"4c868be1_f7b0deb2","line":64,"updated":"2022-04-28 13:47:27.000000000","message":"It looks like this is still prescribing not copying the critical metadata namespaces? In the last meeting, I think we had consensus (though not unanimity) about just copying a hard-coded set of namespaces:\n\nhttps://meetings.opendev.org/meetings/glance/2022/glance.2022-04-21-14.00.log.html#l-156\n\nI think all but one person agrees this is a good first step to make this minimally viable.\n\nAs I have said before, if you need help implementing that part, I\u0027m more than happy to chip in to make it work.","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"060d073f12bd8a710d36af771c62dde6e1b2f06b","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  | source glance then it could happen that an instance won\u0027t boot on that "},{"line_number":62,"context_line":"  | imported image."},{"line_number":63,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":64,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":9,"id":"99ac6c6a_bdb00d1d","line":64,"in_reply_to":"4c868be1_f7b0deb2","updated":"2022-05-03 14:14:53.000000000","message":"Done","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"060d073f12bd8a710d36af771c62dde6e1b2f06b","unresolved":false,"context_lines":[{"line_number":60,"context_line":"  | If the image created does not have the same metadata as the image on the"},{"line_number":61,"context_line":"  | source glance then it could happen that an instance won\u0027t boot on that "},{"line_number":62,"context_line":"  | imported image."},{"line_number":63,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":64,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1ad1e587_a3e330ca","line":64,"range":{"start_line":63,"start_character":0,"end_line":64,"end_character":58},"in_reply_to":"d215d6ae_9b153718","updated":"2022-05-03 14:14:53.000000000","message":"Done","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"feea90a8617933d7f4d7507cea6bb948dd040b42","unresolved":true,"context_lines":[{"line_number":60,"context_line":"  | If the image created does not have the same metadata as the image on the"},{"line_number":61,"context_line":"  | source glance then it could happen that an instance won\u0027t boot on that "},{"line_number":62,"context_line":"  | imported image."},{"line_number":63,"context_line":"  | If metadata injection is configured on the target glance it will override"},{"line_number":64,"context_line":"  | the metadata as the injection is run after the import."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":9,"id":"d215d6ae_9b153718","line":64,"range":{"start_line":63,"start_character":0,"end_line":64,"end_character":58},"in_reply_to":"fd92d553_27ede60b","updated":"2022-05-02 20:48:15.000000000","message":"Copying the critical metadata (and fixing container/disk_format if needed) is part of the core function here. So I don\u0027t think it\u0027s just an FYI to the user, except that we need only communicate the list of things we\u0027re copying in the docs or something.","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5ffc2b555b12fa65afb217e8d9162de60cd72b0a","unresolved":true,"context_lines":[{"line_number":71,"context_line":"source cloud generates a limited-use tokenized URL that allows access to the"},{"line_number":72,"context_line":"image without any keystone auth. Such solution is more risky as we do not "},{"line_number":73,"context_line":"have any authentication mechanism to access the remote image. It will also"},{"line_number":74,"context_line":"require write de code as there is no existing source."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"This would also require developing a mechanism to manage creation and "},{"line_number":77,"context_line":"expiration of the temporary urls which would result in a more complex solution"}],"source_content_type":"text/x-rst","patch_set":9,"id":"920e112b_c9313cfc","line":74,"range":{"start_line":74,"start_character":8,"end_line":74,"end_character":21},"updated":"2022-05-02 20:02:56.000000000","message":"rewriting the code","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"060d073f12bd8a710d36af771c62dde6e1b2f06b","unresolved":false,"context_lines":[{"line_number":71,"context_line":"source cloud generates a limited-use tokenized URL that allows access to the"},{"line_number":72,"context_line":"image without any keystone auth. Such solution is more risky as we do not "},{"line_number":73,"context_line":"have any authentication mechanism to access the remote image. It will also"},{"line_number":74,"context_line":"require write de code as there is no existing source."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"This would also require developing a mechanism to manage creation and "},{"line_number":77,"context_line":"expiration of the temporary urls which would result in a more complex solution"}],"source_content_type":"text/x-rst","patch_set":9,"id":"30d8ce1d_91b1d5bf","line":74,"range":{"start_line":74,"start_character":8,"end_line":74,"end_character":21},"in_reply_to":"920e112b_c9313cfc","updated":"2022-05-03 14:14:53.000000000","message":"Done","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5ffc2b555b12fa65afb217e8d9162de60cd72b0a","unresolved":true,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"This would also require developing a mechanism to manage creation and "},{"line_number":77,"context_line":"expiration of the temporary urls which would result in a more complex solution"},{"line_number":78,"context_line":"that requires more time to develop, document and test."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Data model impact"},{"line_number":81,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"84588032_fae0cd97","line":78,"updated":"2022-05-02 20:02:56.000000000","message":"nit: please remove the trailing whitespace on lines 72 and 76.","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"060d073f12bd8a710d36af771c62dde6e1b2f06b","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"This would also require developing a mechanism to manage creation and "},{"line_number":77,"context_line":"expiration of the temporary urls which would result in a more complex solution"},{"line_number":78,"context_line":"that requires more time to develop, document and test."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Data model impact"},{"line_number":81,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"8056744e_bb0d34b6","line":78,"in_reply_to":"84588032_fae0cd97","updated":"2022-05-03 14:14:53.000000000","message":"Done","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5ffc2b555b12fa65afb217e8d9162de60cd72b0a","unresolved":true,"context_lines":[{"line_number":152,"context_line":"---------------------"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Update glanceclient and openstackclient to support this new feature."},{"line_number":155,"context_line":"The clients should implement the glance-download fetaure in the create command"},{"line_number":156,"context_line":"(glance image-create or openstack image create). This command will take as"},{"line_number":157,"context_line":"option the source glance image id, the source glance region and optionally the"},{"line_number":158,"context_line":"source glance interface."}],"source_content_type":"text/x-rst","patch_set":9,"id":"314ea8db_acfd132c","line":155,"range":{"start_line":155,"start_character":49,"end_line":155,"end_character":56},"updated":"2022-05-02 20:02:56.000000000","message":"feature","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"060d073f12bd8a710d36af771c62dde6e1b2f06b","unresolved":false,"context_lines":[{"line_number":152,"context_line":"---------------------"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Update glanceclient and openstackclient to support this new feature."},{"line_number":155,"context_line":"The clients should implement the glance-download fetaure in the create command"},{"line_number":156,"context_line":"(glance image-create or openstack image create). This command will take as"},{"line_number":157,"context_line":"option the source glance image id, the source glance region and optionally the"},{"line_number":158,"context_line":"source glance interface."}],"source_content_type":"text/x-rst","patch_set":9,"id":"954b54da_0f456230","line":155,"range":{"start_line":155,"start_character":49,"end_line":155,"end_character":56},"in_reply_to":"314ea8db_acfd132c","updated":"2022-05-03 14:14:53.000000000","message":"Done","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5ffc2b555b12fa65afb217e8d9162de60cd72b0a","unresolved":true,"context_lines":[{"line_number":167,"context_line":"Other deployer impact"},{"line_number":168,"context_line":"---------------------"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"None"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7c5b4e34_fdc2e1c4","line":170,"range":{"start_line":170,"start_character":0,"end_line":170,"end_character":4},"updated":"2022-05-02 20:02:56.000000000","message":"This will be \"off\" by default, right, because it requires regions with federated keystone?  So here you should say that deployers who want to enable this feature must add it to the \u0027enabled_import_methods\u0027 configuration option in the configuration file.","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"060d073f12bd8a710d36af771c62dde6e1b2f06b","unresolved":false,"context_lines":[{"line_number":167,"context_line":"Other deployer impact"},{"line_number":168,"context_line":"---------------------"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"None"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":9,"id":"61c3e371_3cce1f9e","line":170,"range":{"start_line":170,"start_character":0,"end_line":170,"end_character":4},"in_reply_to":"4c682c6c_bded50b4","updated":"2022-05-03 14:14:53.000000000","message":"Agree with Dan it shouldn\u0027t impact any existing keystone deployment.","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"feea90a8617933d7f4d7507cea6bb948dd040b42","unresolved":true,"context_lines":[{"line_number":167,"context_line":"Other deployer impact"},{"line_number":168,"context_line":"---------------------"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"None"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":9,"id":"4c682c6c_bded50b4","line":170,"range":{"start_line":170,"start_character":0,"end_line":170,"end_character":4},"in_reply_to":"7c5b4e34_fdc2e1c4","updated":"2022-05-02 20:48:15.000000000","message":"I\u0027m not sure it needs to be off by default (but fine, if so). If you only have one glance in your deployment there\u0027s no real need to do this, but.. it should still work. Like, you could use this to copy a public image into a private one) for example. Not probably much point in doing that, but it should work :)","commit_id":"e636c1ceb3be03462dabba6a8904303d72f14365"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"acfb3e04088063b3f68508b6d9d0c754ae7e7324","unresolved":true,"context_lines":[{"line_number":31,"context_line":"backend to another because it requires the same glance endpoint in the same"},{"line_number":32,"context_line":"region which is not our use-case here."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The only way we have to do that now is to locally download the image data and"},{"line_number":35,"context_line":"upload it elsewhere, which requires some orchestration, and is a huge disk"},{"line_number":36,"context_line":"space and bandwidth loss."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"d3aa0f1a_ba0a8b7d","line":34,"range":{"start_line":34,"start_character":24,"end_line":34,"end_character":31},"updated":"2022-05-04 06:02:29.000000000","message":"nit: do it?","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"bbbe3e9bdb43d957fe9f2165d4d8f0077b16e3f2","unresolved":false,"context_lines":[{"line_number":31,"context_line":"backend to another because it requires the same glance endpoint in the same"},{"line_number":32,"context_line":"region which is not our use-case here."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The only way we have to do that now is to locally download the image data and"},{"line_number":35,"context_line":"upload it elsewhere, which requires some orchestration, and is a huge disk"},{"line_number":36,"context_line":"space and bandwidth loss."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"661e4311_c11db018","line":34,"range":{"start_line":34,"start_character":24,"end_line":34,"end_character":31},"in_reply_to":"d3aa0f1a_ba0a8b7d","updated":"2022-05-04 06:53:16.000000000","message":"Done","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b01ed4d6d064c5aad4338f6b7ab870935d11910e","unresolved":true,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":".. code-block:: ini"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  [import_metadata_properties]"},{"line_number":68,"context_line":"  metadatas \u003d [\u0027hw_\u0027, \u0027trait:\u0027]"},{"line_number":69,"context_line":".."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"e77728bf_9b7ea8e3","line":67,"range":{"start_line":67,"start_character":3,"end_line":67,"end_character":29},"updated":"2022-05-04 06:13:08.000000000","message":"how about `glance_download_additional_properties` \nor `glance_download_required_properties` ?","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"cba795d16162746b356c7943dc48eec6b2afb008","unresolved":true,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":".. code-block:: ini"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  [import_metadata_properties]"},{"line_number":68,"context_line":"  metadatas \u003d [\u0027hw_\u0027, \u0027trait:\u0027]"},{"line_number":69,"context_line":".."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"e0b5deb1_7f08f15f","line":67,"range":{"start_line":67,"start_character":3,"end_line":67,"end_character":29},"in_reply_to":"144f2f93_79d4ea33","updated":"2022-05-04 07:29:26.000000000","message":"sounds good!","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"671bb19f8be66ee6dd9918324c272360b68c0b6d","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":".. code-block:: ini"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  [import_metadata_properties]"},{"line_number":68,"context_line":"  metadatas \u003d [\u0027hw_\u0027, \u0027trait:\u0027]"},{"line_number":69,"context_line":".."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"2905011e_9b5358b0","line":67,"range":{"start_line":67,"start_character":3,"end_line":67,"end_character":29},"in_reply_to":"e0b5deb1_7f08f15f","updated":"2022-05-04 07:45:31.000000000","message":"Done","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"2fc6240a125e890c5a4b40da7331dbe21d3c7046","unresolved":true,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":".. code-block:: ini"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  [import_metadata_properties]"},{"line_number":68,"context_line":"  metadatas \u003d [\u0027hw_\u0027, \u0027trait:\u0027]"},{"line_number":69,"context_line":".."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"144f2f93_79d4ea33","line":67,"range":{"start_line":67,"start_character":3,"end_line":67,"end_character":29},"in_reply_to":"e77728bf_9b7ea8e3","updated":"2022-05-04 07:01:06.000000000","message":"glance_download_properties to make it coherent with inject_metadata_properties (plugin_name_properties)?","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"acfb3e04088063b3f68508b6d9d0c754ae7e7324","unresolved":true,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":".. code-block:: ini"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  [import_metadata_properties]"},{"line_number":68,"context_line":"  metadatas \u003d [\u0027hw_\u0027, \u0027trait:\u0027]"},{"line_number":69,"context_line":".."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* If metadata injection is configured on the target glance it will override"}],"source_content_type":"text/x-rst","patch_set":10,"id":"fa3d4f4d_85b2486a","line":68,"range":{"start_line":67,"start_character":0,"end_line":68,"end_character":31},"updated":"2022-05-04 06:02:29.000000000","message":"I think we have decided to hardcode these properties, or if we are going to provide config option for this then the default value of that config should be [\u0027hw_\u0027, \u0027trait:\u0027] and should be explicitly mentioned in the spec so that it will not be missed while implementation.","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b01ed4d6d064c5aad4338f6b7ab870935d11910e","unresolved":true,"context_lines":[{"line_number":65,"context_line":".. code-block:: ini"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  [import_metadata_properties]"},{"line_number":68,"context_line":"  metadatas \u003d [\u0027hw_\u0027, \u0027trait:\u0027]"},{"line_number":69,"context_line":".."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* If metadata injection is configured on the target glance it will override"}],"source_content_type":"text/x-rst","patch_set":10,"id":"a1d03b70_6c5c45d3","line":68,"range":{"start_line":68,"start_character":2,"end_line":68,"end_character":11},"updated":"2022-05-04 06:13:08.000000000","message":"additional_properties\n\nor required_properties ?","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"671bb19f8be66ee6dd9918324c272360b68c0b6d","unresolved":false,"context_lines":[{"line_number":65,"context_line":".. code-block:: ini"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  [import_metadata_properties]"},{"line_number":68,"context_line":"  metadatas \u003d [\u0027hw_\u0027, \u0027trait:\u0027]"},{"line_number":69,"context_line":".."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* If metadata injection is configured on the target glance it will override"}],"source_content_type":"text/x-rst","patch_set":10,"id":"da2b048c_6620218a","line":68,"range":{"start_line":68,"start_character":2,"end_line":68,"end_character":11},"in_reply_to":"15af6a73_f3cf0510","updated":"2022-05-04 07:45:31.000000000","message":"Done","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"cba795d16162746b356c7943dc48eec6b2afb008","unresolved":true,"context_lines":[{"line_number":65,"context_line":".. code-block:: ini"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  [import_metadata_properties]"},{"line_number":68,"context_line":"  metadatas \u003d [\u0027hw_\u0027, \u0027trait:\u0027]"},{"line_number":69,"context_line":".."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* If metadata injection is configured on the target glance it will override"}],"source_content_type":"text/x-rst","patch_set":10,"id":"15af6a73_f3cf0510","line":68,"range":{"start_line":68,"start_character":2,"end_line":68,"end_character":11},"in_reply_to":"2401de34_ae2a86dc","updated":"2022-05-04 07:29:26.000000000","message":"works for me!","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"2fc6240a125e890c5a4b40da7331dbe21d3c7046","unresolved":true,"context_lines":[{"line_number":65,"context_line":".. code-block:: ini"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  [import_metadata_properties]"},{"line_number":68,"context_line":"  metadatas \u003d [\u0027hw_\u0027, \u0027trait:\u0027]"},{"line_number":69,"context_line":".."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* If metadata injection is configured on the target glance it will override"}],"source_content_type":"text/x-rst","patch_set":10,"id":"2401de34_ae2a86dc","line":68,"range":{"start_line":68,"start_character":2,"end_line":68,"end_character":11},"in_reply_to":"a1d03b70_6c5c45d3","updated":"2022-05-04 07:01:06.000000000","message":"extra_properties?","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"bbbe3e9bdb43d957fe9f2165d4d8f0077b16e3f2","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":".. code-block:: ini"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  [import_metadata_properties]"},{"line_number":68,"context_line":"  metadatas \u003d [\u0027hw_\u0027, \u0027trait:\u0027]"},{"line_number":69,"context_line":".."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* If metadata injection is configured on the target glance it will override"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7a41f73d_34b82ab8","line":68,"range":{"start_line":67,"start_character":0,"end_line":68,"end_character":31},"in_reply_to":"fa3d4f4d_85b2486a","updated":"2022-05-04 06:53:16.000000000","message":"Done","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"acfb3e04088063b3f68508b6d9d0c754ae7e7324","unresolved":true,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Update glanceclient and openstackclient to support this new feature."},{"line_number":163,"context_line":"The clients should implement the glance-download feature in the create command"},{"line_number":164,"context_line":"(glance image-create or openstack image create). This command will take as"},{"line_number":165,"context_line":"option the source glance image id, the source glance region and optionally the"},{"line_number":166,"context_line":"source glance interface."},{"line_number":167,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"4a07f64b_3cc30648","line":164,"range":{"start_line":164,"start_character":8,"end_line":164,"end_character":20},"updated":"2022-05-04 06:02:29.000000000","message":"image-create-via-import","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"bbbe3e9bdb43d957fe9f2165d4d8f0077b16e3f2","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Update glanceclient and openstackclient to support this new feature."},{"line_number":163,"context_line":"The clients should implement the glance-download feature in the create command"},{"line_number":164,"context_line":"(glance image-create or openstack image create). This command will take as"},{"line_number":165,"context_line":"option the source glance image id, the source glance region and optionally the"},{"line_number":166,"context_line":"source glance interface."},{"line_number":167,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"eff699af_24dada74","line":164,"range":{"start_line":164,"start_character":8,"end_line":164,"end_character":20},"in_reply_to":"4a07f64b_3cc30648","updated":"2022-05-04 06:53:16.000000000","message":"Done","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"acfb3e04088063b3f68508b6d9d0c754ae7e7324","unresolved":true,"context_lines":[{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    * Patch the api image import to support the glance-download method"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    * Patch the v2 image api to support the glance-download method"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    * Add the glance-download internal plugin in setup"},{"line_number":216,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"761a3251_83997a12","line":213,"range":{"start_line":213,"start_character":6,"end_line":213,"end_character":66},"updated":"2022-05-04 06:02:29.000000000","message":"As we are using import workflow I think this is out of equation here.","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"bbbe3e9bdb43d957fe9f2165d4d8f0077b16e3f2","unresolved":false,"context_lines":[{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    * Patch the api image import to support the glance-download method"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    * Patch the v2 image api to support the glance-download method"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    * Add the glance-download internal plugin in setup"},{"line_number":216,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"7085372c_50a6c1b2","line":213,"range":{"start_line":213,"start_character":6,"end_line":213,"end_character":66},"in_reply_to":"761a3251_83997a12","updated":"2022-05-04 06:53:16.000000000","message":"Done","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"acfb3e04088063b3f68508b6d9d0c754ae7e7324","unresolved":true,"context_lines":[{"line_number":211,"context_line":"    * Patch the api image import to support the glance-download method"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    * Patch the v2 image api to support the glance-download method"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    * Add the glance-download internal plugin in setup"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    * write unit/functional tests"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ccd7d644_9153a4ca","line":214,"updated":"2022-05-04 06:02:29.000000000","message":"You should also mention the copying metadata and verification process as it will not be part of glance-download class/task.","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"bbbe3e9bdb43d957fe9f2165d4d8f0077b16e3f2","unresolved":false,"context_lines":[{"line_number":211,"context_line":"    * Patch the api image import to support the glance-download method"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    * Patch the v2 image api to support the glance-download method"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    * Add the glance-download internal plugin in setup"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    * write unit/functional tests"}],"source_content_type":"text/x-rst","patch_set":10,"id":"4575e85c_ff953312","line":214,"in_reply_to":"ccd7d644_9153a4ca","updated":"2022-05-04 06:53:16.000000000","message":"Done","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"acfb3e04088063b3f68508b6d9d0c754ae7e7324","unresolved":true,"context_lines":[{"line_number":249,"context_line":"References"},{"line_number":250,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":""},{"line_number":253,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"13a2f861_cdc04acf","line":252,"updated":"2022-05-04 06:02:29.000000000","message":"you can link your PoC as a reference here.","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"bbbe3e9bdb43d957fe9f2165d4d8f0077b16e3f2","unresolved":false,"context_lines":[{"line_number":249,"context_line":"References"},{"line_number":250,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":""},{"line_number":253,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"36bc1f2b_97d63ff5","line":252,"in_reply_to":"13a2f861_cdc04acf","updated":"2022-05-04 06:53:16.000000000","message":"Done","commit_id":"1b4d0880e632bc9495517a87eef84c94b9d05fcf"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2871576765ae1cdb0afbac204e56b88964674e2e","unresolved":true,"context_lines":[{"line_number":65,"context_line":".. code-block:: ini"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  [glance_download_properties]"},{"line_number":68,"context_line":"  extra_properties \u003d [\u0027hw_\u0027, \u0027trait:\u0027]"},{"line_number":69,"context_line":".."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* If metadata injection is configured on the target glance it will override"}],"source_content_type":"text/x-rst","patch_set":14,"id":"236f8b38_a0048171","line":68,"updated":"2022-05-04 13:38:47.000000000","message":"There are more os_* properties than this, but these are the critical ones that may be required for something to boot properly:\n\n os_distro\n os_secure_boot\n os_type\n\nso we should add those as well.","commit_id":"9444b5da42a404a9391c9609cf34978e4e41ed4d"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"ba1509db945dde9a124a991c6d5f083e5e34f785","unresolved":false,"context_lines":[{"line_number":65,"context_line":".. code-block:: ini"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  [glance_download_properties]"},{"line_number":68,"context_line":"  extra_properties \u003d [\u0027hw_\u0027, \u0027trait:\u0027]"},{"line_number":69,"context_line":".."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* If metadata injection is configured on the target glance it will override"}],"source_content_type":"text/x-rst","patch_set":14,"id":"6dcf9ca6_33189ba4","line":68,"in_reply_to":"236f8b38_a0048171","updated":"2022-05-04 14:07:19.000000000","message":"Done","commit_id":"9444b5da42a404a9391c9609cf34978e4e41ed4d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2948e7fe9b7f1cb6878764dfb3fdf88df7649484","unresolved":true,"context_lines":[{"line_number":49,"context_line":"* To authenticate on the remote glance we propose to use the context token"},{"line_number":50,"context_line":"  of the call, so it will require a federated Keystone environment between"},{"line_number":51,"context_line":"  the two Glance."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* The creation of the image must be handled by the end user as for the"},{"line_number":55,"context_line":"  web-download plugin meaning that it is the responsibility of the user to"}],"source_content_type":"text/x-rst","patch_set":16,"id":"b8237780_bf4e25fb","line":52,"updated":"2022-05-04 15:15:56.000000000","message":"extra line here","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"7301753540750adea359b0174d634a3e9165dc7a","unresolved":false,"context_lines":[{"line_number":49,"context_line":"* To authenticate on the remote glance we propose to use the context token"},{"line_number":50,"context_line":"  of the call, so it will require a federated Keystone environment between"},{"line_number":51,"context_line":"  the two Glance."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* The creation of the image must be handled by the end user as for the"},{"line_number":55,"context_line":"  web-download plugin meaning that it is the responsibility of the user to"}],"source_content_type":"text/x-rst","patch_set":16,"id":"5837e628_029fe383","line":52,"in_reply_to":"b8237780_bf4e25fb","updated":"2022-05-04 15:48:50.000000000","message":"Done","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2948e7fe9b7f1cb6878764dfb3fdf88df7649484","unresolved":true,"context_lines":[{"line_number":58,"context_line":"  If necessary, the plugin will update the container_format and disk_format"},{"line_number":59,"context_line":"  to match what is set on source glance."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* The plugin set the container_format and disk_format to be the same as the"},{"line_number":62,"context_line":"  source image. By default it also copy all the hw_*, trait:, os_distro,"},{"line_number":63,"context_line":"  os_secure_boot and os_type properties. If needed extra properties can be"},{"line_number":64,"context_line":"  added in a dedicated option:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"2ba6f815_6516f002","line":61,"range":{"start_line":61,"start_character":13,"end_line":61,"end_character":16},"updated":"2022-05-04 15:15:56.000000000","message":"\"will set\"","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"7301753540750adea359b0174d634a3e9165dc7a","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  If necessary, the plugin will update the container_format and disk_format"},{"line_number":59,"context_line":"  to match what is set on source glance."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* The plugin set the container_format and disk_format to be the same as the"},{"line_number":62,"context_line":"  source image. By default it also copy all the hw_*, trait:, os_distro,"},{"line_number":63,"context_line":"  os_secure_boot and os_type properties. If needed extra properties can be"},{"line_number":64,"context_line":"  added in a dedicated option:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"f5e992cb_128e2a0e","line":61,"range":{"start_line":61,"start_character":13,"end_line":61,"end_character":16},"in_reply_to":"2ba6f815_6516f002","updated":"2022-05-04 15:48:50.000000000","message":"Done","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2948e7fe9b7f1cb6878764dfb3fdf88df7649484","unresolved":true,"context_lines":[{"line_number":59,"context_line":"  to match what is set on source glance."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* The plugin set the container_format and disk_format to be the same as the"},{"line_number":62,"context_line":"  source image. By default it also copy all the hw_*, trait:, os_distro,"},{"line_number":63,"context_line":"  os_secure_boot and os_type properties. If needed extra properties can be"},{"line_number":64,"context_line":"  added in a dedicated option:"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"1ef3ccd4_7166dc22","line":62,"range":{"start_line":62,"start_character":27,"end_line":62,"end_character":29},"updated":"2022-05-04 15:15:56.000000000","message":"\"it will\"","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"7301753540750adea359b0174d634a3e9165dc7a","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  to match what is set on source glance."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* The plugin set the container_format and disk_format to be the same as the"},{"line_number":62,"context_line":"  source image. By default it also copy all the hw_*, trait:, os_distro,"},{"line_number":63,"context_line":"  os_secure_boot and os_type properties. If needed extra properties can be"},{"line_number":64,"context_line":"  added in a dedicated option:"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"537e1571_0567918e","line":62,"range":{"start_line":62,"start_character":27,"end_line":62,"end_character":29},"in_reply_to":"1ef3ccd4_7166dc22","updated":"2022-05-04 15:48:50.000000000","message":"Done","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2948e7fe9b7f1cb6878764dfb3fdf88df7649484","unresolved":true,"context_lines":[{"line_number":61,"context_line":"* The plugin set the container_format and disk_format to be the same as the"},{"line_number":62,"context_line":"  source image. By default it also copy all the hw_*, trait:, os_distro,"},{"line_number":63,"context_line":"  os_secure_boot and os_type properties. If needed extra properties can be"},{"line_number":64,"context_line":"  added in a dedicated option:"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":".. code-block:: ini"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"ab290f1d_78e947bd","line":64,"updated":"2022-05-04 15:15:56.000000000","message":"It\u0027s not clear to me based on this verbiage whether or not you mean that the extra_properties list includes hw_* by default (as you seem to indicate below) or if that list is just *extra* properties on top of the defaults you specify. I\u0027m not particularly concerned which which option you choose, but it would be good to be specific.","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"e56183a58e5461472bd1582cf2044fc4f827826a","unresolved":false,"context_lines":[{"line_number":61,"context_line":"* The plugin set the container_format and disk_format to be the same as the"},{"line_number":62,"context_line":"  source image. By default it also copy all the hw_*, trait:, os_distro,"},{"line_number":63,"context_line":"  os_secure_boot and os_type properties. If needed extra properties can be"},{"line_number":64,"context_line":"  added in a dedicated option:"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":".. code-block:: ini"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"6a28a2cf_2b7c0be8","line":64,"in_reply_to":"93a299ab_e6cf1111","updated":"2022-05-04 22:15:43.000000000","message":"Done","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"7301753540750adea359b0174d634a3e9165dc7a","unresolved":true,"context_lines":[{"line_number":61,"context_line":"* The plugin set the container_format and disk_format to be the same as the"},{"line_number":62,"context_line":"  source image. By default it also copy all the hw_*, trait:, os_distro,"},{"line_number":63,"context_line":"  os_secure_boot and os_type properties. If needed extra properties can be"},{"line_number":64,"context_line":"  added in a dedicated option:"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":".. code-block:: ini"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"b557b548_3e449d54","line":64,"in_reply_to":"ab290f1d_78e947bd","updated":"2022-05-04 15:48:50.000000000","message":"Are you ok with such rewording:\n\nThe plugin will set the container_format and disk_format to be the same as the\nsource image. It will also copy some extra properties defined in the\nextra_properties option of glance_download_properties section.\nThe default extra_properties values are \u0027hw\\_\u0027, \u0027trait:\u0027, \u0027os_distro\u0027,\n\u0027os_secure_boot\u0027 and \u0027os_type\u0027 which are needed to ensure an instance to boot\non the image. An operator will be able to remove or add other extra\nproperties by modifying this configuration variable.","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f2e09c567d7f51e66b16665005dccd8628cc58ed","unresolved":true,"context_lines":[{"line_number":61,"context_line":"* The plugin set the container_format and disk_format to be the same as the"},{"line_number":62,"context_line":"  source image. By default it also copy all the hw_*, trait:, os_distro,"},{"line_number":63,"context_line":"  os_secure_boot and os_type properties. If needed extra properties can be"},{"line_number":64,"context_line":"  added in a dedicated option:"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":".. code-block:: ini"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"93a299ab_e6cf1111","line":64,"in_reply_to":"b557b548_3e449d54","updated":"2022-05-04 15:53:07.000000000","message":"Yep, sounds okay to me and is much clearer what the behavior will be.","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2948e7fe9b7f1cb6878764dfb3fdf88df7649484","unresolved":true,"context_lines":[{"line_number":170,"context_line":"The clients should implement the glance-download feature in the create command"},{"line_number":171,"context_line":"(glance image-create-via-import or openstack image create). This command will"},{"line_number":172,"context_line":"take as option the source glance image id, the source glance region and"},{"line_number":173,"context_line":"optionally the source glance interface."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":16,"id":"874941a0_48395787","line":173,"updated":"2022-05-04 15:15:56.000000000","message":"I\u0027m not sure this is really an end-user impact. I think the first sentence means \"users will need to update their clients to be able to use this\" which is pretty obvious, but fair. The subsequent sentences sound more like developer impact or just \"work we\u0027ll be doing here.\"\n\nDoesn\u0027t much matter, but I think I\u0027d nuke all of it, maybe save for something like:\n\n Users will have a new import mechanism open to them, after updating\n their client\n\n...or something :)","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"7301753540750adea359b0174d634a3e9165dc7a","unresolved":false,"context_lines":[{"line_number":170,"context_line":"The clients should implement the glance-download feature in the create command"},{"line_number":171,"context_line":"(glance image-create-via-import or openstack image create). This command will"},{"line_number":172,"context_line":"take as option the source glance image id, the source glance region and"},{"line_number":173,"context_line":"optionally the source glance interface."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":16,"id":"621c1a00_eca11a2e","line":173,"in_reply_to":"874941a0_48395787","updated":"2022-05-04 15:48:50.000000000","message":"Done","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2948e7fe9b7f1cb6878764dfb3fdf88df7649484","unresolved":true,"context_lines":[{"line_number":223,"context_line":""},{"line_number":224,"context_line":"        * copying the metadatas defined in extra_properties option of the"},{"line_number":225,"context_line":"          glance_download_properties section. Default list must be"},{"line_number":226,"context_line":"          [\u0027hw\\_\u0027, \u0027trait:\u0027]"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"    The class have to be added to taskflow when using glance-download only."},{"line_number":229,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"fb6cf486_d3d84571","line":226,"updated":"2022-05-04 15:15:56.000000000","message":"By the way, from experience, you will want to grab the metadata from the remote side as a first thing, before you start the download. There are plenty of nova-cinder interactions that have suffered in the past from token expiration problems, when operations take a long time. If you have an hour-long token and start a very slow download of a large image from the remote, by the time it\u0027s done it\u0027s very possible that your token will have expired before you have a chance to grab the metadata. The easy solution to that is to grab the quick stuff first, then start the long download.\n\nI haven\u0027t looked at your code yet, so you might be doing this, but just thought I\u0027d mention it :)","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"7301753540750adea359b0174d634a3e9165dc7a","unresolved":false,"context_lines":[{"line_number":223,"context_line":""},{"line_number":224,"context_line":"        * copying the metadatas defined in extra_properties option of the"},{"line_number":225,"context_line":"          glance_download_properties section. Default list must be"},{"line_number":226,"context_line":"          [\u0027hw\\_\u0027, \u0027trait:\u0027]"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"    The class have to be added to taskflow when using glance-download only."},{"line_number":229,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"4da878d0_15569347","line":226,"in_reply_to":"fb6cf486_d3d84571","updated":"2022-05-04 15:48:50.000000000","message":"We implemented it exactly as you described.","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2948e7fe9b7f1cb6878764dfb3fdf88df7649484","unresolved":true,"context_lines":[{"line_number":251,"context_line":"* Unit and functional tests in Glance"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"* Tempest tests. Testing glance-download plugin with the g-api-r separate"},{"line_number":254,"context_line":"  endpoint looks good even if it share the same database to validate the"},{"line_number":255,"context_line":"  workflow."},{"line_number":256,"context_line":""},{"line_number":257,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"4e2360c7_85dee52c","line":254,"range":{"start_line":254,"start_character":33,"end_line":254,"end_character":38},"updated":"2022-05-04 15:15:56.000000000","message":"\"shares\"","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"7301753540750adea359b0174d634a3e9165dc7a","unresolved":false,"context_lines":[{"line_number":251,"context_line":"* Unit and functional tests in Glance"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"* Tempest tests. Testing glance-download plugin with the g-api-r separate"},{"line_number":254,"context_line":"  endpoint looks good even if it share the same database to validate the"},{"line_number":255,"context_line":"  workflow."},{"line_number":256,"context_line":""},{"line_number":257,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"0fa6a80d_f2b7ed0e","line":254,"range":{"start_line":254,"start_character":33,"end_line":254,"end_character":38},"in_reply_to":"4e2360c7_85dee52c","updated":"2022-05-04 15:48:50.000000000","message":"Done","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2948e7fe9b7f1cb6878764dfb3fdf88df7649484","unresolved":true,"context_lines":[{"line_number":258,"context_line":"Documentation Impact"},{"line_number":259,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"The documentation need to be updated to identify this new import method"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":16,"id":"b363ca2b_3107d418","line":261,"range":{"start_line":261,"start_character":18,"end_line":261,"end_character":22},"updated":"2022-05-04 15:15:56.000000000","message":"\"needs\"","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"7301753540750adea359b0174d634a3e9165dc7a","unresolved":false,"context_lines":[{"line_number":258,"context_line":"Documentation Impact"},{"line_number":259,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"The documentation need to be updated to identify this new import method"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":16,"id":"99424a12_087bec10","line":261,"range":{"start_line":261,"start_character":18,"end_line":261,"end_character":22},"in_reply_to":"b363ca2b_3107d418","updated":"2022-05-04 15:48:50.000000000","message":"Done","commit_id":"6b53d248e6c09c523a0c5c8e9f4f26a9b9669882"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b0200c4cf29190b139b15a7bca638492178f04e8","unresolved":true,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Glance download import"},{"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"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/glance-download-import"}],"source_content_type":"text/x-rst","patch_set":17,"id":"caad5d99_7fa88ed4","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":22},"updated":"2022-05-05 08:30:22.000000000","message":"nit: Add new import method to support downloading image from another glance/region","commit_id":"259352d9fc379a166b6588dbc8243bf39e893148"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"7f5469d49f9bd2ee2d415d7d3395f0316549d779","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Glance download import"},{"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"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/glance-download-import"}],"source_content_type":"text/x-rst","patch_set":17,"id":"a9b89319_b11cbf3b","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":22},"in_reply_to":"caad5d99_7fa88ed4","updated":"2022-05-05 08:53:59.000000000","message":"Done","commit_id":"259352d9fc379a166b6588dbc8243bf39e893148"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b0200c4cf29190b139b15a7bca638492178f04e8","unresolved":true,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    * glance and openstack client"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    * add support to glance-download method"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    * update documentation"},{"line_number":240,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"f2188d5e_2b2ee506","line":237,"range":{"start_line":237,"start_character":6,"end_line":237,"end_character":43},"updated":"2022-05-05 08:30:22.000000000","message":"Didn\u0027t get idea what exactly it is,or it is the part of above bullet point?","commit_id":"259352d9fc379a166b6588dbc8243bf39e893148"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"7f5469d49f9bd2ee2d415d7d3395f0316549d779","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    * glance and openstack client"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    * add support to glance-download method"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    * update documentation"},{"line_number":240,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"86edfa8c_fb932b0b","line":237,"range":{"start_line":237,"start_character":6,"end_line":237,"end_character":43},"in_reply_to":"f2188d5e_2b2ee506","updated":"2022-05-05 08:53:59.000000000","message":"yep exactly, fixed","commit_id":"259352d9fc379a166b6588dbc8243bf39e893148"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1b950e2fe4d604547437080ee39ae75d237a9602","unresolved":true,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\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":8,"context_line":"Glance download import: Add new import method to support downloading image from another glance/region"},{"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\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":"https://blueprints.launchpad.net/glance/+spec/glance-download-import"}],"source_content_type":"text/x-rst","patch_set":18,"id":"d9bbc9a8_2743c610","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":24},"updated":"2022-05-05 09:16:54.000000000","message":"nit: If new revision is required then you can remove this.","commit_id":"e3cf31ebcada1472ada0da1e3856a24984c4597a"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"dafb2e13ee69666dffb1d2a99f46397ffec57ab2","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\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":8,"context_line":"Glance download import: Add new import method to support downloading image from another glance/region"},{"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\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":"https://blueprints.launchpad.net/glance/+spec/glance-download-import"}],"source_content_type":"text/x-rst","patch_set":18,"id":"a5b8bb60_30003f89","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":24},"in_reply_to":"d9bbc9a8_2743c610","updated":"2022-05-05 09:33:25.000000000","message":"Ack","commit_id":"e3cf31ebcada1472ada0da1e3856a24984c4597a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4adfa02ddf16d4e4188c54f6b3b0d4f8773ce5ea","unresolved":true,"context_lines":[{"line_number":61,"context_line":"  source image. It will also copy some extra properties defined in the"},{"line_number":62,"context_line":"  extra_properties option of glance_download_properties section."},{"line_number":63,"context_line":"  The default extra_properties values are \u0027hw\\_\u0027, \u0027trait:\u0027, \u0027os_distro\u0027,"},{"line_number":64,"context_line":"  \u0027os_secure_boot\u0027 and \u0027os_type\u0027 which are needed to ensure an instance to boot"},{"line_number":65,"context_line":"  on the image. An operator will be able to remove or add other extra"},{"line_number":66,"context_line":"  properties by modifying this configuration variable."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"72d5489f_36db126b","line":64,"range":{"start_line":64,"start_character":72,"end_line":64,"end_character":74},"updated":"2022-05-05 13:30:26.000000000","message":"\"can\"","commit_id":"e3cf31ebcada1472ada0da1e3856a24984c4597a"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"2df08e2b09d6b8e9075abbf077bb534fcba9fa47","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  source image. It will also copy some extra properties defined in the"},{"line_number":62,"context_line":"  extra_properties option of glance_download_properties section."},{"line_number":63,"context_line":"  The default extra_properties values are \u0027hw\\_\u0027, \u0027trait:\u0027, \u0027os_distro\u0027,"},{"line_number":64,"context_line":"  \u0027os_secure_boot\u0027 and \u0027os_type\u0027 which are needed to ensure an instance to boot"},{"line_number":65,"context_line":"  on the image. An operator will be able to remove or add other extra"},{"line_number":66,"context_line":"  properties by modifying this configuration variable."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"4a2eb974_5bf77822","line":64,"range":{"start_line":64,"start_character":72,"end_line":64,"end_character":74},"in_reply_to":"72d5489f_36db126b","updated":"2022-05-05 13:57:52.000000000","message":"Ack","commit_id":"e3cf31ebcada1472ada0da1e3856a24984c4597a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"13c9226310db678f726f8380058cf9283c086612","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  source image. It will also copy some extra properties defined in the"},{"line_number":62,"context_line":"  extra_properties option of glance_download_properties section."},{"line_number":63,"context_line":"  The default extra_properties values are \u0027hw\\_\u0027, \u0027trait:\u0027, \u0027os_distro\u0027,"},{"line_number":64,"context_line":"  \u0027os_secure_boot\u0027 and \u0027os_type\u0027 which are needed to ensure an instance to boot"},{"line_number":65,"context_line":"  on the image. An operator will be able to remove or add other extra"},{"line_number":66,"context_line":"  properties by modifying this configuration variable."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"0a43e8fa_f33f00e7","line":64,"range":{"start_line":64,"start_character":72,"end_line":64,"end_character":74},"in_reply_to":"72d5489f_36db126b","updated":"2022-05-05 13:55:17.000000000","message":"Done","commit_id":"e3cf31ebcada1472ada0da1e3856a24984c4597a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4adfa02ddf16d4e4188c54f6b3b0d4f8773ce5ea","unresolved":true,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    * glance and openstack client"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"        * add support to glance-download method"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    * update documentation"},{"line_number":240,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"bf986e3d_d60f8a2e","line":237,"range":{"start_line":237,"start_character":22,"end_line":237,"end_character":24},"updated":"2022-05-05 13:30:26.000000000","message":"\"for\"","commit_id":"e3cf31ebcada1472ada0da1e3856a24984c4597a"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"2df08e2b09d6b8e9075abbf077bb534fcba9fa47","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    * glance and openstack client"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"        * add support to glance-download method"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    * update documentation"},{"line_number":240,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"2809aa8e_7ead55b5","line":237,"range":{"start_line":237,"start_character":22,"end_line":237,"end_character":24},"in_reply_to":"bf986e3d_d60f8a2e","updated":"2022-05-05 13:57:52.000000000","message":"Ack","commit_id":"e3cf31ebcada1472ada0da1e3856a24984c4597a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"13c9226310db678f726f8380058cf9283c086612","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    * glance and openstack client"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"        * add support to glance-download method"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    * update documentation"},{"line_number":240,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"3a0fc73a_ee7aeb9d","line":237,"range":{"start_line":237,"start_character":22,"end_line":237,"end_character":24},"in_reply_to":"bf986e3d_d60f8a2e","updated":"2022-05-05 13:55:17.000000000","message":"Done","commit_id":"e3cf31ebcada1472ada0da1e3856a24984c4597a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0322aed98f1f7feb9fda572b278dd1e75d247e2e","unresolved":true,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* Copy instance snapshot in another region to have a backup (user)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"* Build your base application image from a factory in one region, then"},{"line_number":28,"context_line":"  propagate it to multiple regions (user)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"We can\u0027t rely on the \"copy-image\" import method to copy an image from a"}],"source_content_type":"text/x-rst","patch_set":19,"id":"40d8d26c_f01bee5b","line":27,"range":{"start_line":27,"start_character":43,"end_line":27,"end_character":50},"updated":"2022-05-05 14:02:27.000000000","message":"nit dev and prod env may have been better but this works too.\n\ni generally dont consider factories to be software houses but perhaps times are chaneing in distributed manufacturing.","commit_id":"83e1f7388a5afb636eb4116a3fab389d8d041a78"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"f8a90bdc9b93377ec7248675a645ad7e0d54ea63","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* Copy instance snapshot in another region to have a backup (user)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"* Build your base application image from a factory in one region, then"},{"line_number":28,"context_line":"  propagate it to multiple regions (user)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"We can\u0027t rely on the \"copy-image\" import method to copy an image from a"}],"source_content_type":"text/x-rst","patch_set":19,"id":"f9fe91f2_653f0a8f","line":27,"range":{"start_line":27,"start_character":43,"end_line":27,"end_character":50},"in_reply_to":"40d8d26c_f01bee5b","updated":"2022-05-05 15:23:19.000000000","message":"Done","commit_id":"83e1f7388a5afb636eb4116a3fab389d8d041a78"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"8980a20583a67876016e48334b766f7b7b125ff9","unresolved":true,"context_lines":[{"line_number":57,"context_line":"  If necessary, the plugin will update the container_format and disk_format"},{"line_number":58,"context_line":"  to match what is set on source glance."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* The plugin will set the container_format and disk_format to be the same as the"},{"line_number":61,"context_line":"  source image. It will also copy some extra properties defined in the"},{"line_number":62,"context_line":"  extra_properties option of glance_download_properties section."},{"line_number":63,"context_line":"  The default extra_properties values are \u0027hw\\_\u0027, \u0027trait:\u0027, \u0027os_distro\u0027,"},{"line_number":64,"context_line":"  \u0027os_secure_boot\u0027 and \u0027os_type\u0027 which are needed to ensure an instance can boot"},{"line_number":65,"context_line":"  on the image. An operator will be able to remove or add other extra"}],"source_content_type":"text/x-rst","patch_set":19,"id":"6d4e5a6d_efd7c70e","line":62,"range":{"start_line":60,"start_character":0,"end_line":62,"end_character":64},"updated":"2022-05-09 14:18:29.000000000","message":"The plugin will or the added extra task in the taskflow will?\n\nRef *_format: Is the plan to read whatever values were stored in the source or detect it from the image file?","commit_id":"83e1f7388a5afb636eb4116a3fab389d8d041a78"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"c55a94f679fc509829e799f9f37081fa15592c7a","unresolved":false,"context_lines":[{"line_number":57,"context_line":"  If necessary, the plugin will update the container_format and disk_format"},{"line_number":58,"context_line":"  to match what is set on source glance."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* The plugin will set the container_format and disk_format to be the same as the"},{"line_number":61,"context_line":"  source image. It will also copy some extra properties defined in the"},{"line_number":62,"context_line":"  extra_properties option of glance_download_properties section."},{"line_number":63,"context_line":"  The default extra_properties values are \u0027hw\\_\u0027, \u0027trait:\u0027, \u0027os_distro\u0027,"},{"line_number":64,"context_line":"  \u0027os_secure_boot\u0027 and \u0027os_type\u0027 which are needed to ensure an instance can boot"},{"line_number":65,"context_line":"  on the image. An operator will be able to remove or add other extra"}],"source_content_type":"text/x-rst","patch_set":19,"id":"3591c5fb_5323eeab","line":62,"range":{"start_line":60,"start_character":0,"end_line":62,"end_character":64},"in_reply_to":"6d4e5a6d_efd7c70e","updated":"2022-05-13 07:50:28.000000000","message":"Done","commit_id":"83e1f7388a5afb636eb4116a3fab389d8d041a78"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"8980a20583a67876016e48334b766f7b7b125ff9","unresolved":true,"context_lines":[{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        * setting the correct container_format and disk_format"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        * copying the metadatas defined in extra_properties option of the"},{"line_number":224,"context_line":"          glance_download_properties section. Default list must be"},{"line_number":225,"context_line":"          [\u0027hw\\_\u0027, \u0027trait:\u0027, \u0027os_distro\u0027, \u0027os_secure_boot\u0027, \u0027os_type\u0027]"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"    The class have to be added to taskflow when using glance-download only."},{"line_number":228,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"e04039b5_cf28bfc6","line":225,"range":{"start_line":223,"start_character":0,"end_line":225,"end_character":70},"updated":"2022-05-09 14:18:29.000000000","message":"These looks like prefixes to me (well at least the hw_ is). The config option needs to be well documented for clarity how it works.\n\nThis is meant for note when implementing, I don\u0027t expect change on the spec unless we want to reformat this to something that would be obvious on it\u0027s own.","commit_id":"83e1f7388a5afb636eb4116a3fab389d8d041a78"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"c55a94f679fc509829e799f9f37081fa15592c7a","unresolved":false,"context_lines":[{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        * setting the correct container_format and disk_format"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        * copying the metadatas defined in extra_properties option of the"},{"line_number":224,"context_line":"          glance_download_properties section. Default list must be"},{"line_number":225,"context_line":"          [\u0027hw\\_\u0027, \u0027trait:\u0027, \u0027os_distro\u0027, \u0027os_secure_boot\u0027, \u0027os_type\u0027]"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"    The class have to be added to taskflow when using glance-download only."},{"line_number":228,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"62b6a039_1a34bb1b","line":225,"range":{"start_line":223,"start_character":0,"end_line":225,"end_character":70},"in_reply_to":"e04039b5_cf28bfc6","updated":"2022-05-13 07:50:28.000000000","message":"I think that calling the variable with _prefixes is meaningful. Thank for the suggestion.\nDone","commit_id":"83e1f7388a5afb636eb4116a3fab389d8d041a78"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"8980a20583a67876016e48334b766f7b7b125ff9","unresolved":true,"context_lines":[{"line_number":224,"context_line":"          glance_download_properties section. Default list must be"},{"line_number":225,"context_line":"          [\u0027hw\\_\u0027, \u0027trait:\u0027, \u0027os_distro\u0027, \u0027os_secure_boot\u0027, \u0027os_type\u0027]"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"    The class have to be added to taskflow when using glance-download only."},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    * Add the glance-download internal plugin in setup"},{"line_number":230,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"5436da31_8d24f4fb","line":227,"updated":"2022-05-09 14:18:29.000000000","message":"Why, any reason why it can\u0027t be no-op when there is no source in the taskflow properties?","commit_id":"83e1f7388a5afb636eb4116a3fab389d8d041a78"},{"author":{"_account_id":29037,"name":"Pierre-Samuel Le Stang","email":"pierre-samuel.le-stang@ovhcloud.com","username":"pslestang"},"change_message_id":"c55a94f679fc509829e799f9f37081fa15592c7a","unresolved":false,"context_lines":[{"line_number":224,"context_line":"          glance_download_properties section. Default list must be"},{"line_number":225,"context_line":"          [\u0027hw\\_\u0027, \u0027trait:\u0027, \u0027os_distro\u0027, \u0027os_secure_boot\u0027, \u0027os_type\u0027]"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"    The class have to be added to taskflow when using glance-download only."},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    * Add the glance-download internal plugin in setup"},{"line_number":230,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"bca0fefc_3a506b99","line":227,"in_reply_to":"5436da31_8d24f4fb","updated":"2022-05-13 07:50:28.000000000","message":"Done","commit_id":"83e1f7388a5afb636eb4116a3fab389d8d041a78"}]}
