)]}'
{"specs/train/support-glance-multiple-backend.rst":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c0c1e10185f73604f74a37aa1b51db5a464f7c64","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Recently in Rocky, Glance has added multiple backend as a EXPERIMENTAL"},{"line_number":20,"context_line":"feature. This way opearator can configure more than one of similar"},{"line_number":21,"context_line":"or different kind of backends and use one as a default backend. If"},{"line_number":22,"context_line":"backend is not specified at the time of uploading the image then the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_c3ea6c72","line":19,"updated":"2019-03-27 13:11:59.000000000","message":"1. probably worth mentioning that this feature is on schedule to be fully supported in Train\n2. cinder has supported multiple backends for a while.  I think we should refer to Glance \u0027stores\u0027 (as done in the /v2/info/stores call) to make it easier for users to keep the two concepts separate.  (The Images API Ref also speaks in terms of \"stores\".)","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"202d68bdac009df9519afcf70779745e5a5772c7","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Recently in Rocky, Glance has added multiple backend as a EXPERIMENTAL"},{"line_number":20,"context_line":"feature. This way opearator can configure more than one of similar"},{"line_number":21,"context_line":"or different kind of backends and use one as a default backend. If"},{"line_number":22,"context_line":"backend is not specified at the time of uploading the image then the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_3f233358","line":19,"in_reply_to":"5fc1f717_c3ea6c72","updated":"2019-03-28 07:44:21.000000000","message":"Done","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c0c1e10185f73604f74a37aa1b51db5a464f7c64","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Recently in Rocky, Glance has added multiple backend as a EXPERIMENTAL"},{"line_number":20,"context_line":"feature. This way opearator can configure more than one of similar"},{"line_number":21,"context_line":"or different kind of backends and use one as a default backend. If"},{"line_number":22,"context_line":"backend is not specified at the time of uploading the image then the"},{"line_number":23,"context_line":"image will be stored in default backend."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_a325e05d","line":20,"range":{"start_line":20,"start_character":18,"end_line":20,"end_character":27},"updated":"2019-03-27 13:11:59.000000000","message":"operator","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"202d68bdac009df9519afcf70779745e5a5772c7","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Recently in Rocky, Glance has added multiple backend as a EXPERIMENTAL"},{"line_number":20,"context_line":"feature. This way opearator can configure more than one of similar"},{"line_number":21,"context_line":"or different kind of backends and use one as a default backend. If"},{"line_number":22,"context_line":"backend is not specified at the time of uploading the image then the"},{"line_number":23,"context_line":"image will be stored in default backend."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_1f1437e8","line":20,"range":{"start_line":20,"start_character":18,"end_line":20,"end_character":27},"in_reply_to":"5fc1f717_a325e05d","updated":"2019-03-28 07:44:21.000000000","message":"Done","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c0c1e10185f73604f74a37aa1b51db5a464f7c64","unresolved":false,"context_lines":[{"line_number":23,"context_line":"image will be stored in default backend."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"In case of cinder upload-volume-to-image if multiple backend is"},{"line_number":26,"context_line":"configured then the volume image will alwasy be uploaded to default backend."},{"line_number":27,"context_line":"This will not cause any issue unless operator want\u0027s to upload volume images"},{"line_number":28,"context_line":"to dedicated backends."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_e3d44822","line":26,"range":{"start_line":26,"start_character":38,"end_line":26,"end_character":44},"updated":"2019-03-27 13:11:59.000000000","message":"always","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"202d68bdac009df9519afcf70779745e5a5772c7","unresolved":false,"context_lines":[{"line_number":23,"context_line":"image will be stored in default backend."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"In case of cinder upload-volume-to-image if multiple backend is"},{"line_number":26,"context_line":"configured then the volume image will alwasy be uploaded to default backend."},{"line_number":27,"context_line":"This will not cause any issue unless operator want\u0027s to upload volume images"},{"line_number":28,"context_line":"to dedicated backends."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_bfd40321","line":26,"range":{"start_line":26,"start_character":38,"end_line":26,"end_character":44},"in_reply_to":"5fc1f717_e3d44822","updated":"2019-03-28 07:44:21.000000000","message":"Done","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c0c1e10185f73604f74a37aa1b51db5a464f7c64","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"In case of cinder upload-volume-to-image if multiple backend is"},{"line_number":26,"context_line":"configured then the volume image will alwasy be uploaded to default backend."},{"line_number":27,"context_line":"This will not cause any issue unless operator want\u0027s to upload volume images"},{"line_number":28,"context_line":"to dedicated backends."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_a3dac047","line":27,"range":{"start_line":27,"start_character":46,"end_line":27,"end_character":52},"updated":"2019-03-27 13:11:59.000000000","message":"wants","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"202d68bdac009df9519afcf70779745e5a5772c7","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"In case of cinder upload-volume-to-image if multiple backend is"},{"line_number":26,"context_line":"configured then the volume image will alwasy be uploaded to default backend."},{"line_number":27,"context_line":"This will not cause any issue unless operator want\u0027s to upload volume images"},{"line_number":28,"context_line":"to dedicated backends."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_dfd78f22","line":27,"range":{"start_line":27,"start_character":46,"end_line":27,"end_character":52},"in_reply_to":"5fc1f717_a3dac047","updated":"2019-03-28 07:44:21.000000000","message":"Done","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c0c1e10185f73604f74a37aa1b51db5a464f7c64","unresolved":false,"context_lines":[{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"1. Operator wants to upload all the volume images to one specific/dedicated"},{"line_number":34,"context_line":"backend."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Proposed change"},{"line_number":37,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_c3ab4c85","line":34,"updated":"2019-03-27 13:11:59.000000000","message":"This use case seems aimed at the Alternative (operator picks via config option) rather than your Proposed change (end user picks backend).","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"202d68bdac009df9519afcf70779745e5a5772c7","unresolved":false,"context_lines":[{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"1. Operator wants to upload all the volume images to one specific/dedicated"},{"line_number":34,"context_line":"backend."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Proposed change"},{"line_number":37,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_5fe39f05","line":34,"in_reply_to":"5fc1f717_c3ab4c85","updated":"2019-03-28 07:44:21.000000000","message":"Done","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c0c1e10185f73604f74a37aa1b51db5a464f7c64","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Add a new microversion to volume-upload-to-image API to support configuring"},{"line_number":40,"context_line":"to upload the volume image to specific backend. I am proposing to"},{"line_number":41,"context_line":"add new --backend option to volume-upload-to-image API where user can specify"},{"line_number":42,"context_line":"to which backend volume image will be uploaded. If --backend option is not"},{"line_number":43,"context_line":"specified then the image will be uploaded to default backend."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_83aea42b","line":41,"range":{"start_line":41,"start_character":8,"end_line":41,"end_character":17},"updated":"2019-03-27 13:11:59.000000000","message":"This is more of a cinderclient change, I think.  (Also, should probably rename the option to --store.)","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"202d68bdac009df9519afcf70779745e5a5772c7","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Add a new microversion to volume-upload-to-image API to support configuring"},{"line_number":40,"context_line":"to upload the volume image to specific backend. I am proposing to"},{"line_number":41,"context_line":"add new --backend option to volume-upload-to-image API where user can specify"},{"line_number":42,"context_line":"to which backend volume image will be uploaded. If --backend option is not"},{"line_number":43,"context_line":"specified then the image will be uploaded to default backend."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_1fe997e1","line":41,"range":{"start_line":41,"start_character":8,"end_line":41,"end_character":17},"in_reply_to":"5fc1f717_83aea42b","updated":"2019-03-28 07:44:21.000000000","message":"Done","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c0c1e10185f73604f74a37aa1b51db5a464f7c64","unresolved":false,"context_lines":[{"line_number":41,"context_line":"add new --backend option to volume-upload-to-image API where user can specify"},{"line_number":42,"context_line":"to which backend volume image will be uploaded. If --backend option is not"},{"line_number":43,"context_line":"specified then the image will be uploaded to default backend."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Vendor-specific changes"},{"line_number":46,"context_line":"-----------------------"},{"line_number":47,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_63d29802","line":44,"updated":"2019-03-27 13:11:59.000000000","message":"Question 1: how do we handle the discovery problem?  There\u0027s the Glance /v2/info/stores call, but that\u0027s a different API.","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"202d68bdac009df9519afcf70779745e5a5772c7","unresolved":false,"context_lines":[{"line_number":41,"context_line":"add new --backend option to volume-upload-to-image API where user can specify"},{"line_number":42,"context_line":"to which backend volume image will be uploaded. If --backend option is not"},{"line_number":43,"context_line":"specified then the image will be uploaded to default backend."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Vendor-specific changes"},{"line_number":46,"context_line":"-----------------------"},{"line_number":47,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_df99cf1e","line":44,"in_reply_to":"5fc1f717_4cc22955","updated":"2019-03-28 07:44:21.000000000","message":"Done","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"202d68bdac009df9519afcf70779745e5a5772c7","unresolved":false,"context_lines":[{"line_number":41,"context_line":"add new --backend option to volume-upload-to-image API where user can specify"},{"line_number":42,"context_line":"to which backend volume image will be uploaded. If --backend option is not"},{"line_number":43,"context_line":"specified then the image will be uploaded to default backend."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Vendor-specific changes"},{"line_number":46,"context_line":"-----------------------"},{"line_number":47,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_bf9643ef","line":44,"in_reply_to":"5fc1f717_63d29802","updated":"2019-03-28 07:44:21.000000000","message":"Brian,\nIf user specified wrong store which is not configured in glance then glance will throw NotFound error during discovery call and image will be deleted at cinder side during cleanup operation.","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"c502abd8f2bc0e6a3d25f0689e8ff397b45ea3dd","unresolved":false,"context_lines":[{"line_number":41,"context_line":"add new --backend option to volume-upload-to-image API where user can specify"},{"line_number":42,"context_line":"to which backend volume image will be uploaded. If --backend option is not"},{"line_number":43,"context_line":"specified then the image will be uploaded to default backend."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Vendor-specific changes"},{"line_number":46,"context_line":"-----------------------"},{"line_number":47,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_4cc22955","line":44,"in_reply_to":"5fc1f717_63d29802","updated":"2019-03-27 14:43:14.000000000","message":"Please add an example of what this would look like.  What\u0027s actually passed in?  A name of a Glance backend?\n\nWhat happens when the user chooses a Glance backend that doesn\u0027t exist?","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c0c1e10185f73604f74a37aa1b51db5a464f7c64","unresolved":false,"context_lines":[{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Add a new configuration option \u0027glance_backend\u0027 under \u0027glance\u0027 section to"},{"line_number":53,"context_line":"upload all the volume images to specified/dedicated backend. If this option"},{"line_number":54,"context_line":"is not present then all the volume images will be uploaded to default"},{"line_number":55,"context_line":"backend. This solution will be efficient if operator doesn\u0027t want to expose"},{"line_number":56,"context_line":"the use of uploading volume image to specific backend to end user."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Data model impact"},{"line_number":59,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_c36d8c03","line":56,"range":{"start_line":52,"start_character":0,"end_line":56,"end_character":66},"updated":"2019-03-27 13:11:59.000000000","message":"s/backend/store/g","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"202d68bdac009df9519afcf70779745e5a5772c7","unresolved":false,"context_lines":[{"line_number":49,"context_line":"Alternatives"},{"line_number":50,"context_line":"------------"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Add a new configuration option \u0027glance_backend\u0027 under \u0027glance\u0027 section to"},{"line_number":53,"context_line":"upload all the volume images to specified/dedicated backend. If this option"},{"line_number":54,"context_line":"is not present then all the volume images will be uploaded to default"},{"line_number":55,"context_line":"backend. This solution will be efficient if operator doesn\u0027t want to expose"},{"line_number":56,"context_line":"the use of uploading volume image to specific backend to end user."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Data model impact"},{"line_number":59,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_423d04c2","line":56,"range":{"start_line":52,"start_character":0,"end_line":56,"end_character":66},"in_reply_to":"5fc1f717_c36d8c03","updated":"2019-03-28 07:44:21.000000000","message":"Done","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c0c1e10185f73604f74a37aa1b51db5a464f7c64","unresolved":false,"context_lines":[{"line_number":69,"context_line":"* Request method:"},{"line_number":70,"context_line":"    * POST"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"The config of backend to add undeer metadata to request payload ::"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    {"},{"line_number":75,"context_line":"        \"os-volume_upload_image\":{"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_e38be81b","line":72,"range":{"start_line":72,"start_character":29,"end_line":72,"end_character":35},"updated":"2019-03-27 13:11:59.000000000","message":"under","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"202d68bdac009df9519afcf70779745e5a5772c7","unresolved":false,"context_lines":[{"line_number":69,"context_line":"* Request method:"},{"line_number":70,"context_line":"    * POST"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"The config of backend to add undeer metadata to request payload ::"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    {"},{"line_number":75,"context_line":"        \"os-volume_upload_image\":{"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_5f215fb3","line":72,"range":{"start_line":72,"start_character":29,"end_line":72,"end_character":35},"in_reply_to":"5fc1f717_e38be81b","updated":"2019-03-28 07:44:21.000000000","message":"Done","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c0c1e10185f73604f74a37aa1b51db5a464f7c64","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            \"container_format\": \"bare\","},{"line_number":80,"context_line":"            \"visibility\": \"private\","},{"line_number":81,"context_line":"            \"protected\": false,"},{"line_number":82,"context_line":"            \"metadata\": {\"backend\": \"backend\"}        }"},{"line_number":83,"context_line":"    }"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_c39fccff","line":82,"range":{"start_line":82,"start_character":25,"end_line":82,"end_character":45},"updated":"2019-03-27 13:11:59.000000000","message":"I suggest making this \"store\": \"glance-store-name\"","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"202d68bdac009df9519afcf70779745e5a5772c7","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            \"container_format\": \"bare\","},{"line_number":80,"context_line":"            \"visibility\": \"private\","},{"line_number":81,"context_line":"            \"protected\": false,"},{"line_number":82,"context_line":"            \"metadata\": {\"backend\": \"backend\"}        }"},{"line_number":83,"context_line":"    }"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_1f2757c9","line":82,"range":{"start_line":82,"start_character":25,"end_line":82,"end_character":45},"in_reply_to":"5fc1f717_c39fccff","updated":"2019-03-28 07:44:21.000000000","message":"Done","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c0c1e10185f73604f74a37aa1b51db5a464f7c64","unresolved":false,"context_lines":[{"line_number":130,"context_line":"Work Items"},{"line_number":131,"context_line":"----------"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"* Add ``backned`` support in upload-to-image API"},{"line_number":134,"context_line":"* Add ``backend`` support for \u0027cinder upload-to-image\u0027 in cinderclient"},{"line_number":135,"context_line":"* Add related tests"},{"line_number":136,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_637ff814","line":133,"range":{"start_line":133,"start_character":8,"end_line":133,"end_character":15},"updated":"2019-03-27 13:11:59.000000000","message":"backend (or, better, \"store\")","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"202d68bdac009df9519afcf70779745e5a5772c7","unresolved":false,"context_lines":[{"line_number":130,"context_line":"Work Items"},{"line_number":131,"context_line":"----------"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"* Add ``backned`` support in upload-to-image API"},{"line_number":134,"context_line":"* Add ``backend`` support for \u0027cinder upload-to-image\u0027 in cinderclient"},{"line_number":135,"context_line":"* Add related tests"},{"line_number":136,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_c229f489","line":133,"range":{"start_line":133,"start_character":8,"end_line":133,"end_character":15},"in_reply_to":"5fc1f717_637ff814","updated":"2019-03-28 07:44:21.000000000","message":"Done","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"c502abd8f2bc0e6a3d25f0689e8ff397b45ea3dd","unresolved":false,"context_lines":[{"line_number":158,"context_line":"References"},{"line_number":159,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"None"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_ccb619fa","line":161,"updated":"2019-03-27 14:43:14.000000000","message":"Add a reference to the Glance multi-backend work.","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"202d68bdac009df9519afcf70779745e5a5772c7","unresolved":false,"context_lines":[{"line_number":158,"context_line":"References"},{"line_number":159,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"None"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_821f6c59","line":161,"in_reply_to":"5fc1f717_ccb619fa","updated":"2019-03-28 07:44:21.000000000","message":"Done","commit_id":"a73bfbc436764e41c040f8cb23a8a2f3f1d1c5fc"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"6939e5a0990f66a0775d0ee92161375b428db8cd","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"1. Operator wants user to choose the glance store to which image will be"},{"line_number":35,"context_line":"uploaded."},{"line_number":36,"context_line":"2. Operator wants to upload all the volume images to one specific/dedicated"},{"line_number":37,"context_line":"store."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_a2b943cc","line":37,"range":{"start_line":36,"start_character":0,"end_line":37,"end_character":6},"updated":"2019-03-28 13:11:51.000000000","message":"I don\u0027t think your Proposed Change addresses this use case.  Are you proposing a Cinder config option so that the operator can decide whether to allow a Cinder end user to specify stores?","commit_id":"0653f2b0d4aa45cfad68f2df1e94f49785370d6e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"42dd1e8bcc657238515d4858cb80692206fa70bf","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"1. Operator wants user to choose the glance store to which image will be"},{"line_number":35,"context_line":"uploaded."},{"line_number":36,"context_line":"2. Operator wants to upload all the volume images to one specific/dedicated"},{"line_number":37,"context_line":"store."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_855a11ef","line":37,"range":{"start_line":36,"start_character":0,"end_line":37,"end_character":6},"in_reply_to":"5fc1f717_a2b943cc","updated":"2019-03-28 13:39:15.000000000","message":"I was under assumption that I can mention use cases for alternate solution in this section as well.","commit_id":"0653f2b0d4aa45cfad68f2df1e94f49785370d6e"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"6939e5a0990f66a0775d0ee92161375b428db8cd","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    -H \"Accept: application/json\" -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\""},{"line_number":62,"context_line":"    -d \u0027{\"os-volume_upload_image\": {\"force\": false, \"image_name\": \"test\","},{"line_number":63,"context_line":"    \"container_format\": \"bare\", \"disk_format\": \"raw\", \"store\": \"file_2\"}}\u0027"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Vendor-specific changes"},{"line_number":66,"context_line":"-----------------------"},{"line_number":67,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_62da7b4b","line":64,"updated":"2019-03-28 13:11:51.000000000","message":"OK, but my point here was (1) that we need to say how the end user is supposed to discover the names of configured stores, and (2) it would be good to be able to fail fast here, i.e., not have Cinder do a bunch of stuff on its side to prepare the image for a call to Glance that we can know in advance is going to fail.\n\nTo answer Eric\u0027s question, I think you need to include the discovery call and point out that the store name is the \"id\" field (so, you should also replace any references to \"store name\" to \"store id\" in this spec).\n\nthe call:\n\n  GET $IMAGE_API_URL/v2/info/stores\n\nthe response:\n\n  {\n    \"stores\": [\n        {\n            \"id\":\"reliable\",\n            \"description\": \"Reliable filesystem store\"\n        },\n        {\n            \"id\":\"fast\",\n            \"description\": \"Fast access to rbd store\",\n            \"default\": true\n        },\n        {\n            \"id\":\"cheap\",\n            \"description\": \"Less expensive rbd store\"\n        }\n    ]\n  }","commit_id":"0653f2b0d4aa45cfad68f2df1e94f49785370d6e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"42dd1e8bcc657238515d4858cb80692206fa70bf","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    -H \"Accept: application/json\" -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\""},{"line_number":62,"context_line":"    -d \u0027{\"os-volume_upload_image\": {\"force\": false, \"image_name\": \"test\","},{"line_number":63,"context_line":"    \"container_format\": \"bare\", \"disk_format\": \"raw\", \"store\": \"file_2\"}}\u0027"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Vendor-specific changes"},{"line_number":66,"context_line":"-----------------------"},{"line_number":67,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_8541b10c","line":64,"in_reply_to":"5fc1f717_62da7b4b","updated":"2019-03-28 13:39:15.000000000","message":"Done","commit_id":"0653f2b0d4aa45cfad68f2df1e94f49785370d6e"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"12d20df1953980c210d04fa993e87c11684faf88","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"1. Operator wants user to choose the glance store to which image will be"},{"line_number":35,"context_line":"uploaded."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Proposed change"},{"line_number":38,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_53edbc8c","line":35,"updated":"2019-03-29 14:10:30.000000000","message":"This is only sort of a use case -- the real use case is something more along the lines of \"the user would like to choose different glance backends based on different qualities related to performance/cost/location/security/favorite-color/etc\", I think?","commit_id":"0050dd150aeeff5c2bc00cae430c58f66910197d"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"12d20df1953980c210d04fa993e87c11684faf88","unresolved":false,"context_lines":[{"line_number":103,"context_line":"glance store. This solution will be efficient if operator doesn\u0027t want to"},{"line_number":104,"context_line":"expose the use of uploading volume image to specific store to end user. This"},{"line_number":105,"context_line":"will be a very simple change and doesn\u0027t require any API change or change in"},{"line_number":106,"context_line":"python-cinderclient."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Data model impact"},{"line_number":109,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_b38c20d8","line":106,"updated":"2019-03-29 14:10:30.000000000","message":"There are at least two other alternatives that I think we should think through:\n\n- Is it useful to actually choose a different Glance service (i.e. specify an alternate glance_catalog_info instead of just a store name)?  This would let you choose different Glance services and not just backends.\n\n- Go with the standard Cinder practice, and encode the choice of Glance destination into the volume type, instead of letting users pass it in.  Whether this is a good idea or not really depends on what the use cases are.","commit_id":"0050dd150aeeff5c2bc00cae430c58f66910197d"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1c6b9e9a5b4ca8417fb951a4ce24c6e614cc706e","unresolved":false,"context_lines":[{"line_number":144,"context_line":"Alternatives"},{"line_number":145,"context_line":"------------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"* Make the \u0027image_service_store\u0027 a property of the volume_type instead of"},{"line_number":148,"context_line":"  an extra_specs field.  While this would respect the intention of extra_specs"},{"line_number":149,"context_line":"  describing properties of the Cinder backend, it has the usability issues"},{"line_number":150,"context_line":"  mentioned in the `Proposed change`_ section and would require a new API"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dfbec78f_f2af55e0","line":147,"range":{"start_line":147,"start_character":12,"end_line":147,"end_character":31},"updated":"2019-05-14 04:16:16.000000000","message":"should it be \u0027image_service_store_id\u0027?","commit_id":"d34aa7d5446963fd41ca59dc17592f7106f7b302"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"dbcf514c2259fe68e844e905d126e4b04c8f41c3","unresolved":false,"context_lines":[{"line_number":144,"context_line":"Alternatives"},{"line_number":145,"context_line":"------------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"* Make the \u0027image_service_store\u0027 a property of the volume_type instead of"},{"line_number":148,"context_line":"  an extra_specs field.  While this would respect the intention of extra_specs"},{"line_number":149,"context_line":"  describing properties of the Cinder backend, it has the usability issues"},{"line_number":150,"context_line":"  mentioned in the `Proposed change`_ section and would require a new API"}],"source_content_type":"text/x-rst","patch_set":6,"id":"dfbec78f_17e1b22a","line":147,"range":{"start_line":147,"start_character":12,"end_line":147,"end_character":31},"in_reply_to":"dfbec78f_f2af55e0","updated":"2019-05-14 14:00:07.000000000","message":"good eye, thanks!","commit_id":"d34aa7d5446963fd41ca59dc17592f7106f7b302"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"5caeb387ca5e8895f3632bd8737929fb4de43194","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"In Rocky and Stein, Glance has added the ability to configure multiple stores"},{"line_number":20,"context_line":"as a an EXPERIMENTAL feature [1]_. This feature is on schedule to be fully"},{"line_number":21,"context_line":"supported in the Train cycle. This way an operator can configure more than one"},{"line_number":22,"context_line":"of similar or different kind of stores and use one as a default store. If a"},{"line_number":23,"context_line":"store is not specified at the time of uploading an image then the image will be"}],"source_content_type":"text/x-rst","patch_set":9,"id":"bfb3d3c7_ae44c3b8","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":7},"updated":"2019-05-16 21:02:08.000000000","message":"nit: as an","commit_id":"05ba8e54b70465b8362bfb4a730f84ecb5e65a6a"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"2e0fd14a0f0774239920932deb091b8067ca3692","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"In Rocky and Stein, Glance has added the ability to configure multiple stores"},{"line_number":20,"context_line":"as a an EXPERIMENTAL feature [1]_. This feature is on schedule to be fully"},{"line_number":21,"context_line":"supported in the Train cycle. This way an operator can configure more than one"},{"line_number":22,"context_line":"of similar or different kind of stores and use one as a default store. If a"},{"line_number":23,"context_line":"store is not specified at the time of uploading an image then the image will be"}],"source_content_type":"text/x-rst","patch_set":9,"id":"bfb3d3c7_3c824951","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":7},"in_reply_to":"bfb3d3c7_ae44c3b8","updated":"2019-05-16 22:03:01.000000000","message":"Done","commit_id":"05ba8e54b70465b8362bfb4a730f84ecb5e65a6a"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"5caeb387ca5e8895f3632bd8737929fb4de43194","unresolved":false,"context_lines":[{"line_number":74,"context_line":"before validating the other fields with the appropriate Cinder backend driver."},{"line_number":75,"context_line":"Additionally, the code could validate the \u0027image_service:store_id\u0027 setting by"},{"line_number":76,"context_line":"making the Image Service API stores-info call and verfiying that value occurs"},{"line_number":77,"context_line":"as a stores \u0027id\u0027 in the response."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"An objection to this proposal is that the Glance store should be associated"},{"line_number":80,"context_line":"directly with the image-type, and not hidden in with the extra-specs."}],"source_content_type":"text/x-rst","patch_set":9,"id":"bfb3d3c7_ce6b371d","line":77,"range":{"start_line":77,"start_character":5,"end_line":77,"end_character":11},"updated":"2019-05-16 21:02:08.000000000","message":"Very trivial nit: store\u0027s","commit_id":"05ba8e54b70465b8362bfb4a730f84ecb5e65a6a"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"2e0fd14a0f0774239920932deb091b8067ca3692","unresolved":false,"context_lines":[{"line_number":74,"context_line":"before validating the other fields with the appropriate Cinder backend driver."},{"line_number":75,"context_line":"Additionally, the code could validate the \u0027image_service:store_id\u0027 setting by"},{"line_number":76,"context_line":"making the Image Service API stores-info call and verfiying that value occurs"},{"line_number":77,"context_line":"as a stores \u0027id\u0027 in the response."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"An objection to this proposal is that the Glance store should be associated"},{"line_number":80,"context_line":"directly with the image-type, and not hidden in with the extra-specs."}],"source_content_type":"text/x-rst","patch_set":9,"id":"bfb3d3c7_fc9351a2","line":77,"range":{"start_line":77,"start_character":5,"end_line":77,"end_character":11},"in_reply_to":"bfb3d3c7_ce6b371d","updated":"2019-05-16 22:03:01.000000000","message":"I was being lazy here, will replace with an actual JSONPath expression.","commit_id":"05ba8e54b70465b8362bfb4a730f84ecb5e65a6a"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"5caeb387ca5e8895f3632bd8737929fb4de43194","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    }"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Which, as you\u0027d expect, only brings the Glance store ID to your attention if"},{"line_number":137,"context_line":"something different than the usual case is being specified."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Additionally, this proposal would require no changes to the Cinder data"},{"line_number":140,"context_line":"model or the REST API, though these considerations are secondary to the"}],"source_content_type":"text/x-rst","patch_set":9,"id":"bfb3d3c7_8e753ffd","line":137,"updated":"2019-05-16 21:02:08.000000000","message":"+1!","commit_id":"05ba8e54b70465b8362bfb4a730f84ecb5e65a6a"}]}
