)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"4275b2b942f1255b88084090f1870e8b9b5f16f0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"147941c6_8a8daa39","updated":"2023-04-13 05:25:42.000000000","message":"Looks good to me!","commit_id":"f6dc8cd0bbb38ddc08c5fb6f68856de5da60c0a1"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"131d3385e3f86d66e2eb8a29e58e40d00de09093","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e3f4ff40_11ab054a","updated":"2023-04-13 13:51:10.000000000","message":"Thanks Rajat!","commit_id":"f6dc8cd0bbb38ddc08c5fb6f68856de5da60c0a1"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3796c99be210fa8ebf05a8197b57203198135d6b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b4ac9b98_148b8c74","updated":"2023-05-02 06:46:31.000000000","message":"Also there will be performance concern which we need to document.\nIf nova,cinder or image owner provides do_secure_hash true then image activation will be delayed since hash / checksum calculation will take longer time for heavy sized images.","commit_id":"8b274454c4a09a238c772feb572ca48cc95eb060"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"b590f433318f980f976687bad9176f57ba431f89","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c4cf4cd9_695299ec","updated":"2023-05-02 05:55:15.000000000","message":"Looks good to me !","commit_id":"8b274454c4a09a238c772feb572ca48cc95eb060"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"10e3bdf24696f96e390e40eb332338098e971a39","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3f916b69_f1e90554","updated":"2023-05-02 12:05:09.000000000","message":"Thanks Abhishek for the review. Replies inline.","commit_id":"8b274454c4a09a238c772feb572ca48cc95eb060"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"ad321db6681409748d0e71053c9b748c7af5adaa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7a146dd5_700a9bb1","in_reply_to":"b4ac9b98_148b8c74","updated":"2023-05-02 12:10:21.000000000","message":"Done","commit_id":"8b274454c4a09a238c772feb572ca48cc95eb060"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"beaad67b8827047235b549fbd3a010a3cc970921","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"052391bd_0a03ae43","updated":"2023-05-02 14:46:37.000000000","message":"Sorry because earlier I missed the part that support for add location will not be added in glance client.","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"23f2fce5df3d540e171fc4b5e9b74d4776dc8650","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f9940481_645eef17","updated":"2023-05-03 12:30:50.000000000","message":"Thanks Abhishek. Few questions inline.","commit_id":"288512442de8ddd2cbbc6a88361a09ed85f28000"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"ca36100a4fb1f6890c7b4fc5332c3429b8332cc2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c37ab37d_4ed2bdc6","updated":"2023-05-03 14:05:09.000000000","message":"Thank you for your patience 😄","commit_id":"ccdaec7f0b5ea8c349dae0c9f69f7681c681945b"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8b92de48a3155d2bdf4d912ad9c17be433c9def0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"76b79432_6b47627c","updated":"2023-05-04 05:38:10.000000000","message":"I still don\u0027t see clear indication of /locations post call will be added for http store to glance-client and osc in workitems.","commit_id":"6187c1500a457b1feb2ecfd9f919ebff1dc5f40a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"bb9efeff86af0c583decda52697ec632269edaef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"fb5b61eb_e83b7e94","updated":"2023-05-08 06:44:59.000000000","message":"Most of the part looks good, just one suggestion in response of add location API","commit_id":"c4d7570fd58817a5beeaf0d3d051d5666ef55264"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"4c16a3580eb4b67d38ef43fa64df915643769653","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"bb15e75d_b15af249","updated":"2023-05-05 14:46:05.000000000","message":"Thanks Rajat!","commit_id":"c4d7570fd58817a5beeaf0d3d051d5666ef55264"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3b61c50e24c6c715bcd1ca33029fac48ebc85c63","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"9d6cbec5_a79a56f0","updated":"2023-05-15 05:47:28.000000000","message":"As discussed in last weekly meeting[1] I haven\u0027t seen any objection on this, so approving the spec.\n\nThanks all reviewers !!\n\n[1]: https://meetings.opendev.org/meetings/glance/2023/glance.2023-05-11-13.59.log.html#l-112","commit_id":"b7f6ba60ced9e42293e05ffbeb529c913d38d4df"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"b5542c02217aa4797789c1443974ae4758911431","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"a4455298_8fa6ff08","updated":"2023-05-09 08:35:17.000000000","message":"Thanks Abhishek","commit_id":"b7f6ba60ced9e42293e05ffbeb529c913d38d4df"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"605c4c69b3aebc91742b8cd166fb36e3a5fa0ff1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"d3ea2704_14868ce1","updated":"2023-05-09 08:46:14.000000000","message":"thank you!","commit_id":"b7f6ba60ced9e42293e05ffbeb529c913d38d4df"}],"specs/2023.2/approved/glance/new-location-info-apis.rst":[{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"80b60dba4c2b393977cd8902d95292024cd98be9","unresolved":true,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    .. code-block:: json"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        {"},{"line_number":189,"context_line":"            \"url\": \"cinder://lvmdriver-1/0f031ed1-5872-43d5-a638-4b0d07c10ab5\","},{"line_number":190,"context_line":"            \"do_secure_hash\": false,"},{"line_number":191,"context_line":"        }"}],"source_content_type":"text/x-rst","patch_set":1,"id":"cfbfd330_2ec372da","line":188,"updated":"2023-04-20 07:56:15.000000000","message":"I think we would need to pass the PATH as well in the body to provide the position/index of the location where it needs to be inserted similar to the existing add location api,\n\n\n\u0027\u0027\u0027\n  PATCH /images/1234\n  [{\"op\": \"add\", \"path\": \"/locations/-\",\n    \"value\": {\"url\": \"scheme3://path3\", \"metadata\": {}}}]\n\n  PATCH /images/1234\n  [{\"op\": \"add\", \"path\": \"/locations/1\",\n    \"value\": {\"url\": \"scheme4://path4\", \"metadata\": {}}}] \u0027\u0027\u0027\n  \nIt would be helpful to update these API details in this spec.","commit_id":"f6dc8cd0bbb38ddc08c5fb6f68856de5da60c0a1"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"b590f433318f980f976687bad9176f57ba431f89","unresolved":false,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    .. code-block:: json"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        {"},{"line_number":189,"context_line":"            \"url\": \"cinder://lvmdriver-1/0f031ed1-5872-43d5-a638-4b0d07c10ab5\","},{"line_number":190,"context_line":"            \"do_secure_hash\": false,"},{"line_number":191,"context_line":"        }"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ec759748_73430c7b","line":188,"in_reply_to":"7eabec02_67b9f043","updated":"2023-05-02 05:55:15.000000000","message":"ack","commit_id":"f6dc8cd0bbb38ddc08c5fb6f68856de5da60c0a1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2d93091056f8273663a35bcd34683d0fe1744da2","unresolved":false,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    .. code-block:: json"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        {"},{"line_number":189,"context_line":"            \"url\": \"cinder://lvmdriver-1/0f031ed1-5872-43d5-a638-4b0d07c10ab5\","},{"line_number":190,"context_line":"            \"do_secure_hash\": false,"},{"line_number":191,"context_line":"        }"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7eabec02_67b9f043","line":188,"in_reply_to":"cfbfd330_2ec372da","updated":"2023-04-24 08:15:34.000000000","message":"As discussed, we will not be adding indexing support to the new location APIs. I\u0027ve mentioned the alternatives in the update.","commit_id":"f6dc8cd0bbb38ddc08c5fb6f68856de5da60c0a1"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3796c99be210fa8ebf05a8197b57203198135d6b","unresolved":true,"context_lines":[{"line_number":179,"context_line":"  else glance will calculate the image hash. If both ``do_secure_hash`` and"},{"line_number":180,"context_line":"  ``validation data`` are passed, then we will compare them and fail the"},{"line_number":181,"context_line":"  location add operation if they don\u0027t match."},{"line_number":182,"context_line":"  Unlike old location API, we will not provide support of adding a location"},{"line_number":183,"context_line":"  on a particular index and the newly added image location will be appended"},{"line_number":184,"context_line":"  in the end. If we want to get the benefit of indexes, we can use the old"},{"line_number":185,"context_line":"  location APIs or set location strategy as store_type [5]_."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"  POST /v2/images/{image_id}/locations"}],"source_content_type":"text/x-rst","patch_set":2,"id":"825d9242_451bde32","line":184,"range":{"start_line":182,"start_character":2,"end_line":184,"end_character":13},"updated":"2023-05-02 06:46:31.000000000","message":"Correct me If I am wrong;\n\nThe new location API will work only if image is in queued state then how this scenario (appending to the last) will occur?","commit_id":"8b274454c4a09a238c772feb572ca48cc95eb060"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"10e3bdf24696f96e390e40eb332338098e971a39","unresolved":true,"context_lines":[{"line_number":179,"context_line":"  else glance will calculate the image hash. If both ``do_secure_hash`` and"},{"line_number":180,"context_line":"  ``validation data`` are passed, then we will compare them and fail the"},{"line_number":181,"context_line":"  location add operation if they don\u0027t match."},{"line_number":182,"context_line":"  Unlike old location API, we will not provide support of adding a location"},{"line_number":183,"context_line":"  on a particular index and the newly added image location will be appended"},{"line_number":184,"context_line":"  in the end. If we want to get the benefit of indexes, we can use the old"},{"line_number":185,"context_line":"  location APIs or set location strategy as store_type [5]_."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"  POST /v2/images/{image_id}/locations"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ab105bae_7d5fead9","line":184,"range":{"start_line":182,"start_character":2,"end_line":184,"end_character":13},"in_reply_to":"825d9242_451bde32","updated":"2023-05-02 12:05:09.000000000","message":"I think we were initially planning to allow adding locations for HTTP store case but later we decided it will add more complexity and we\u0027ve already mentioned that this as a limitation for the new location APIs. I will rephrase this.","commit_id":"8b274454c4a09a238c772feb572ca48cc95eb060"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"ad321db6681409748d0e71053c9b748c7af5adaa","unresolved":false,"context_lines":[{"line_number":179,"context_line":"  else glance will calculate the image hash. If both ``do_secure_hash`` and"},{"line_number":180,"context_line":"  ``validation data`` are passed, then we will compare them and fail the"},{"line_number":181,"context_line":"  location add operation if they don\u0027t match."},{"line_number":182,"context_line":"  Unlike old location API, we will not provide support of adding a location"},{"line_number":183,"context_line":"  on a particular index and the newly added image location will be appended"},{"line_number":184,"context_line":"  in the end. If we want to get the benefit of indexes, we can use the old"},{"line_number":185,"context_line":"  location APIs or set location strategy as store_type [5]_."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"  POST /v2/images/{image_id}/locations"}],"source_content_type":"text/x-rst","patch_set":2,"id":"a4f3f672_c4b73b52","line":184,"range":{"start_line":182,"start_character":2,"end_line":184,"end_character":13},"in_reply_to":"ab105bae_7d5fead9","updated":"2023-05-02 12:10:21.000000000","message":"Done","commit_id":"8b274454c4a09a238c772feb572ca48cc95eb060"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3796c99be210fa8ebf05a8197b57203198135d6b","unresolved":true,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"        {"},{"line_number":194,"context_line":"            \"url\": \"cinder://lvmdriver-1/0f031ed1-5872-43d5-a638-4b0d07c10ab5\","},{"line_number":195,"context_line":"            \"do_secure_hash\": false,"},{"line_number":196,"context_line":"            \"validation_data\": {"},{"line_number":197,"context_line":"                \"checksum\": \"b874c39491a2377b8490f5f1e89761a4\","},{"line_number":198,"context_line":"                \"os_hash_algo\": \"sha512\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"5ff2c8e2_587bf356","line":195,"range":{"start_line":195,"start_character":13,"end_line":195,"end_character":36},"updated":"2023-05-02 06:46:31.000000000","message":"If do_secure_hash is false then we are not going to calculate the hash right?\nIn this case what happens if validation_data is provided, will it be ignored or will it return bad request?","commit_id":"8b274454c4a09a238c772feb572ca48cc95eb060"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"10e3bdf24696f96e390e40eb332338098e971a39","unresolved":true,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"        {"},{"line_number":194,"context_line":"            \"url\": \"cinder://lvmdriver-1/0f031ed1-5872-43d5-a638-4b0d07c10ab5\","},{"line_number":195,"context_line":"            \"do_secure_hash\": false,"},{"line_number":196,"context_line":"            \"validation_data\": {"},{"line_number":197,"context_line":"                \"checksum\": \"b874c39491a2377b8490f5f1e89761a4\","},{"line_number":198,"context_line":"                \"os_hash_algo\": \"sha512\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"7e2f5fdd_573dcce4","line":195,"range":{"start_line":195,"start_character":13,"end_line":195,"end_character":36},"in_reply_to":"5ff2c8e2_587bf356","updated":"2023-05-02 12:05:09.000000000","message":"In my understanding, there are 3 cases:\n\ndo_secure_hash \u003d True, validation_data\u003dNULL -- calculate hash by reading image again\ndo_secure_hash \u003d False, validation_data\u003d\u003chash data\u003e -- validate data and add it to image\ndo_secure_hash \u003d True, validation_data\u003d\u003chash data\u003e -- calculate the hash and match it with the validation data (fail if don\u0027t match)\n\nI can add it to the spec if required but let me know if the understanding of validation data is correct here.","commit_id":"8b274454c4a09a238c772feb572ca48cc95eb060"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"fa71a20e7364dea961231a53cf609093db47f1b4","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"        {"},{"line_number":194,"context_line":"            \"url\": \"cinder://lvmdriver-1/0f031ed1-5872-43d5-a638-4b0d07c10ab5\","},{"line_number":195,"context_line":"            \"do_secure_hash\": false,"},{"line_number":196,"context_line":"            \"validation_data\": {"},{"line_number":197,"context_line":"                \"checksum\": \"b874c39491a2377b8490f5f1e89761a4\","},{"line_number":198,"context_line":"                \"os_hash_algo\": \"sha512\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"e3b57d06_39ab2d9a","line":195,"range":{"start_line":195,"start_character":13,"end_line":195,"end_character":36},"in_reply_to":"7e2f5fdd_573dcce4","updated":"2023-05-02 14:35:17.000000000","message":"Done","commit_id":"8b274454c4a09a238c772feb572ca48cc95eb060"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"beaad67b8827047235b549fbd3a010a3cc970921","unresolved":true,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"        {"},{"line_number":194,"context_line":"            \"url\": \"cinder://lvmdriver-1/0f031ed1-5872-43d5-a638-4b0d07c10ab5\","},{"line_number":195,"context_line":"            \"do_secure_hash\": false,"},{"line_number":196,"context_line":"            \"validation_data\": {"},{"line_number":197,"context_line":"                \"checksum\": \"b874c39491a2377b8490f5f1e89761a4\","},{"line_number":198,"context_line":"                \"os_hash_algo\": \"sha512\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"da26dfc9_da6c4d9d","line":195,"range":{"start_line":195,"start_character":13,"end_line":195,"end_character":36},"in_reply_to":"7e2f5fdd_573dcce4","updated":"2023-05-02 14:46:37.000000000","message":"Yep, this analysis is correct.","commit_id":"8b274454c4a09a238c772feb572ca48cc95eb060"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"23f2fce5df3d540e171fc4b5e9b74d4776dc8650","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"        {"},{"line_number":194,"context_line":"            \"url\": \"cinder://lvmdriver-1/0f031ed1-5872-43d5-a638-4b0d07c10ab5\","},{"line_number":195,"context_line":"            \"do_secure_hash\": false,"},{"line_number":196,"context_line":"            \"validation_data\": {"},{"line_number":197,"context_line":"                \"checksum\": \"b874c39491a2377b8490f5f1e89761a4\","},{"line_number":198,"context_line":"                \"os_hash_algo\": \"sha512\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"f8340a1b_ca8020ed","line":195,"range":{"start_line":195,"start_character":13,"end_line":195,"end_character":36},"in_reply_to":"da26dfc9_da6c4d9d","updated":"2023-05-03 12:30:50.000000000","message":"Ack","commit_id":"8b274454c4a09a238c772feb572ca48cc95eb060"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3796c99be210fa8ebf05a8197b57203198135d6b","unresolved":true,"context_lines":[{"line_number":218,"context_line":"        }"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"    - Error - 409 (Location already exists), 403 (Forbidden for users that are"},{"line_number":221,"context_line":"      not owner), 400 (BadRequest if image is not in QUEUED state)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"* Get Location(s)"},{"line_number":224,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"f7b4ddb4_29420199","line":221,"range":{"start_line":221,"start_character":18,"end_line":221,"end_character":66},"updated":"2023-05-02 06:46:31.000000000","message":"I think this should be 409 as well, in old location API if image is not in queued/active state then we are raisig 409.","commit_id":"8b274454c4a09a238c772feb572ca48cc95eb060"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"ad321db6681409748d0e71053c9b748c7af5adaa","unresolved":false,"context_lines":[{"line_number":218,"context_line":"        }"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"    - Error - 409 (Location already exists), 403 (Forbidden for users that are"},{"line_number":221,"context_line":"      not owner), 400 (BadRequest if image is not in QUEUED state)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"* Get Location(s)"},{"line_number":224,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"f7063827_ae6dba7d","line":221,"range":{"start_line":221,"start_character":18,"end_line":221,"end_character":66},"in_reply_to":"0a9d3888_284e93a6","updated":"2023-05-02 12:10:21.000000000","message":"Done","commit_id":"8b274454c4a09a238c772feb572ca48cc95eb060"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"10e3bdf24696f96e390e40eb332338098e971a39","unresolved":false,"context_lines":[{"line_number":218,"context_line":"        }"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"    - Error - 409 (Location already exists), 403 (Forbidden for users that are"},{"line_number":221,"context_line":"      not owner), 400 (BadRequest if image is not in QUEUED state)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"* Get Location(s)"},{"line_number":224,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"0a9d3888_284e93a6","line":221,"range":{"start_line":221,"start_character":18,"end_line":221,"end_character":66},"in_reply_to":"f7b4ddb4_29420199","updated":"2023-05-02 12:05:09.000000000","message":"Ack","commit_id":"8b274454c4a09a238c772feb572ca48cc95eb060"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"beaad67b8827047235b549fbd3a010a3cc970921","unresolved":true,"context_lines":[{"line_number":181,"context_line":"  location add operation if they don\u0027t match."},{"line_number":182,"context_line":"  Unlike old location API, we will not provide support of adding a location"},{"line_number":183,"context_line":"  on a particular index. If we want to get the benefit of indexes, we can"},{"line_number":184,"context_line":"  use the old location APIs or set location strategy as store_type [5]_."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"  POST /v2/images/{image_id}/locations"},{"line_number":187,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"e47c3fa0_01f3921f","line":184,"range":{"start_line":184,"start_character":31,"end_line":184,"end_character":72},"updated":"2023-05-02 14:46:37.000000000","message":"You can refer my lite spec here,\n\nhttps://review.opendev.org/c/openstack/glance-specs/+/881951?usp\u003dsearch","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"23f2fce5df3d540e171fc4b5e9b74d4776dc8650","unresolved":false,"context_lines":[{"line_number":181,"context_line":"  location add operation if they don\u0027t match."},{"line_number":182,"context_line":"  Unlike old location API, we will not provide support of adding a location"},{"line_number":183,"context_line":"  on a particular index. If we want to get the benefit of indexes, we can"},{"line_number":184,"context_line":"  use the old location APIs or set location strategy as store_type [5]_."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"  POST /v2/images/{image_id}/locations"},{"line_number":187,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"a53f7dea_0b612948","line":184,"range":{"start_line":184,"start_character":31,"end_line":184,"end_character":72},"in_reply_to":"e47c3fa0_01f3921f","updated":"2023-05-03 12:30:50.000000000","message":"Done","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"beaad67b8827047235b549fbd3a010a3cc970921","unresolved":true,"context_lines":[{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        {"},{"line_number":209,"context_line":"            \"url\": \"cinder://lvmdriver-1/0f031ed1-5872-43d5-a638-4b0d07c10ab5\","},{"line_number":210,"context_line":"            \"metadata\": \"{\u0027store\u0027: \u0027lvmdriver-1\u0027,"},{"line_number":211,"context_line":"                          \u0027do_secure_hash\u0027: false}\","},{"line_number":212,"context_line":"            \"validation_data\": {"},{"line_number":213,"context_line":"                \"checksum\": \"b874c39491a2377b8490f5f1e89761a4\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"ed2d7948_d6e436af","line":210,"range":{"start_line":210,"start_character":26,"end_line":210,"end_character":48},"updated":"2023-05-02 14:46:37.000000000","message":"I think we can avoid this, because glance populates the store name in the metadata. Else we need to make sure both nova and cinder are passing it and if it is present we can avoid the population of store name at glance side.","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"ca36100a4fb1f6890c7b4fc5332c3429b8332cc2","unresolved":true,"context_lines":[{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        {"},{"line_number":209,"context_line":"            \"url\": \"cinder://lvmdriver-1/0f031ed1-5872-43d5-a638-4b0d07c10ab5\","},{"line_number":210,"context_line":"            \"metadata\": \"{\u0027store\u0027: \u0027lvmdriver-1\u0027,"},{"line_number":211,"context_line":"                          \u0027do_secure_hash\u0027: false}\","},{"line_number":212,"context_line":"            \"validation_data\": {"},{"line_number":213,"context_line":"                \"checksum\": \"b874c39491a2377b8490f5f1e89761a4\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a856077_ade320a3","line":210,"range":{"start_line":210,"start_character":26,"end_line":210,"end_character":48},"in_reply_to":"6757d233_742719de","updated":"2023-05-03 14:05:09.000000000","message":"Avoid adding store name to the metadata, let glance handle it.","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"62c52764dbf31eec0ecb3a6111b3350816e69d0f","unresolved":false,"context_lines":[{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        {"},{"line_number":209,"context_line":"            \"url\": \"cinder://lvmdriver-1/0f031ed1-5872-43d5-a638-4b0d07c10ab5\","},{"line_number":210,"context_line":"            \"metadata\": \"{\u0027store\u0027: \u0027lvmdriver-1\u0027,"},{"line_number":211,"context_line":"                          \u0027do_secure_hash\u0027: false}\","},{"line_number":212,"context_line":"            \"validation_data\": {"},{"line_number":213,"context_line":"                \"checksum\": \"b874c39491a2377b8490f5f1e89761a4\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"f01a6120_113fc864","line":210,"range":{"start_line":210,"start_character":26,"end_line":210,"end_character":48},"in_reply_to":"9a856077_ade320a3","updated":"2023-05-03 20:27:33.000000000","message":"Done","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"23f2fce5df3d540e171fc4b5e9b74d4776dc8650","unresolved":true,"context_lines":[{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        {"},{"line_number":209,"context_line":"            \"url\": \"cinder://lvmdriver-1/0f031ed1-5872-43d5-a638-4b0d07c10ab5\","},{"line_number":210,"context_line":"            \"metadata\": \"{\u0027store\u0027: \u0027lvmdriver-1\u0027,"},{"line_number":211,"context_line":"                          \u0027do_secure_hash\u0027: false}\","},{"line_number":212,"context_line":"            \"validation_data\": {"},{"line_number":213,"context_line":"                \"checksum\": \"b874c39491a2377b8490f5f1e89761a4\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"6757d233_742719de","line":210,"range":{"start_line":210,"start_character":26,"end_line":210,"end_character":48},"in_reply_to":"ed2d7948_d6e436af","updated":"2023-05-03 12:30:50.000000000","message":"Do you mean we shouldn\u0027t include the store name in the response when adding a location? I think we can derive it from the URL (same as how glance does) and return it to the user. Also this is a one time response when creating location.\nI thought it might be used in some way by nova or cinder in future so included it but right now I also don\u0027t have any use case in mind for returning this info so don\u0027t mind removing it as well.","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"beaad67b8827047235b549fbd3a010a3cc970921","unresolved":true,"context_lines":[{"line_number":217,"context_line":"        }"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    - Error - 409 (Location already exists or if image is not in QUEUED"},{"line_number":220,"context_line":"      state), 403 (Forbidden for users that are not owner)"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"* Get Location(s)"},{"line_number":223,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"698fc2ba_08472a2b","line":220,"updated":"2023-05-02 14:46:37.000000000","message":"I think this require 400 as well if validation of validation fails.","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"23f2fce5df3d540e171fc4b5e9b74d4776dc8650","unresolved":false,"context_lines":[{"line_number":217,"context_line":"        }"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    - Error - 409 (Location already exists or if image is not in QUEUED"},{"line_number":220,"context_line":"      state), 403 (Forbidden for users that are not owner)"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"* Get Location(s)"},{"line_number":223,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"74f711c6_16bdf153","line":220,"in_reply_to":"698fc2ba_08472a2b","updated":"2023-05-03 12:30:50.000000000","message":"Done","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"beaad67b8827047235b549fbd3a010a3cc970921","unresolved":true,"context_lines":[{"line_number":245,"context_line":""},{"line_number":246,"context_line":"The transition of image state during the image create operation will be as"},{"line_number":247,"context_line":"follows."},{"line_number":248,"context_line":"Image upload (PUT), image stage (PUT) and location add (POST), will transition"},{"line_number":249,"context_line":"the image from queued to the next state that could be either of the following:"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"1. ``saving``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"6368d4a1_86a8f26b","line":248,"range":{"start_line":248,"start_character":20,"end_line":248,"end_character":37},"updated":"2023-05-02 14:46:37.000000000","message":"Image stage is an Import operation flow, so transition in this case is;\nsaving --\u003e uploading --\u003e importing --\u003e active","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"ca36100a4fb1f6890c7b4fc5332c3429b8332cc2","unresolved":true,"context_lines":[{"line_number":245,"context_line":""},{"line_number":246,"context_line":"The transition of image state during the image create operation will be as"},{"line_number":247,"context_line":"follows."},{"line_number":248,"context_line":"Image upload (PUT), image stage (PUT) and location add (POST), will transition"},{"line_number":249,"context_line":"the image from queued to the next state that could be either of the following:"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"1. ``saving``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"79636201_82c03fe2","line":248,"range":{"start_line":248,"start_character":20,"end_line":248,"end_character":37},"in_reply_to":"4fcfbfd2_217b1c8a","updated":"2023-05-03 14:05:09.000000000","message":"Add importing state to the transition","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"23f2fce5df3d540e171fc4b5e9b74d4776dc8650","unresolved":true,"context_lines":[{"line_number":245,"context_line":""},{"line_number":246,"context_line":"The transition of image state during the image create operation will be as"},{"line_number":247,"context_line":"follows."},{"line_number":248,"context_line":"Image upload (PUT), image stage (PUT) and location add (POST), will transition"},{"line_number":249,"context_line":"the image from queued to the next state that could be either of the following:"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"1. ``saving``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"4fcfbfd2_217b1c8a","line":248,"range":{"start_line":248,"start_character":20,"end_line":248,"end_character":37},"in_reply_to":"6368d4a1_86a8f26b","updated":"2023-05-03 12:30:50.000000000","message":"I\u0027m not sure how to mention this info. The idea is any of the upload/stage/loc add operation can transition the image to next state which could be one of the following, (saving, uploading, active)\nOne thing I can do here is to mention the \u0027importing\u0027 state in the states below.","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"62c52764dbf31eec0ecb3a6111b3350816e69d0f","unresolved":false,"context_lines":[{"line_number":245,"context_line":""},{"line_number":246,"context_line":"The transition of image state during the image create operation will be as"},{"line_number":247,"context_line":"follows."},{"line_number":248,"context_line":"Image upload (PUT), image stage (PUT) and location add (POST), will transition"},{"line_number":249,"context_line":"the image from queued to the next state that could be either of the following:"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"1. ``saving``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"b0104342_10ea25d1","line":248,"range":{"start_line":248,"start_character":20,"end_line":248,"end_character":37},"in_reply_to":"79636201_82c03fe2","updated":"2023-05-03 20:27:33.000000000","message":"Done","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"beaad67b8827047235b549fbd3a010a3cc970921","unresolved":true,"context_lines":[{"line_number":289,"context_line":"Other end user impact"},{"line_number":290,"context_line":"---------------------"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"Since the new APIs are for service to service interaction, there is not much"},{"line_number":293,"context_line":"value to expose them via glanceclient/OpenStackClient CLI. However, we will"},{"line_number":294,"context_line":"add methods to the openstacksdk (that will call the new location APIs) that"},{"line_number":295,"context_line":"will be used by other consumer services like cinder and nova but those methods"}],"source_content_type":"text/x-rst","patch_set":3,"id":"d125b9d1_8688012d","line":292,"range":{"start_line":292,"start_character":1,"end_line":292,"end_character":57},"updated":"2023-05-02 14:46:37.000000000","message":"If this is true then why we are allowing imgae_owner to add location to image?\n\nIf we are going to allow image_owner to add_location using new API then I think we need this support in python-glanceclient as well.","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"23f2fce5df3d540e171fc4b5e9b74d4776dc8650","unresolved":true,"context_lines":[{"line_number":289,"context_line":"Other end user impact"},{"line_number":290,"context_line":"---------------------"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"Since the new APIs are for service to service interaction, there is not much"},{"line_number":293,"context_line":"value to expose them via glanceclient/OpenStackClient CLI. However, we will"},{"line_number":294,"context_line":"add methods to the openstacksdk (that will call the new location APIs) that"},{"line_number":295,"context_line":"will be used by other consumer services like cinder and nova but those methods"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e290a08f_da1e5315","line":292,"range":{"start_line":292,"start_character":1,"end_line":292,"end_character":57},"in_reply_to":"d125b9d1_8688012d","updated":"2023-05-03 12:30:50.000000000","message":"IIUC we are allowing image owner since when a normal user creates an image, while adding the location, we need image owner permissions to add it.\nAlso we\u0027ve the HTTP case so I will rephrase it.","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"ca36100a4fb1f6890c7b4fc5332c3429b8332cc2","unresolved":true,"context_lines":[{"line_number":289,"context_line":"Other end user impact"},{"line_number":290,"context_line":"---------------------"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"Since the new APIs are for service to service interaction, there is not much"},{"line_number":293,"context_line":"value to expose them via glanceclient/OpenStackClient CLI. However, we will"},{"line_number":294,"context_line":"add methods to the openstacksdk (that will call the new location APIs) that"},{"line_number":295,"context_line":"will be used by other consumer services like cinder and nova but those methods"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fd8a7bd5_459a771f","line":292,"range":{"start_line":292,"start_character":1,"end_line":292,"end_character":57},"in_reply_to":"e290a08f_da1e5315","updated":"2023-05-03 14:05:09.000000000","message":"Location API is separate API which doesn’t create image in that process, image creation is separate process and adding data to location is different operation, so we need glance and osc client support at least for http store.","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"62c52764dbf31eec0ecb3a6111b3350816e69d0f","unresolved":false,"context_lines":[{"line_number":289,"context_line":"Other end user impact"},{"line_number":290,"context_line":"---------------------"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"Since the new APIs are for service to service interaction, there is not much"},{"line_number":293,"context_line":"value to expose them via glanceclient/OpenStackClient CLI. However, we will"},{"line_number":294,"context_line":"add methods to the openstacksdk (that will call the new location APIs) that"},{"line_number":295,"context_line":"will be used by other consumer services like cinder and nova but those methods"}],"source_content_type":"text/x-rst","patch_set":3,"id":"af93ebe3_b478bba1","line":292,"range":{"start_line":292,"start_character":1,"end_line":292,"end_character":57},"in_reply_to":"fd8a7bd5_459a771f","updated":"2023-05-03 20:27:33.000000000","message":"Done","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"beaad67b8827047235b549fbd3a010a3cc970921","unresolved":true,"context_lines":[{"line_number":302,"context_line":"  image."},{"line_number":303,"context_line":"* ``glance location-update:`` Update metadata of an image\u0027s location."},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"We will also add a new command that will allow end users to update the"},{"line_number":306,"context_line":"``location`` and ``metadata`` for HTTP store case."},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"* ``glance direct-location --location \u003clocation\u003e --metadata"},{"line_number":309,"context_line":"  \u003ckey1\u003dvalue1, key2\u003dvalue2 ...\u003e``"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"Performance Impact"},{"line_number":312,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9bf88f6a_e7963c2f","line":309,"range":{"start_line":305,"start_character":0,"end_line":309,"end_character":34},"updated":"2023-05-02 14:46:37.000000000","message":"I think this should be a different work.\nThe command name should be more specific like glance update-location-metadata","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"ca36100a4fb1f6890c7b4fc5332c3429b8332cc2","unresolved":true,"context_lines":[{"line_number":302,"context_line":"  image."},{"line_number":303,"context_line":"* ``glance location-update:`` Update metadata of an image\u0027s location."},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"We will also add a new command that will allow end users to update the"},{"line_number":306,"context_line":"``location`` and ``metadata`` for HTTP store case."},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"* ``glance direct-location --location \u003clocation\u003e --metadata"},{"line_number":309,"context_line":"  \u003ckey1\u003dvalue1, key2\u003dvalue2 ...\u003e``"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"Performance Impact"},{"line_number":312,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ede570b5_e1035778","line":309,"range":{"start_line":305,"start_character":0,"end_line":309,"end_character":34},"in_reply_to":"41ac8313_ed5c95fd","updated":"2023-05-03 14:05:09.000000000","message":"No URL is not included in metadata, so the command name should be something informative.\n\nChanges should be added to both clients osc as well as glance","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"23f2fce5df3d540e171fc4b5e9b74d4776dc8650","unresolved":true,"context_lines":[{"line_number":302,"context_line":"  image."},{"line_number":303,"context_line":"* ``glance location-update:`` Update metadata of an image\u0027s location."},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"We will also add a new command that will allow end users to update the"},{"line_number":306,"context_line":"``location`` and ``metadata`` for HTTP store case."},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"* ``glance direct-location --location \u003clocation\u003e --metadata"},{"line_number":309,"context_line":"  \u003ckey1\u003dvalue1, key2\u003dvalue2 ...\u003e``"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"Performance Impact"},{"line_number":312,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"41ac8313_ed5c95fd","line":309,"range":{"start_line":305,"start_character":0,"end_line":309,"end_character":34},"in_reply_to":"9bf88f6a_e7963c2f","updated":"2023-05-03 12:30:50.000000000","message":"is the URL also included in the metadata? I thought metadata is a separate field for other values like store_id.\nAlso one other question I have is do we want this to be implemented in glanceclient or openstackclient given the migration fro project clients to OSC?","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"54c8e997fdf39f03327295f903289db42cb23f5c","unresolved":true,"context_lines":[{"line_number":302,"context_line":"  image."},{"line_number":303,"context_line":"* ``glance location-update:`` Update metadata of an image\u0027s location."},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"We will also add a new command that will allow end users to update the"},{"line_number":306,"context_line":"``location`` and ``metadata`` for HTTP store case."},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"* ``glance direct-location --location \u003clocation\u003e --metadata"},{"line_number":309,"context_line":"  \u003ckey1\u003dvalue1, key2\u003dvalue2 ...\u003e``"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"Performance Impact"},{"line_number":312,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"70af1978_c32bd233","line":309,"range":{"start_line":305,"start_character":0,"end_line":309,"end_character":34},"in_reply_to":"a86ef898_e480aaee","updated":"2023-05-04 11:56:53.000000000","message":"Why do we require a different spec for this? IIUC we are exposing new add location API with these commands so this is part of the same effort just on the client side. If we don\u0027t implement this, we won\u0027t have support of HTTP store with new location APIs.","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"62c52764dbf31eec0ecb3a6111b3350816e69d0f","unresolved":true,"context_lines":[{"line_number":302,"context_line":"  image."},{"line_number":303,"context_line":"* ``glance location-update:`` Update metadata of an image\u0027s location."},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"We will also add a new command that will allow end users to update the"},{"line_number":306,"context_line":"``location`` and ``metadata`` for HTTP store case."},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"* ``glance direct-location --location \u003clocation\u003e --metadata"},{"line_number":309,"context_line":"  \u003ckey1\u003dvalue1, key2\u003dvalue2 ...\u003e``"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"Performance Impact"},{"line_number":312,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"f7f89308_c453dbcf","line":309,"range":{"start_line":305,"start_character":0,"end_line":309,"end_character":34},"in_reply_to":"ede570b5_e1035778","updated":"2023-05-03 20:27:33.000000000","message":"So update-location-metadata signifies to me that we\u0027re updating the metadata of the location which is not 100% correct since we also allow adding location URL.\n\nhow about,\nadd-location-properties\nupdate-location-properties\n\nglance update-location-properties --url \u003curl\u003e --metadata \u003ckey1\u003dvalue1, key2\u003dvalue2 ...\u003e","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8b92de48a3155d2bdf4d912ad9c17be433c9def0","unresolved":true,"context_lines":[{"line_number":302,"context_line":"  image."},{"line_number":303,"context_line":"* ``glance location-update:`` Update metadata of an image\u0027s location."},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"We will also add a new command that will allow end users to update the"},{"line_number":306,"context_line":"``location`` and ``metadata`` for HTTP store case."},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"* ``glance direct-location --location \u003clocation\u003e --metadata"},{"line_number":309,"context_line":"  \u003ckey1\u003dvalue1, key2\u003dvalue2 ...\u003e``"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"Performance Impact"},{"line_number":312,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"a86ef898_e480aaee","line":309,"range":{"start_line":305,"start_character":0,"end_line":309,"end_character":34},"in_reply_to":"f7f89308_c453dbcf","updated":"2023-05-04 05:38:10.000000000","message":"Sounds good, but as I said this should be explained better in different spec.","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"beaad67b8827047235b549fbd3a010a3cc970921","unresolved":true,"context_lines":[{"line_number":340,"context_line":"are:"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"* We will use SDK to make the API calls. The changes to call new"},{"line_number":343,"context_line":"  location APIs will be in SDK and not in glanceclient."},{"line_number":344,"context_line":"* Keep backward compatibility with old behavior. Glance should support"},{"line_number":345,"context_line":"  the legacy behavior as well as the new way to add/get locations. This is"},{"line_number":346,"context_line":"  useful in upgrade cases where one compute node is running 2023.1 (Antelope)"}],"source_content_type":"text/x-rst","patch_set":3,"id":"6546710d_6b0be312","line":343,"range":{"start_line":343,"start_character":35,"end_line":343,"end_character":54},"updated":"2023-05-02 14:46:37.000000000","message":"this needs to be changed","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"23f2fce5df3d540e171fc4b5e9b74d4776dc8650","unresolved":false,"context_lines":[{"line_number":340,"context_line":"are:"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"* We will use SDK to make the API calls. The changes to call new"},{"line_number":343,"context_line":"  location APIs will be in SDK and not in glanceclient."},{"line_number":344,"context_line":"* Keep backward compatibility with old behavior. Glance should support"},{"line_number":345,"context_line":"  the legacy behavior as well as the new way to add/get locations. This is"},{"line_number":346,"context_line":"  useful in upgrade cases where one compute node is running 2023.1 (Antelope)"}],"source_content_type":"text/x-rst","patch_set":3,"id":"45c21e95_a90f3841","line":343,"range":{"start_line":343,"start_character":35,"end_line":343,"end_character":54},"in_reply_to":"6546710d_6b0be312","updated":"2023-05-03 12:30:50.000000000","message":"Done","commit_id":"eff8c0c8c0aca037363b9d0a54692c7cfae999bc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8b92de48a3155d2bdf4d912ad9c17be433c9def0","unresolved":true,"context_lines":[{"line_number":185,"context_line":"    We will not be calculating the image checksum and hash in this case"},{"line_number":186,"context_line":"    so it is the responsibility of the consumer of location ADD API to"},{"line_number":187,"context_line":"    provide the correct values in the validation_data parameter."},{"line_number":188,"context_line":"  * do_secure_hash \u003d False, validation_data \u003d \u003cchecksum, hash\u003e"},{"line_number":189,"context_line":"    Calculate the checksum and hash by reading the image and compare it"},{"line_number":190,"context_line":"    with the validation_data provided. we will fail the location add operation"},{"line_number":191,"context_line":"    if the values don\u0027t match."},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"  Unlike old location API, we will not provide support of adding a location"},{"line_number":194,"context_line":"  on a particular index. If we want to get the benefit of indexes, we can"}],"source_content_type":"text/x-rst","patch_set":6,"id":"92e8cbd5_8cb98b3c","line":191,"range":{"start_line":188,"start_character":4,"end_line":191,"end_character":30},"updated":"2023-05-04 05:38:10.000000000","message":"here do_secure_hash should be True","commit_id":"6187c1500a457b1feb2ecfd9f919ebff1dc5f40a"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"54c8e997fdf39f03327295f903289db42cb23f5c","unresolved":false,"context_lines":[{"line_number":185,"context_line":"    We will not be calculating the image checksum and hash in this case"},{"line_number":186,"context_line":"    so it is the responsibility of the consumer of location ADD API to"},{"line_number":187,"context_line":"    provide the correct values in the validation_data parameter."},{"line_number":188,"context_line":"  * do_secure_hash \u003d False, validation_data \u003d \u003cchecksum, hash\u003e"},{"line_number":189,"context_line":"    Calculate the checksum and hash by reading the image and compare it"},{"line_number":190,"context_line":"    with the validation_data provided. we will fail the location add operation"},{"line_number":191,"context_line":"    if the values don\u0027t match."},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"  Unlike old location API, we will not provide support of adding a location"},{"line_number":194,"context_line":"  on a particular index. If we want to get the benefit of indexes, we can"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9deba2bc_94025fa7","line":191,"range":{"start_line":188,"start_character":4,"end_line":191,"end_character":30},"in_reply_to":"92e8cbd5_8cb98b3c","updated":"2023-05-04 11:56:53.000000000","message":"Bad paste... Done","commit_id":"6187c1500a457b1feb2ecfd9f919ebff1dc5f40a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8b92de48a3155d2bdf4d912ad9c17be433c9def0","unresolved":true,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        {"},{"line_number":223,"context_line":"            \"url\": \"cinder://lvmdriver-1/0f031ed1-5872-43d5-a638-4b0d07c10ab5\","},{"line_number":224,"context_line":"            \"metadata\": \"{\u0027do_secure_hash\u0027: false}\","},{"line_number":225,"context_line":"            \"validation_data\": {"},{"line_number":226,"context_line":"                \"checksum\": \"b874c39491a2377b8490f5f1e89761a4\","},{"line_number":227,"context_line":"                \"os_hash_algo\": \"sha512\","}],"source_content_type":"text/x-rst","patch_set":6,"id":"2e50c05a_4f70774b","line":224,"range":{"start_line":224,"start_character":12,"end_line":224,"end_character":52},"updated":"2023-05-04 05:38:10.000000000","message":"If this is a response then I think the metadata should also contain store name since glance will populate the same during this add location operation.\n\nOn the other hand is it beneficial to send response body here or just response 200 with no body is enough?","commit_id":"6187c1500a457b1feb2ecfd9f919ebff1dc5f40a"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"bc650421a9c270e7aaf2f34b37c740f2e23c863d","unresolved":true,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        {"},{"line_number":223,"context_line":"            \"url\": \"cinder://lvmdriver-1/0f031ed1-5872-43d5-a638-4b0d07c10ab5\","},{"line_number":224,"context_line":"            \"metadata\": \"{\u0027do_secure_hash\u0027: false}\","},{"line_number":225,"context_line":"            \"validation_data\": {"},{"line_number":226,"context_line":"                \"checksum\": \"b874c39491a2377b8490f5f1e89761a4\","},{"line_number":227,"context_line":"                \"os_hash_algo\": \"sha512\","}],"source_content_type":"text/x-rst","patch_set":6,"id":"ac836285_0b6d646e","line":224,"range":{"start_line":224,"start_character":12,"end_line":224,"end_character":52},"in_reply_to":"2e50c05a_4f70774b","updated":"2023-05-04 05:56:44.000000000","message":"Exactly, I also want to know why metadata with do_secure_hash value \u0026 validation_data are required in the response body? because the validation of these values will be handled in glance \u0026 we will update those in image. So I think it would be enough to either send the location url in response body or just response 200 with no body.","commit_id":"6187c1500a457b1feb2ecfd9f919ebff1dc5f40a"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"54c8e997fdf39f03327295f903289db42cb23f5c","unresolved":false,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        {"},{"line_number":223,"context_line":"            \"url\": \"cinder://lvmdriver-1/0f031ed1-5872-43d5-a638-4b0d07c10ab5\","},{"line_number":224,"context_line":"            \"metadata\": \"{\u0027do_secure_hash\u0027: false}\","},{"line_number":225,"context_line":"            \"validation_data\": {"},{"line_number":226,"context_line":"                \"checksum\": \"b874c39491a2377b8490f5f1e89761a4\","},{"line_number":227,"context_line":"                \"os_hash_algo\": \"sha512\","}],"source_content_type":"text/x-rst","patch_set":6,"id":"ae92d01c_3809a4b8","line":224,"range":{"start_line":224,"start_character":12,"end_line":224,"end_character":52},"in_reply_to":"3c8e1473_1d1c1342","updated":"2023-05-04 11:56:53.000000000","message":"Added image create response same as old location API","commit_id":"6187c1500a457b1feb2ecfd9f919ebff1dc5f40a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d987af17cfca4b6da34630b25f73a756d157361e","unresolved":true,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        {"},{"line_number":223,"context_line":"            \"url\": \"cinder://lvmdriver-1/0f031ed1-5872-43d5-a638-4b0d07c10ab5\","},{"line_number":224,"context_line":"            \"metadata\": \"{\u0027do_secure_hash\u0027: false}\","},{"line_number":225,"context_line":"            \"validation_data\": {"},{"line_number":226,"context_line":"                \"checksum\": \"b874c39491a2377b8490f5f1e89761a4\","},{"line_number":227,"context_line":"                \"os_hash_algo\": \"sha512\","}],"source_content_type":"text/x-rst","patch_set":6,"id":"3c8e1473_1d1c1342","line":224,"range":{"start_line":224,"start_character":12,"end_line":224,"end_character":52},"in_reply_to":"ac836285_0b6d646e","updated":"2023-05-04 06:25:52.000000000","message":"Please Ignore my comment about location metadata as I thought this is a example of request body.","commit_id":"6187c1500a457b1feb2ecfd9f919ebff1dc5f40a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8b92de48a3155d2bdf4d912ad9c17be433c9def0","unresolved":true,"context_lines":[{"line_number":316,"context_line":"* ``glance location-delete:`` Remove locations (and related metadata) from an"},{"line_number":317,"context_line":"  image."},{"line_number":318,"context_line":"* ``glance location-update:`` Update metadata of an image\u0027s location."},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"We will also add a new command to glanceclient and OSC that will allow end"},{"line_number":321,"context_line":"users to update the location ``url`` and ``metadata`` for HTTP store case."},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"* ``glance update-location-properties --url \u003clocation\u003e --metadata"},{"line_number":324,"context_line":"  \u003ckey1\u003dvalue1, key2\u003dvalue2 ...\u003e``"},{"line_number":325,"context_line":"* ``openstack update-location-properties --url \u003clocation\u003e --metadata"},{"line_number":326,"context_line":"  \u003ckey1\u003dvalue1, key2\u003dvalue2 ...\u003e``"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"Performance Impact"},{"line_number":329,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"6021fa14_4a25612a","line":326,"range":{"start_line":319,"start_character":0,"end_line":326,"end_character":34},"updated":"2023-05-04 05:38:10.000000000","message":"Will this be effort of this spec or a different work?","commit_id":"6187c1500a457b1feb2ecfd9f919ebff1dc5f40a"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"54c8e997fdf39f03327295f903289db42cb23f5c","unresolved":true,"context_lines":[{"line_number":316,"context_line":"* ``glance location-delete:`` Remove locations (and related metadata) from an"},{"line_number":317,"context_line":"  image."},{"line_number":318,"context_line":"* ``glance location-update:`` Update metadata of an image\u0027s location."},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"We will also add a new command to glanceclient and OSC that will allow end"},{"line_number":321,"context_line":"users to update the location ``url`` and ``metadata`` for HTTP store case."},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"* ``glance update-location-properties --url \u003clocation\u003e --metadata"},{"line_number":324,"context_line":"  \u003ckey1\u003dvalue1, key2\u003dvalue2 ...\u003e``"},{"line_number":325,"context_line":"* ``openstack update-location-properties --url \u003clocation\u003e --metadata"},{"line_number":326,"context_line":"  \u003ckey1\u003dvalue1, key2\u003dvalue2 ...\u003e``"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"Performance Impact"},{"line_number":329,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"84999be7_2275f7eb","line":326,"range":{"start_line":319,"start_character":0,"end_line":326,"end_character":34},"in_reply_to":"6021fa14_4a25612a","updated":"2023-05-04 11:56:53.000000000","message":"In my understanding, this should be part of this spec since we are exposing the location ADD API to end users for the HTTP store case. This is just the client side work of this and without it, we won\u0027t be able to support HTTP store with new location APIs.","commit_id":"6187c1500a457b1feb2ecfd9f919ebff1dc5f40a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"bb9efeff86af0c583decda52697ec632269edaef","unresolved":true,"context_lines":[{"line_number":235,"context_line":"              \"os_hash_algo\": \"sha512\","},{"line_number":236,"context_line":"              \"os_hash_value\": \"6b813aa46bb90b4da216a4d19376593fa3f4fc7e617f03a92b7fe11e9a3981cbe8f0959dbebe36225e5f53dc4492341a4863cac4ed1ee0909f3fc78ef9c3e869\","},{"line_number":237,"context_line":"              \"stores\": \"lvmdriver-1\","},{"line_number":238,"context_line":"              \"locations\": ["},{"line_number":239,"context_line":"                {"},{"line_number":240,"context_line":"                  \"url\": \"cinder://lvmdriver-1/1a304872-b0ca-4992-b2c2-6874c6d5d5f9\","},{"line_number":241,"context_line":"                  \"metadata\": {"},{"line_number":242,"context_line":"                    \"store\": \"lvmdriver-1\""},{"line_number":243,"context_line":"                  }"},{"line_number":244,"context_line":"                }"},{"line_number":245,"context_line":"              ],"},{"line_number":246,"context_line":"              \"direct_url\": \"cinder://lvmdriver-1/1a304872-b0ca-4992-b2c2-6874c6d5d5f9\""},{"line_number":247,"context_line":"            },"},{"line_number":248,"context_line":"            \"protected\": false,"},{"line_number":249,"context_line":"            \"schema\": \"/v2/schemas/image\","},{"line_number":250,"context_line":"            \"size\": 16300544,"}],"source_content_type":"text/x-rst","patch_set":8,"id":"4263e660_4c4de365","line":247,"range":{"start_line":238,"start_character":0,"end_line":247,"end_character":14},"updated":"2023-05-08 06:44:59.000000000","message":"nit: AFAIK, these parameters will be displayed if show_multiple_locations and show_direct_url is true. The aim of this spec is to get rid of these two parameters, so this should not be displayed here in image response.","commit_id":"c4d7570fd58817a5beeaf0d3d051d5666ef55264"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"40a9992e54662e46bc028899f8d906e9ebdb2b7c","unresolved":true,"context_lines":[{"line_number":235,"context_line":"              \"os_hash_algo\": \"sha512\","},{"line_number":236,"context_line":"              \"os_hash_value\": \"6b813aa46bb90b4da216a4d19376593fa3f4fc7e617f03a92b7fe11e9a3981cbe8f0959dbebe36225e5f53dc4492341a4863cac4ed1ee0909f3fc78ef9c3e869\","},{"line_number":237,"context_line":"              \"stores\": \"lvmdriver-1\","},{"line_number":238,"context_line":"              \"locations\": ["},{"line_number":239,"context_line":"                {"},{"line_number":240,"context_line":"                  \"url\": \"cinder://lvmdriver-1/1a304872-b0ca-4992-b2c2-6874c6d5d5f9\","},{"line_number":241,"context_line":"                  \"metadata\": {"},{"line_number":242,"context_line":"                    \"store\": \"lvmdriver-1\""},{"line_number":243,"context_line":"                  }"},{"line_number":244,"context_line":"                }"},{"line_number":245,"context_line":"              ],"},{"line_number":246,"context_line":"              \"direct_url\": \"cinder://lvmdriver-1/1a304872-b0ca-4992-b2c2-6874c6d5d5f9\""},{"line_number":247,"context_line":"            },"},{"line_number":248,"context_line":"            \"protected\": false,"},{"line_number":249,"context_line":"            \"schema\": \"/v2/schemas/image\","},{"line_number":250,"context_line":"            \"size\": 16300544,"}],"source_content_type":"text/x-rst","patch_set":8,"id":"b1d76df0_5798ed0f","line":247,"range":{"start_line":238,"start_character":0,"end_line":247,"end_character":14},"in_reply_to":"4263e660_4c4de365","updated":"2023-05-09 07:04:11.000000000","message":"I agree that direct_url shouldn\u0027t be a part of the response and will remove it. On the other hand, the consumer will be passing the location info so it would be good to return the location data to confirm if right values were registered/could be useful if consumer makes use of this info in future. Also this is a one time response and won\u0027t be reflected in the image get API.","commit_id":"c4d7570fd58817a5beeaf0d3d051d5666ef55264"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1fd092da7c1c28f43ca08d5a3c99541c382d4c1e","unresolved":true,"context_lines":[{"line_number":235,"context_line":"              \"os_hash_algo\": \"sha512\","},{"line_number":236,"context_line":"              \"os_hash_value\": \"6b813aa46bb90b4da216a4d19376593fa3f4fc7e617f03a92b7fe11e9a3981cbe8f0959dbebe36225e5f53dc4492341a4863cac4ed1ee0909f3fc78ef9c3e869\","},{"line_number":237,"context_line":"              \"stores\": \"lvmdriver-1\","},{"line_number":238,"context_line":"              \"locations\": ["},{"line_number":239,"context_line":"                {"},{"line_number":240,"context_line":"                  \"url\": \"cinder://lvmdriver-1/1a304872-b0ca-4992-b2c2-6874c6d5d5f9\","},{"line_number":241,"context_line":"                  \"metadata\": {"},{"line_number":242,"context_line":"                    \"store\": \"lvmdriver-1\""},{"line_number":243,"context_line":"                  }"},{"line_number":244,"context_line":"                }"},{"line_number":245,"context_line":"              ],"},{"line_number":246,"context_line":"              \"direct_url\": \"cinder://lvmdriver-1/1a304872-b0ca-4992-b2c2-6874c6d5d5f9\""},{"line_number":247,"context_line":"            },"},{"line_number":248,"context_line":"            \"protected\": false,"},{"line_number":249,"context_line":"            \"schema\": \"/v2/schemas/image\","},{"line_number":250,"context_line":"            \"size\": 16300544,"}],"source_content_type":"text/x-rst","patch_set":8,"id":"d083be32_421ccc9c","line":247,"range":{"start_line":238,"start_character":0,"end_line":247,"end_character":14},"in_reply_to":"b1d76df0_5798ed0f","updated":"2023-05-09 07:08:44.000000000","message":"We can have store_name property populated from loaction metadata to the separate image property (same thing we do with get image call as well)","commit_id":"c4d7570fd58817a5beeaf0d3d051d5666ef55264"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"b5542c02217aa4797789c1443974ae4758911431","unresolved":false,"context_lines":[{"line_number":235,"context_line":"              \"os_hash_algo\": \"sha512\","},{"line_number":236,"context_line":"              \"os_hash_value\": \"6b813aa46bb90b4da216a4d19376593fa3f4fc7e617f03a92b7fe11e9a3981cbe8f0959dbebe36225e5f53dc4492341a4863cac4ed1ee0909f3fc78ef9c3e869\","},{"line_number":237,"context_line":"              \"stores\": \"lvmdriver-1\","},{"line_number":238,"context_line":"              \"locations\": ["},{"line_number":239,"context_line":"                {"},{"line_number":240,"context_line":"                  \"url\": \"cinder://lvmdriver-1/1a304872-b0ca-4992-b2c2-6874c6d5d5f9\","},{"line_number":241,"context_line":"                  \"metadata\": {"},{"line_number":242,"context_line":"                    \"store\": \"lvmdriver-1\""},{"line_number":243,"context_line":"                  }"},{"line_number":244,"context_line":"                }"},{"line_number":245,"context_line":"              ],"},{"line_number":246,"context_line":"              \"direct_url\": \"cinder://lvmdriver-1/1a304872-b0ca-4992-b2c2-6874c6d5d5f9\""},{"line_number":247,"context_line":"            },"},{"line_number":248,"context_line":"            \"protected\": false,"},{"line_number":249,"context_line":"            \"schema\": \"/v2/schemas/image\","},{"line_number":250,"context_line":"            \"size\": 16300544,"}],"source_content_type":"text/x-rst","patch_set":8,"id":"53d1907f_66eab005","line":247,"range":{"start_line":238,"start_character":0,"end_line":247,"end_character":14},"in_reply_to":"d083be32_421ccc9c","updated":"2023-05-09 08:35:17.000000000","message":"Ack, sounds good. Done.","commit_id":"c4d7570fd58817a5beeaf0d3d051d5666ef55264"}]}
