)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"aebf57975dab247ed1115d51005af5852014d833","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a17ed361_52e5abd9","updated":"2023-08-14 11:55:48.000000000","message":"Thanks Stephen !","commit_id":"84ee860ae96b7319bf518fe3de452585f925e434"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"08731679_03814efe","updated":"2023-08-30 10:40:53.000000000","message":"Thanks for the review !!","commit_id":"83901a1f68ed0717431ed8fe763fdde8be26fc91"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c4df0e150188d1e984a36e4779e1fb439151de4d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"b44a0bf9_f7bff6e0","updated":"2023-09-04 09:24:23.000000000","message":"looks like the patchset was updated before i could post my comments. please update the comments respectively if they are still relevant to the latest PS.","commit_id":"139164559db9118b8b8f9a18bbc2e0d4dcf60d35"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"8bc3b63db85ec642254e7f120cba3979e1f5e410","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"be68cb89_c5318823","updated":"2024-02-13 02:59:50.000000000","message":"Nitpicking a bit, if no new patchset is needed I\u0027ll convert this to +2/+1.","commit_id":"c36fbd89522d56a78a94916d3a51865b53ce0501"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1314ee55793a8ff49917b415bc72ae74b9cced01","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":44,"id":"3ab104f3_16a469a6","updated":"2024-02-28 10:30:23.000000000","message":"Looks good, thank you!","commit_id":"e3bff117b080f68ab534919251d2098002dcfbba"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e6bc3746460f125bced1279d6c24176c94c17793","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":66,"id":"c2b53703_b2f5ef4e","updated":"2024-07-25 14:00:04.000000000","message":"Few suggestions inside","commit_id":"ceaa46dde84a92843298dbbacee169943deff1ef"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"bdeeae39884374e85340eaf45a6112103ee1b419","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":67,"id":"3da0ebc9_3680c704","updated":"2024-07-26 06:45:01.000000000","message":"Thank you !","commit_id":"cedf499e86573640f3ec6c8519a66afff6b50c93"}],"api-ref/source/v2/images-images-v2.inc":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"db00857a267881015f6d3baefe6a7680d21af1a9","unresolved":true,"context_lines":[{"line_number":783,"context_line":""},{"line_number":784,"context_line":".. rest_method::  POST /v2/images/{image_id}/locations"},{"line_number":785,"context_line":""},{"line_number":786,"context_line":"Add location to an image which is in ``queued`` state accepts"},{"line_number":787,"context_line":"location url, do_secure_hash and validation_data in JSON body."},{"line_number":788,"context_line":""},{"line_number":789,"context_line":"Adding a location to an image is only allowed for the owner or"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"e0a092ac_e906d6fe","line":786,"range":{"start_line":786,"start_character":54,"end_line":786,"end_character":61},"updated":"2023-08-17 16:11:55.000000000","message":"I think you forgot a dot: \"state. Accepts...\"","commit_id":"b7cfbe4d651f52aa25916fc7a887ea0beac95d93"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"1a402212bb99144cce7eeea5366efb9e020e9ed9","unresolved":false,"context_lines":[{"line_number":783,"context_line":""},{"line_number":784,"context_line":".. rest_method::  POST /v2/images/{image_id}/locations"},{"line_number":785,"context_line":""},{"line_number":786,"context_line":"Add location to an image which is in ``queued`` state accepts"},{"line_number":787,"context_line":"location url, do_secure_hash and validation_data in JSON body."},{"line_number":788,"context_line":""},{"line_number":789,"context_line":"Adding a location to an image is only allowed for the owner or"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"262a2923_6a5823ad","line":786,"range":{"start_line":786,"start_character":54,"end_line":786,"end_character":61},"in_reply_to":"e0a092ac_e906d6fe","updated":"2023-08-20 12:21:51.000000000","message":"Done","commit_id":"b7cfbe4d651f52aa25916fc7a887ea0beac95d93"}],"api-ref/source/v2/images-parameters.yaml":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"db00857a267881015f6d3baefe6a7680d21af1a9","unresolved":true,"context_lines":[{"line_number":708,"context_line":"  type: string"},{"line_number":709,"context_line":"validation-data:"},{"line_number":710,"context_line":"  description: |"},{"line_number":711,"context_line":"    A image metadata in key:value pairs containing values of"},{"line_number":712,"context_line":"    ``os_hash_value`` and ``os_hash_algo`` to be added to the image."},{"line_number":713,"context_line":"    If ``do_secure_hash`` is not passed then it is the responsiblity of"},{"line_number":714,"context_line":"    the consumer of location add API to provide the correct values in"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"a9850ce8_b0d0db85","line":711,"range":{"start_line":711,"start_character":5,"end_line":711,"end_character":6},"updated":"2023-08-17 16:11:55.000000000","message":"An image*","commit_id":"b7cfbe4d651f52aa25916fc7a887ea0beac95d93"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"1a402212bb99144cce7eeea5366efb9e020e9ed9","unresolved":false,"context_lines":[{"line_number":708,"context_line":"  type: string"},{"line_number":709,"context_line":"validation-data:"},{"line_number":710,"context_line":"  description: |"},{"line_number":711,"context_line":"    A image metadata in key:value pairs containing values of"},{"line_number":712,"context_line":"    ``os_hash_value`` and ``os_hash_algo`` to be added to the image."},{"line_number":713,"context_line":"    If ``do_secure_hash`` is not passed then it is the responsiblity of"},{"line_number":714,"context_line":"    the consumer of location add API to provide the correct values in"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"680ce5f8_fd26f4c5","line":711,"range":{"start_line":711,"start_character":5,"end_line":711,"end_character":6},"in_reply_to":"a9850ce8_b0d0db85","updated":"2023-08-20 12:21:51.000000000","message":"Done","commit_id":"b7cfbe4d651f52aa25916fc7a887ea0beac95d93"}],"api-ref/source/v2/samples/add-location-request.json":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f2ea11484080e970fda372f281ac74e250187cf6","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"url\": \"cinder://lvmdriver-1/39e6ffab-7502-4199-9609-416601615ca3\","},{"line_number":3,"context_line":"    \"validation_data\": {"},{"line_number":4,"context_line":"\t    \"os_hash_algo\": \"sha512\","},{"line_number":5,"context_line":"\t    \"os_hash_value\": \"c5041ae163cf0f65600acfe7f6a63f212101687d41a57a4e18ffd2a07a452cd8175b8f5a4868dd2330bfe5ae123f18216bdbc9e0f80d131e64b94913a7b40bb5\""},{"line_number":6,"context_line":"    }"},{"line_number":7,"context_line":"}"}],"source_content_type":"application/json","patch_set":3,"id":"1dfd0fd8_b53019a6","line":4,"range":{"start_line":4,"start_character":0,"end_line":4,"end_character":1},"updated":"2023-08-10 10:23:20.000000000","message":"nit: tabs?","commit_id":"ac2baf9b288de76401fafc49df5a6792dec469dc"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"aebf57975dab247ed1115d51005af5852014d833","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"url\": \"cinder://lvmdriver-1/39e6ffab-7502-4199-9609-416601615ca3\","},{"line_number":3,"context_line":"    \"validation_data\": {"},{"line_number":4,"context_line":"\t    \"os_hash_algo\": \"sha512\","},{"line_number":5,"context_line":"\t    \"os_hash_value\": \"c5041ae163cf0f65600acfe7f6a63f212101687d41a57a4e18ffd2a07a452cd8175b8f5a4868dd2330bfe5ae123f18216bdbc9e0f80d131e64b94913a7b40bb5\""},{"line_number":6,"context_line":"    }"},{"line_number":7,"context_line":"}"}],"source_content_type":"application/json","patch_set":3,"id":"1ab46dcc_175eeb4e","line":4,"range":{"start_line":4,"start_character":0,"end_line":4,"end_character":1},"in_reply_to":"1dfd0fd8_b53019a6","updated":"2023-08-14 11:55:48.000000000","message":"Done","commit_id":"ac2baf9b288de76401fafc49df5a6792dec469dc"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"db00857a267881015f6d3baefe6a7680d21af1a9","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"url\": \"cinder://lvmdriver-1/39e6ffab-7502-4199-9609-416601615ca3\","},{"line_number":3,"context_line":"    \"validation_data\": {"},{"line_number":4,"context_line":"        \"os_hash_algo\": \"sha512\","},{"line_number":5,"context_line":"        \"os_hash_value\": \"c5041ae163cf0f65600acfe7f6a63f212101687d41a57a4e18ffd2a07a452cd8175b8f5a4868dd2330bfe5ae123f18216bdbc9e0f80d131e64b94913a7b40bb5\""}],"source_content_type":"application/json","patch_set":5,"id":"675efa69_b1866dd9","line":2,"range":{"start_line":2,"start_character":5,"end_line":2,"end_character":8},"updated":"2023-08-17 16:11:55.000000000","message":"Could we add an example of using do_secure_hash here?","commit_id":"b7cfbe4d651f52aa25916fc7a887ea0beac95d93"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"1a402212bb99144cce7eeea5366efb9e020e9ed9","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"url\": \"cinder://lvmdriver-1/39e6ffab-7502-4199-9609-416601615ca3\","},{"line_number":3,"context_line":"    \"validation_data\": {"},{"line_number":4,"context_line":"        \"os_hash_algo\": \"sha512\","},{"line_number":5,"context_line":"        \"os_hash_value\": \"c5041ae163cf0f65600acfe7f6a63f212101687d41a57a4e18ffd2a07a452cd8175b8f5a4868dd2330bfe5ae123f18216bdbc9e0f80d131e64b94913a7b40bb5\""}],"source_content_type":"application/json","patch_set":5,"id":"773d3e78_b5c4fcb8","line":2,"range":{"start_line":2,"start_character":5,"end_line":2,"end_character":8},"in_reply_to":"675efa69_b1866dd9","updated":"2023-08-20 12:21:51.000000000","message":"This could be also the ex of do_secure_hash since we don\u0027t pass anything else in the request when this option is enabled in the conf file.","commit_id":"b7cfbe4d651f52aa25916fc7a887ea0beac95d93"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3ea3b06d3af990b9ad40747f0d41e6e6108c348f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"url\": \"cinder://lvmdriver-1/39e6ffab-7502-4199-9609-416601615ca3\","},{"line_number":3,"context_line":"    \"validation_data\": {"},{"line_number":4,"context_line":"        \"os_hash_algo\": \"sha512\","},{"line_number":5,"context_line":"        \"os_hash_value\": \"c5041ae163cf0f65600acfe7f6a63f212101687d41a57a4e18ffd2a07a452cd8175b8f5a4868dd2330bfe5ae123f18216bdbc9e0f80d131e64b94913a7b40bb5\""}],"source_content_type":"application/json","patch_set":5,"id":"22d452da_fa9afa18","line":2,"range":{"start_line":2,"start_character":5,"end_line":2,"end_character":8},"in_reply_to":"773d3e78_b5c4fcb8","updated":"2023-08-29 18:41:50.000000000","message":"Done","commit_id":"b7cfbe4d651f52aa25916fc7a887ea0beac95d93"}],"api-ref/source/v2/samples/locations-list-detail-response.json":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f2ea11484080e970fda372f281ac74e250187cf6","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"86fd5d74_6d4f7247","line":7,"updated":"2023-08-10 10:23:20.000000000","message":"Would it make sense to pretty this? You can do it with Python, fwiw.\n\n```\ncat api-ref/source/v2/samples/locations-list-detail-response.json | python -m json.tool\n```","commit_id":"ac2baf9b288de76401fafc49df5a6792dec469dc"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"aebf57975dab247ed1115d51005af5852014d833","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d38004db_5222b4a9","line":7,"in_reply_to":"86fd5d74_6d4f7247","updated":"2023-08-14 11:55:48.000000000","message":"Done","commit_id":"ac2baf9b288de76401fafc49df5a6792dec469dc"}],"doc/source/admin/new-location-apis.rst":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8070c4f97c194850585d1bd8e809ee72dbd5fc4a","unresolved":true,"context_lines":[{"line_number":20,"context_line":"which mitigate the security issues"},{"line_number":21,"context_line":"`OSSN-0090 \u003chttps://wiki.openstack.org/wiki/OSSN/OSSN-0090\u003e`_ and"},{"line_number":22,"context_line":"`OSSN-0065 \u003chttps://wiki.openstack.org/wiki/OSSN/OSSN-0065\u003e`_."},{"line_number":23,"context_line":"These new location api calls replace the image-update mechanism for consumers"},{"line_number":24,"context_line":"like cinder and nova."},{"line_number":25,"context_line":"Below are the 2 new locations api glance has introduced,"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"bcdbb80b_eaff734d","line":23,"updated":"2023-08-24 14:42:42.000000000","message":"will replace","commit_id":"c6a3644d1bcb316f95875ee3d071fcb72d3916f8"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"54d25212454af147f65aac8ac7bcf19cb4437f6f","unresolved":false,"context_lines":[{"line_number":20,"context_line":"which mitigate the security issues"},{"line_number":21,"context_line":"`OSSN-0090 \u003chttps://wiki.openstack.org/wiki/OSSN/OSSN-0090\u003e`_ and"},{"line_number":22,"context_line":"`OSSN-0065 \u003chttps://wiki.openstack.org/wiki/OSSN/OSSN-0065\u003e`_."},{"line_number":23,"context_line":"These new location api calls replace the image-update mechanism for consumers"},{"line_number":24,"context_line":"like cinder and nova."},{"line_number":25,"context_line":"Below are the 2 new locations api glance has introduced,"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"c4a4bcb5_ca493e29","line":23,"in_reply_to":"bcdbb80b_eaff734d","updated":"2023-08-25 17:46:51.000000000","message":"Done","commit_id":"c6a3644d1bcb316f95875ee3d071fcb72d3916f8"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8070c4f97c194850585d1bd8e809ee72dbd5fc4a","unresolved":true,"context_lines":[{"line_number":51,"context_line":"         project_id:%(project_id)s)\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Location add operation will be async operation hence the response of"},{"line_number":55,"context_line":"this api call will be an image in ``queued`` state. The new task flow,"},{"line_number":56,"context_line":"``location_import`` is introduced to handle the background operations"},{"line_number":57,"context_line":"for this api. Below will be the image status transitions based on the"},{"line_number":58,"context_line":"API request parameters."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* If ``do_secure_hash`` is False(explained in below"},{"line_number":61,"context_line":"  ``Configuration options for the Add Location API`` section) and"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f6ee99b_7151035c","line":58,"range":{"start_line":54,"start_character":0,"end_line":58,"end_character":23},"updated":"2023-08-24 14:42:42.000000000","message":"This is not required, you can directly explain like this API uses two newly added configuration options and explain it further.","commit_id":"c6a3644d1bcb316f95875ee3d071fcb72d3916f8"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"a9dd21afb9d9692bdd4d9125baa38d3073c2100e","unresolved":false,"context_lines":[{"line_number":51,"context_line":"         project_id:%(project_id)s)\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Location add operation will be async operation hence the response of"},{"line_number":55,"context_line":"this api call will be an image in ``queued`` state. The new task flow,"},{"line_number":56,"context_line":"``location_import`` is introduced to handle the background operations"},{"line_number":57,"context_line":"for this api. Below will be the image status transitions based on the"},{"line_number":58,"context_line":"API request parameters."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* If ``do_secure_hash`` is False(explained in below"},{"line_number":61,"context_line":"  ``Configuration options for the Add Location API`` section) and"}],"source_content_type":"text/x-rst","patch_set":8,"id":"dece2442_c38f5d63","line":58,"range":{"start_line":54,"start_character":0,"end_line":58,"end_character":23},"in_reply_to":"7f6ee99b_7151035c","updated":"2023-08-25 17:46:13.000000000","message":"Done","commit_id":"c6a3644d1bcb316f95875ee3d071fcb72d3916f8"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8070c4f97c194850585d1bd8e809ee72dbd5fc4a","unresolved":true,"context_lines":[{"line_number":57,"context_line":"for this api. Below will be the image status transitions based on the"},{"line_number":58,"context_line":"API request parameters."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* If ``do_secure_hash`` is False(explained in below"},{"line_number":61,"context_line":"  ``Configuration options for the Add Location API`` section) and"},{"line_number":62,"context_line":"  validation_data is not provided by the user, image will be in ``active``"},{"line_number":63,"context_line":"  state after adding the location."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* If ``do_secure_hash`` is False and validation_data is provided by the user,"},{"line_number":66,"context_line":"  image will be in ``active`` state after adding the location and setting up"},{"line_number":67,"context_line":"  the hash values provided in validation_data."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* If ``do_secure_hash`` is True and validation_data is not provided by the"},{"line_number":70,"context_line":"  user, image will be in ``active`` state even if the hash calculation is"},{"line_number":71,"context_line":"  ongoing. But values of ``checksum``, ``os_hash_value`` will be None until"},{"line_number":72,"context_line":"  the hash calculation finishes except ``os_hash_algo`` value. Once the hash"},{"line_number":73,"context_line":"  calculation is completed, these hash values will be updated. Incase of"},{"line_number":74,"context_line":"  hash calulation failure, value ``os_hash_algo`` will be set back"},{"line_number":75,"context_line":"  to ``None`` and image status will be reverted back to ``queued`` state."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"* If ``do_secure_hash`` is True and validation_data is provided by the user,"},{"line_number":78,"context_line":"  image will be in ``importing`` since the hash calculation will be ongoing."},{"line_number":79,"context_line":"  But values of ``checksum``, ``os_hash_value`` will be None until the"},{"line_number":80,"context_line":"  hash calculation is completed and hash values provided in validatio_data"},{"line_number":81,"context_line":"  will be verified with the newly calculated hash."},{"line_number":82,"context_line":"  ``os_hash_algo`` value will be set when image status is ``importing``."},{"line_number":83,"context_line":"  Once the hash calculation is completed and verification of validation_data"},{"line_number":84,"context_line":"  is done, these properties will be updated and image will become ``active``."},{"line_number":85,"context_line":"  Incase of failure, value ``os_hash_algo`` will be set back"},{"line_number":86,"context_line":"  to ``None`` and image status will be reverted back to ``queued`` state."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Configuration options for the Add Location API"},{"line_number":89,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":8,"id":"f746af6a_408530f7","line":86,"range":{"start_line":60,"start_character":0,"end_line":86,"end_character":73},"updated":"2023-08-24 14:42:42.000000000","message":"There should be generic explanation of how this API will behave.\n\nyou should explain why we decided to calculate hash and checksum 1st for this API and then how based on do_secure_hash it will be calcualted in the background and image will set to active or importing accordingly.","commit_id":"c6a3644d1bcb316f95875ee3d071fcb72d3916f8"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"a9dd21afb9d9692bdd4d9125baa38d3073c2100e","unresolved":false,"context_lines":[{"line_number":57,"context_line":"for this api. Below will be the image status transitions based on the"},{"line_number":58,"context_line":"API request parameters."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* If ``do_secure_hash`` is False(explained in below"},{"line_number":61,"context_line":"  ``Configuration options for the Add Location API`` section) and"},{"line_number":62,"context_line":"  validation_data is not provided by the user, image will be in ``active``"},{"line_number":63,"context_line":"  state after adding the location."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* If ``do_secure_hash`` is False and validation_data is provided by the user,"},{"line_number":66,"context_line":"  image will be in ``active`` state after adding the location and setting up"},{"line_number":67,"context_line":"  the hash values provided in validation_data."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* If ``do_secure_hash`` is True and validation_data is not provided by the"},{"line_number":70,"context_line":"  user, image will be in ``active`` state even if the hash calculation is"},{"line_number":71,"context_line":"  ongoing. But values of ``checksum``, ``os_hash_value`` will be None until"},{"line_number":72,"context_line":"  the hash calculation finishes except ``os_hash_algo`` value. Once the hash"},{"line_number":73,"context_line":"  calculation is completed, these hash values will be updated. Incase of"},{"line_number":74,"context_line":"  hash calulation failure, value ``os_hash_algo`` will be set back"},{"line_number":75,"context_line":"  to ``None`` and image status will be reverted back to ``queued`` state."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"* If ``do_secure_hash`` is True and validation_data is provided by the user,"},{"line_number":78,"context_line":"  image will be in ``importing`` since the hash calculation will be ongoing."},{"line_number":79,"context_line":"  But values of ``checksum``, ``os_hash_value`` will be None until the"},{"line_number":80,"context_line":"  hash calculation is completed and hash values provided in validatio_data"},{"line_number":81,"context_line":"  will be verified with the newly calculated hash."},{"line_number":82,"context_line":"  ``os_hash_algo`` value will be set when image status is ``importing``."},{"line_number":83,"context_line":"  Once the hash calculation is completed and verification of validation_data"},{"line_number":84,"context_line":"  is done, these properties will be updated and image will become ``active``."},{"line_number":85,"context_line":"  Incase of failure, value ``os_hash_algo`` will be set back"},{"line_number":86,"context_line":"  to ``None`` and image status will be reverted back to ``queued`` state."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Configuration options for the Add Location API"},{"line_number":89,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":8,"id":"06699808_2a7b87ba","line":86,"range":{"start_line":60,"start_character":0,"end_line":86,"end_character":73},"in_reply_to":"f746af6a_408530f7","updated":"2023-08-25 17:46:13.000000000","message":"Done","commit_id":"c6a3644d1bcb316f95875ee3d071fcb72d3916f8"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8070c4f97c194850585d1bd8e809ee72dbd5fc4a","unresolved":true,"context_lines":[{"line_number":85,"context_line":"  Incase of failure, value ``os_hash_algo`` will be set back"},{"line_number":86,"context_line":"  to ``None`` and image status will be reverted back to ``queued`` state."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Configuration options for the Add Location API"},{"line_number":89,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"In this section, we discuss what configuration options are available while"},{"line_number":92,"context_line":"using new add location api."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"- ``do_secure_hash`` in ``glance-api.conf`` This configuration option"},{"line_number":95,"context_line":"  indicates that Add Location API will calculate hash and checksum of the"},{"line_number":96,"context_line":"  image on the fly. If False it will silently ignore the hash and checksum"},{"line_number":97,"context_line":"  calculation. This will be useful in case of consumers like nova, cinder etc,"},{"line_number":98,"context_line":"  add a location in glance since glance does not calculate the hash and"},{"line_number":99,"context_line":"  checksum automatically. The value of ``do_secure_hash`` is ``True``"},{"line_number":100,"context_line":"  by default."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"- ``http_retries`` in ``glance-api.conf`` This retry options indicates number"},{"line_number":103,"context_line":"  of times to retry when any operation fails. At this moment it is being used"},{"line_number":104,"context_line":"  during hash calculation failure."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Get Locations"}],"source_content_type":"text/x-rst","patch_set":8,"id":"6a5e9029_9b3c8f32","line":104,"range":{"start_line":88,"start_character":0,"end_line":104,"end_character":34},"updated":"2023-08-24 14:42:42.000000000","message":"This is not required imo","commit_id":"c6a3644d1bcb316f95875ee3d071fcb72d3916f8"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"a9dd21afb9d9692bdd4d9125baa38d3073c2100e","unresolved":false,"context_lines":[{"line_number":85,"context_line":"  Incase of failure, value ``os_hash_algo`` will be set back"},{"line_number":86,"context_line":"  to ``None`` and image status will be reverted back to ``queued`` state."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Configuration options for the Add Location API"},{"line_number":89,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"In this section, we discuss what configuration options are available while"},{"line_number":92,"context_line":"using new add location api."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"- ``do_secure_hash`` in ``glance-api.conf`` This configuration option"},{"line_number":95,"context_line":"  indicates that Add Location API will calculate hash and checksum of the"},{"line_number":96,"context_line":"  image on the fly. If False it will silently ignore the hash and checksum"},{"line_number":97,"context_line":"  calculation. This will be useful in case of consumers like nova, cinder etc,"},{"line_number":98,"context_line":"  add a location in glance since glance does not calculate the hash and"},{"line_number":99,"context_line":"  checksum automatically. The value of ``do_secure_hash`` is ``True``"},{"line_number":100,"context_line":"  by default."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"- ``http_retries`` in ``glance-api.conf`` This retry options indicates number"},{"line_number":103,"context_line":"  of times to retry when any operation fails. At this moment it is being used"},{"line_number":104,"context_line":"  during hash calculation failure."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Get Locations"}],"source_content_type":"text/x-rst","patch_set":8,"id":"cc0b2dec_06358fc3","line":104,"range":{"start_line":88,"start_character":0,"end_line":104,"end_character":34},"in_reply_to":"6a5e9029_9b3c8f32","updated":"2023-08-25 17:46:13.000000000","message":"Done","commit_id":"c6a3644d1bcb316f95875ee3d071fcb72d3916f8"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8070c4f97c194850585d1bd8e809ee72dbd5fc4a","unresolved":true,"context_lines":[{"line_number":113,"context_line":"Get locations operation is strictly allowed for service users only, meaning"},{"line_number":114,"context_line":"only consumers like nova, cinder etc will be able to access this api."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"These API call and the workflow for using it, is described in the"},{"line_number":117,"context_line":"`Get Locations`_ section of the `Image Service API reference`_."},{"line_number":118,"context_line":"This will return the list of the locations associated to the image."},{"line_number":119,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"103f4951_2520769f","line":116,"range":{"start_line":116,"start_character":0,"end_line":116,"end_character":5},"updated":"2023-08-24 14:42:42.000000000","message":"this","commit_id":"c6a3644d1bcb316f95875ee3d071fcb72d3916f8"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"a9dd21afb9d9692bdd4d9125baa38d3073c2100e","unresolved":false,"context_lines":[{"line_number":113,"context_line":"Get locations operation is strictly allowed for service users only, meaning"},{"line_number":114,"context_line":"only consumers like nova, cinder etc will be able to access this api."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"These API call and the workflow for using it, is described in the"},{"line_number":117,"context_line":"`Get Locations`_ section of the `Image Service API reference`_."},{"line_number":118,"context_line":"This will return the list of the locations associated to the image."},{"line_number":119,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"c697b1a9_8a797946","line":116,"range":{"start_line":116,"start_character":0,"end_line":116,"end_character":5},"in_reply_to":"103f4951_2520769f","updated":"2023-08-25 17:46:13.000000000","message":"Done","commit_id":"c6a3644d1bcb316f95875ee3d071fcb72d3916f8"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d8f0c34d4038f446a96a38f70cba68ae5600c1bd","unresolved":true,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"      Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":3,"context_line":"      not use this file except in compliance with the License. You may obtain"},{"line_number":4,"context_line":"      a copy of the License at"}],"source_content_type":"text/x-rst","patch_set":10,"id":"cb8dc565_bdbad77f","line":1,"updated":"2023-08-28 07:41:59.000000000","message":"Copyright statement","commit_id":"3777ec966a22a4260d226c4da3b64c26fce690fc"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"31aef45302616bb8ba4ada0362247eb79b22ce40","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"      Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":3,"context_line":"      not use this file except in compliance with the License. You may obtain"},{"line_number":4,"context_line":"      a copy of the License at"}],"source_content_type":"text/x-rst","patch_set":10,"id":"e89c5703_3fd39711","line":1,"in_reply_to":"cb8dc565_bdbad77f","updated":"2023-08-28 14:33:16.000000000","message":"Done","commit_id":"3777ec966a22a4260d226c4da3b64c26fce690fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d8f0c34d4038f446a96a38f70cba68ae5600c1bd","unresolved":true,"context_lines":[{"line_number":36,"context_line":"users from modifying the image location again and again since the location"},{"line_number":37,"context_line":"added for the first time is the correct one as far as Glance is concerned."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":".. note:: No one other than the HTTP store case can add new location without"},{"line_number":40,"context_line":"          \u0027service\u0027 role."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"This API call and the workflow for using it, is described in the"},{"line_number":43,"context_line":"`Add Location`_ section of the `Image Service API reference`_."}],"source_content_type":"text/x-rst","patch_set":10,"id":"3ae07e00_b70c1ce9","line":40,"range":{"start_line":39,"start_character":0,"end_line":40,"end_character":25},"updated":"2023-08-28 07:41:59.000000000","message":"Something like this?\n\nImage owner can be allowed to use this API only if http support is enabled in deployment","commit_id":"3777ec966a22a4260d226c4da3b64c26fce690fc"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"31aef45302616bb8ba4ada0362247eb79b22ce40","unresolved":false,"context_lines":[{"line_number":36,"context_line":"users from modifying the image location again and again since the location"},{"line_number":37,"context_line":"added for the first time is the correct one as far as Glance is concerned."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":".. note:: No one other than the HTTP store case can add new location without"},{"line_number":40,"context_line":"          \u0027service\u0027 role."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"This API call and the workflow for using it, is described in the"},{"line_number":43,"context_line":"`Add Location`_ section of the `Image Service API reference`_."}],"source_content_type":"text/x-rst","patch_set":10,"id":"6c1128a4_5c009157","line":40,"range":{"start_line":39,"start_character":0,"end_line":40,"end_character":25},"in_reply_to":"3ae07e00_b70c1ce9","updated":"2023-08-28 14:33:16.000000000","message":"Done","commit_id":"3777ec966a22a4260d226c4da3b64c26fce690fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d8f0c34d4038f446a96a38f70cba68ae5600c1bd","unresolved":true,"context_lines":[{"line_number":39,"context_line":".. note:: No one other than the HTTP store case can add new location without"},{"line_number":40,"context_line":"          \u0027service\u0027 role."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"This API call and the workflow for using it, is described in the"},{"line_number":43,"context_line":"`Add Location`_ section of the `Image Service API reference`_."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"To allow only service users and image owner to add the image location call,"},{"line_number":46,"context_line":"the policy could be restricted as follows:"}],"source_content_type":"text/x-rst","patch_set":10,"id":"99192343_54cb22db","line":43,"range":{"start_line":42,"start_character":0,"end_line":43,"end_character":62},"updated":"2023-08-28 07:41:59.000000000","message":"not required","commit_id":"3777ec966a22a4260d226c4da3b64c26fce690fc"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"a05effe845dac6393a7d3c74a12652c6a1877b0a","unresolved":false,"context_lines":[{"line_number":39,"context_line":".. note:: No one other than the HTTP store case can add new location without"},{"line_number":40,"context_line":"          \u0027service\u0027 role."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"This API call and the workflow for using it, is described in the"},{"line_number":43,"context_line":"`Add Location`_ section of the `Image Service API reference`_."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"To allow only service users and image owner to add the image location call,"},{"line_number":46,"context_line":"the policy could be restricted as follows:"}],"source_content_type":"text/x-rst","patch_set":10,"id":"bbcfe660_18e0b979","line":43,"range":{"start_line":42,"start_character":0,"end_line":43,"end_character":62},"in_reply_to":"89b09819_9555960d","updated":"2023-08-29 14:21:54.000000000","message":"Done","commit_id":"3777ec966a22a4260d226c4da3b64c26fce690fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3873c8a4388f72f0fa5f4ed21d2d5abccddc9603","unresolved":true,"context_lines":[{"line_number":39,"context_line":".. note:: No one other than the HTTP store case can add new location without"},{"line_number":40,"context_line":"          \u0027service\u0027 role."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"This API call and the workflow for using it, is described in the"},{"line_number":43,"context_line":"`Add Location`_ section of the `Image Service API reference`_."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"To allow only service users and image owner to add the image location call,"},{"line_number":46,"context_line":"the policy could be restricted as follows:"}],"source_content_type":"text/x-rst","patch_set":10,"id":"89b09819_9555960d","line":43,"range":{"start_line":42,"start_character":0,"end_line":43,"end_character":62},"in_reply_to":"9532e5db_7d95ae81","updated":"2023-08-29 10:01:53.000000000","message":"in api reference guide we are not explaining workflow, just the api call, input parameters and response we get.","commit_id":"3777ec966a22a4260d226c4da3b64c26fce690fc"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"31aef45302616bb8ba4ada0362247eb79b22ce40","unresolved":true,"context_lines":[{"line_number":39,"context_line":".. note:: No one other than the HTTP store case can add new location without"},{"line_number":40,"context_line":"          \u0027service\u0027 role."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"This API call and the workflow for using it, is described in the"},{"line_number":43,"context_line":"`Add Location`_ section of the `Image Service API reference`_."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"To allow only service users and image owner to add the image location call,"},{"line_number":46,"context_line":"the policy could be restricted as follows:"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9532e5db_7d95ae81","line":43,"range":{"start_line":42,"start_character":0,"end_line":43,"end_character":62},"in_reply_to":"99192343_54cb22db","updated":"2023-08-28 14:33:16.000000000","message":"ohh why not required? it will be helpful to the details of api from this reference i think.","commit_id":"3777ec966a22a4260d226c4da3b64c26fce690fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d8f0c34d4038f446a96a38f70cba68ae5600c1bd","unresolved":true,"context_lines":[{"line_number":42,"context_line":"This API call and the workflow for using it, is described in the"},{"line_number":43,"context_line":"`Add Location`_ section of the `Image Service API reference`_."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"To allow only service users and image owner to add the image location call,"},{"line_number":46,"context_line":"the policy could be restricted as follows:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"   .. code-block:: text"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"      \"add_image_location\": \"role:service or (role:member and"},{"line_number":51,"context_line":"         project_id:%(project_id)s)\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The new configuration parameter ``do_secure_hash`` has been introduced"},{"line_number":54,"context_line":"in ``glance-api.conf`` which will tell the API whether to do the hash"}],"source_content_type":"text/x-rst","patch_set":10,"id":"13b6c217_2a2af5f5","line":51,"range":{"start_line":45,"start_character":0,"end_line":51,"end_character":36},"updated":"2023-08-28 07:41:59.000000000","message":"not required","commit_id":"3777ec966a22a4260d226c4da3b64c26fce690fc"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"31aef45302616bb8ba4ada0362247eb79b22ce40","unresolved":false,"context_lines":[{"line_number":42,"context_line":"This API call and the workflow for using it, is described in the"},{"line_number":43,"context_line":"`Add Location`_ section of the `Image Service API reference`_."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"To allow only service users and image owner to add the image location call,"},{"line_number":46,"context_line":"the policy could be restricted as follows:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"   .. code-block:: text"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"      \"add_image_location\": \"role:service or (role:member and"},{"line_number":51,"context_line":"         project_id:%(project_id)s)\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The new configuration parameter ``do_secure_hash`` has been introduced"},{"line_number":54,"context_line":"in ``glance-api.conf`` which will tell the API whether to do the hash"}],"source_content_type":"text/x-rst","patch_set":10,"id":"774a1047_5a39030a","line":51,"range":{"start_line":45,"start_character":0,"end_line":51,"end_character":36},"in_reply_to":"13b6c217_2a2af5f5","updated":"2023-08-28 14:33:16.000000000","message":"Done","commit_id":"3777ec966a22a4260d226c4da3b64c26fce690fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d8f0c34d4038f446a96a38f70cba68ae5600c1bd","unresolved":true,"context_lines":[{"line_number":50,"context_line":"      \"add_image_location\": \"role:service or (role:member and"},{"line_number":51,"context_line":"         project_id:%(project_id)s)\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The new configuration parameter ``do_secure_hash`` has been introduced"},{"line_number":54,"context_line":"in ``glance-api.conf`` which will tell the API whether to do the hash"},{"line_number":55,"context_line":"calculation or not. This is useful in cases when nova, cinder etc, adds"},{"line_number":56,"context_line":"a location in glance since glance does not calculate the hash and checksum"},{"line_number":57,"context_line":"automatically. The value of ``do_secure_hash`` will be ``True`` by default."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Below will be the image status transitions based on the value of"},{"line_number":60,"context_line":"``do_secure_hash``."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* If ``do_secure_hash`` is False, image will be in ``active`` state after"},{"line_number":63,"context_line":"  adding the location."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* If ``do_secure_hash`` is True and validation_data is not provided by the"},{"line_number":66,"context_line":"  user, image will be in ``active`` state and hash calculation will be"},{"line_number":67,"context_line":"  continued in the background."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* If ``do_secure_hash`` is True and validation_data is provided by the user,"},{"line_number":70,"context_line":"  image will be in ``importing`` state. Once the hash calculation is"},{"line_number":71,"context_line":"  completed and verification of validation_data is done, image will become"},{"line_number":72,"context_line":"  ``active``. Incase of faiure, image status will be reverted back to"},{"line_number":73,"context_line":"  ``queued`` state."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"A new parameter ``http_retries`` has also been introduced in"},{"line_number":76,"context_line":"``glance-api.conf``, to retry hash calculation operation as per configured"},{"line_number":77,"context_line":"number of time incase of failure."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Get Locations"}],"source_content_type":"text/x-rst","patch_set":10,"id":"099a08c6_8992ad67","line":77,"range":{"start_line":53,"start_character":0,"end_line":77,"end_character":33},"updated":"2023-08-28 07:41:59.000000000","message":"Missing important part is why we decided to calculate the hash and checksum is missing.","commit_id":"3777ec966a22a4260d226c4da3b64c26fce690fc"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"31aef45302616bb8ba4ada0362247eb79b22ce40","unresolved":false,"context_lines":[{"line_number":50,"context_line":"      \"add_image_location\": \"role:service or (role:member and"},{"line_number":51,"context_line":"         project_id:%(project_id)s)\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The new configuration parameter ``do_secure_hash`` has been introduced"},{"line_number":54,"context_line":"in ``glance-api.conf`` which will tell the API whether to do the hash"},{"line_number":55,"context_line":"calculation or not. This is useful in cases when nova, cinder etc, adds"},{"line_number":56,"context_line":"a location in glance since glance does not calculate the hash and checksum"},{"line_number":57,"context_line":"automatically. The value of ``do_secure_hash`` will be ``True`` by default."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Below will be the image status transitions based on the value of"},{"line_number":60,"context_line":"``do_secure_hash``."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* If ``do_secure_hash`` is False, image will be in ``active`` state after"},{"line_number":63,"context_line":"  adding the location."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* If ``do_secure_hash`` is True and validation_data is not provided by the"},{"line_number":66,"context_line":"  user, image will be in ``active`` state and hash calculation will be"},{"line_number":67,"context_line":"  continued in the background."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* If ``do_secure_hash`` is True and validation_data is provided by the user,"},{"line_number":70,"context_line":"  image will be in ``importing`` state. Once the hash calculation is"},{"line_number":71,"context_line":"  completed and verification of validation_data is done, image will become"},{"line_number":72,"context_line":"  ``active``. Incase of faiure, image status will be reverted back to"},{"line_number":73,"context_line":"  ``queued`` state."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"A new parameter ``http_retries`` has also been introduced in"},{"line_number":76,"context_line":"``glance-api.conf``, to retry hash calculation operation as per configured"},{"line_number":77,"context_line":"number of time incase of failure."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Get Locations"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ca497824_fde0fa3d","line":77,"range":{"start_line":53,"start_character":0,"end_line":77,"end_character":33},"in_reply_to":"099a08c6_8992ad67","updated":"2023-08-28 14:33:16.000000000","message":"Ack","commit_id":"3777ec966a22a4260d226c4da3b64c26fce690fc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3873c8a4388f72f0fa5f4ed21d2d5abccddc9603","unresolved":true,"context_lines":[{"line_number":45,"context_line":"This API call and the workflow for using it, is described in the"},{"line_number":46,"context_line":"`Add Location`_ section of the `Image Service API reference`_."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The new configuration parameter ``do_secure_hash`` has been introduced"},{"line_number":49,"context_line":"in ``glance-api.conf`` which will tell the API whether to do the hash"},{"line_number":50,"context_line":"calculation or not. The image added with old location workflow was not"},{"line_number":51,"context_line":"being cached due to missing hash and checksum, hence to create a secure"},{"line_number":52,"context_line":"image, hash \u0026 checksum calculation will be done in the new location workflow"},{"line_number":53,"context_line":"based on the ``do_secure_hash`` value."},{"line_number":54,"context_line":"The value of ``do_secure_hash`` will be ``True`` by default."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Below will be the image status transitions based on the value of"},{"line_number":57,"context_line":"``do_secure_hash``."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"* If ``do_secure_hash`` is False, image will be in ``active`` state after"},{"line_number":60,"context_line":"  adding the location."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* If ``do_secure_hash`` is True and validation_data is not provided by the"},{"line_number":63,"context_line":"  user, image will be in ``active`` state and hash calculation will be"},{"line_number":64,"context_line":"  continued in the background."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* If ``do_secure_hash`` is True and validation_data is provided by the user,"},{"line_number":67,"context_line":"  image will be in ``importing`` state. Once the hash calculation is"},{"line_number":68,"context_line":"  completed and verification of validation_data is done, image will become"},{"line_number":69,"context_line":"  ``active``. Incase of faiure, image status will be reverted back to"},{"line_number":70,"context_line":"  ``queued`` state."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"A new parameter ``http_retries`` has also been introduced in"},{"line_number":73,"context_line":"``glance-api.conf``, to retry hash calculation operation as per configured"},{"line_number":74,"context_line":"number of time incase of failure."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Get Locations"}],"source_content_type":"text/x-rst","patch_set":12,"id":"bafcee8b_cfcee8f5","line":74,"range":{"start_line":48,"start_character":0,"end_line":74,"end_character":33},"updated":"2023-08-29 10:01:53.000000000","message":"this still needs restructuring, may be better sequencing.\n\nYou can start with the problem of caching with old api and how new config option will help to resolve that by calculating it, retries in case of failure, how user can pass custom values to this API and then how we validate them, what happens if validation fails, what if hashing calculation is false and values provided by end user. What if both not there.\n\nImportant thing is rather than explaining it like bullet points better to explain them in paragraphs. Also this validation part is only applicable for http store as consumers will never send val_data as input.\n\nEverything needs to be mentioned clearly","commit_id":"9c85e3ded1b91aea71cef3bd7e5d252da0d93ebe"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"a05effe845dac6393a7d3c74a12652c6a1877b0a","unresolved":false,"context_lines":[{"line_number":45,"context_line":"This API call and the workflow for using it, is described in the"},{"line_number":46,"context_line":"`Add Location`_ section of the `Image Service API reference`_."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The new configuration parameter ``do_secure_hash`` has been introduced"},{"line_number":49,"context_line":"in ``glance-api.conf`` which will tell the API whether to do the hash"},{"line_number":50,"context_line":"calculation or not. The image added with old location workflow was not"},{"line_number":51,"context_line":"being cached due to missing hash and checksum, hence to create a secure"},{"line_number":52,"context_line":"image, hash \u0026 checksum calculation will be done in the new location workflow"},{"line_number":53,"context_line":"based on the ``do_secure_hash`` value."},{"line_number":54,"context_line":"The value of ``do_secure_hash`` will be ``True`` by default."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Below will be the image status transitions based on the value of"},{"line_number":57,"context_line":"``do_secure_hash``."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"* If ``do_secure_hash`` is False, image will be in ``active`` state after"},{"line_number":60,"context_line":"  adding the location."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* If ``do_secure_hash`` is True and validation_data is not provided by the"},{"line_number":63,"context_line":"  user, image will be in ``active`` state and hash calculation will be"},{"line_number":64,"context_line":"  continued in the background."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* If ``do_secure_hash`` is True and validation_data is provided by the user,"},{"line_number":67,"context_line":"  image will be in ``importing`` state. Once the hash calculation is"},{"line_number":68,"context_line":"  completed and verification of validation_data is done, image will become"},{"line_number":69,"context_line":"  ``active``. Incase of faiure, image status will be reverted back to"},{"line_number":70,"context_line":"  ``queued`` state."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"A new parameter ``http_retries`` has also been introduced in"},{"line_number":73,"context_line":"``glance-api.conf``, to retry hash calculation operation as per configured"},{"line_number":74,"context_line":"number of time incase of failure."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Get Locations"}],"source_content_type":"text/x-rst","patch_set":12,"id":"47b25489_bb83f06b","line":74,"range":{"start_line":48,"start_character":0,"end_line":74,"end_character":33},"in_reply_to":"bafcee8b_cfcee8f5","updated":"2023-08-29 14:21:54.000000000","message":"Ack","commit_id":"9c85e3ded1b91aea71cef3bd7e5d252da0d93ebe"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b8fe44e73812d96d38a5e8e4f1d1b0ded9f597e8","unresolved":true,"context_lines":[{"line_number":39,"context_line":"users from modifying the image location again and again since the location"},{"line_number":40,"context_line":"added for the first time is the correct one as far as Glance is concerned."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":".. note:: Image owner can be allowed to use this API only if http support"},{"line_number":43,"context_line":"          is enabled in the deployment."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The image added with old location workflow was not being cached due to"}],"source_content_type":"text/x-rst","patch_set":13,"id":"b290aa41_2d3dea32","line":42,"range":{"start_line":42,"start_character":66,"end_line":42,"end_character":73},"updated":"2023-08-29 17:43:23.000000000","message":"store","commit_id":"9ddb98f111e9c7f6a3a32f512b8b797dfb970e13"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3ea3b06d3af990b9ad40747f0d41e6e6108c348f","unresolved":false,"context_lines":[{"line_number":39,"context_line":"users from modifying the image location again and again since the location"},{"line_number":40,"context_line":"added for the first time is the correct one as far as Glance is concerned."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":".. note:: Image owner can be allowed to use this API only if http support"},{"line_number":43,"context_line":"          is enabled in the deployment."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The image added with old location workflow was not being cached due to"}],"source_content_type":"text/x-rst","patch_set":13,"id":"d9b8f93a_02eb24e5","line":42,"range":{"start_line":42,"start_character":66,"end_line":42,"end_character":73},"in_reply_to":"b290aa41_2d3dea32","updated":"2023-08-29 18:41:50.000000000","message":"Done","commit_id":"9ddb98f111e9c7f6a3a32f512b8b797dfb970e13"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b8fe44e73812d96d38a5e8e4f1d1b0ded9f597e8","unresolved":true,"context_lines":[{"line_number":42,"context_line":".. note:: Image owner can be allowed to use this API only if http support"},{"line_number":43,"context_line":"          is enabled in the deployment."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The image added with old location workflow was not being cached due to"},{"line_number":46,"context_line":"missing hash and checksum, hence to create a secure image, hash \u0026 checksum"},{"line_number":47,"context_line":"calculation will be done in the new location workflow."},{"line_number":48,"context_line":"The new configuration parameter ``do_secure_hash`` has been introduced"},{"line_number":49,"context_line":"in ``glance-api.conf`` which will tell the API whether to do the hash"},{"line_number":50,"context_line":"calculation or not. The value of ``do_secure_hash`` will be ``True`` by"}],"source_content_type":"text/x-rst","patch_set":13,"id":"d120305d_9f70a477","line":47,"range":{"start_line":45,"start_character":0,"end_line":47,"end_character":54},"updated":"2023-08-29 17:43:23.000000000","message":"The image(s) created using old location API were missing checksum and hashing information as consumers of this API (nova and cinder) never provided it. As a result those images were never been cached as checksum was required to validate whether image is completely cached or not. Adding this mechanism to calculate the checksum and hash for the image not only resolved this issue but it will also improve caching operation since the checksum of original and cached image was compared only when entire image was downloaded in cache.\n\nAs the hashing calculation and it\u0027s verification is time consuming, we provide a configuration option to handle this operation. The new configuration option ``do_secure_hash`` default to ``True`` will help to control this operation. This operation can be disabled by turning this flag to ``False``. For similar reason the hashing calculation will be performed in the background so that consumers/clients need not to wait for its completion. If hashing calculation fails in between then it will be retried until the configuration option ``http_retries`` default to ``3`` set in the file. The operation will silently ignored if it fails even after certain retries. \n\nSimilar to old location API, users (not consumers like nova/cinder) can also pass hashing values as an input to this new API using ``validation_data`` input parameter.In this case, if hashing calculation is enabled in the deployment (i.e. do_secure_hash is True) then it will validate calculated hash values with user provided values and marks the operation as failed if there is a difference. If hashing calculation is disabled (i.e. do_secure_hash is False) then user provided values will be set directly to the image. \n\nIf hashing calculation is disabled for this API then we will have an active image but again it will fail to cache, so Glance recommends consumers like nova and cinder as well as normal users should keep hashing calculation enabled.\n\nUsage of this API for non service users is only allowed if ``http`` store is enabled in the deployment.","commit_id":"9ddb98f111e9c7f6a3a32f512b8b797dfb970e13"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3ea3b06d3af990b9ad40747f0d41e6e6108c348f","unresolved":false,"context_lines":[{"line_number":42,"context_line":".. note:: Image owner can be allowed to use this API only if http support"},{"line_number":43,"context_line":"          is enabled in the deployment."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The image added with old location workflow was not being cached due to"},{"line_number":46,"context_line":"missing hash and checksum, hence to create a secure image, hash \u0026 checksum"},{"line_number":47,"context_line":"calculation will be done in the new location workflow."},{"line_number":48,"context_line":"The new configuration parameter ``do_secure_hash`` has been introduced"},{"line_number":49,"context_line":"in ``glance-api.conf`` which will tell the API whether to do the hash"},{"line_number":50,"context_line":"calculation or not. The value of ``do_secure_hash`` will be ``True`` by"}],"source_content_type":"text/x-rst","patch_set":13,"id":"b6fd26cd_38b8538e","line":47,"range":{"start_line":45,"start_character":0,"end_line":47,"end_character":54},"in_reply_to":"d120305d_9f70a477","updated":"2023-08-29 18:41:50.000000000","message":"Done","commit_id":"9ddb98f111e9c7f6a3a32f512b8b797dfb970e13"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b8fe44e73812d96d38a5e8e4f1d1b0ded9f597e8","unresolved":true,"context_lines":[{"line_number":50,"context_line":"calculation or not. The value of ``do_secure_hash`` will be ``True`` by"},{"line_number":51,"context_line":"default. One more new parameter ``http_retries`` has been introduced in"},{"line_number":52,"context_line":"``glance-api.conf``, for number of retries of hash calculation in case"},{"line_number":53,"context_line":"of failure. Users can pass \u0027checksum\u0027, \u0027os_hash_values\u0027 \u0026 \u0027os_hash_algo\u0027"},{"line_number":54,"context_line":"values in validation_data parameter to the API. If these custome values"},{"line_number":55,"context_line":"doesn\u0027t match with the hash values calculated by the api, image will be"},{"line_number":56,"context_line":"set back to ``queued`` state. If validation_data is not passed and hash"}],"source_content_type":"text/x-rst","patch_set":13,"id":"d5faff25_b3794d1c","line":53,"range":{"start_line":53,"start_character":28,"end_line":53,"end_character":36},"updated":"2023-08-29 17:43:23.000000000","message":"I don\u0027t think users can pass checksum","commit_id":"9ddb98f111e9c7f6a3a32f512b8b797dfb970e13"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3ea3b06d3af990b9ad40747f0d41e6e6108c348f","unresolved":false,"context_lines":[{"line_number":50,"context_line":"calculation or not. The value of ``do_secure_hash`` will be ``True`` by"},{"line_number":51,"context_line":"default. One more new parameter ``http_retries`` has been introduced in"},{"line_number":52,"context_line":"``glance-api.conf``, for number of retries of hash calculation in case"},{"line_number":53,"context_line":"of failure. Users can pass \u0027checksum\u0027, \u0027os_hash_values\u0027 \u0026 \u0027os_hash_algo\u0027"},{"line_number":54,"context_line":"values in validation_data parameter to the API. If these custome values"},{"line_number":55,"context_line":"doesn\u0027t match with the hash values calculated by the api, image will be"},{"line_number":56,"context_line":"set back to ``queued`` state. If validation_data is not passed and hash"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ca6c7ce6_4dd3a582","line":53,"range":{"start_line":53,"start_character":28,"end_line":53,"end_character":36},"in_reply_to":"d5faff25_b3794d1c","updated":"2023-08-29 18:41:50.000000000","message":"Done","commit_id":"9ddb98f111e9c7f6a3a32f512b8b797dfb970e13"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b8fe44e73812d96d38a5e8e4f1d1b0ded9f597e8","unresolved":true,"context_lines":[{"line_number":62,"context_line":"values provided by the user and if validation_data is not provided by user,"},{"line_number":63,"context_line":"image will be in ``active`` state after adding the location."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":".. note:: The validation_data with custome hash values is only applicable"},{"line_number":66,"context_line":"          for http store as consumers will never send validation_data as"},{"line_number":67,"context_line":"          input."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"3fcfe47b_fd32d221","line":65,"range":{"start_line":65,"start_character":35,"end_line":65,"end_character":42},"updated":"2023-08-29 17:43:23.000000000","message":"custom","commit_id":"9ddb98f111e9c7f6a3a32f512b8b797dfb970e13"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3ea3b06d3af990b9ad40747f0d41e6e6108c348f","unresolved":false,"context_lines":[{"line_number":62,"context_line":"values provided by the user and if validation_data is not provided by user,"},{"line_number":63,"context_line":"image will be in ``active`` state after adding the location."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":".. note:: The validation_data with custome hash values is only applicable"},{"line_number":66,"context_line":"          for http store as consumers will never send validation_data as"},{"line_number":67,"context_line":"          input."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"181aa085_5b11d211","line":65,"range":{"start_line":65,"start_character":35,"end_line":65,"end_character":42},"in_reply_to":"3fcfe47b_fd32d221","updated":"2023-08-29 18:41:50.000000000","message":"Done","commit_id":"9ddb98f111e9c7f6a3a32f512b8b797dfb970e13"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"36192c4b3da8bd3b2d7e46b3dca053a50d17fd11","unresolved":true,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Get locations operation is strictly allowed for service users only, meaning"},{"line_number":77,"context_line":"only consumers like nova, cinder etc will be able to access this api."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"This API call and the workflow for using it, is described in the"},{"line_number":80,"context_line":"`Get Locations`_ section of the `Image Service API reference`_."},{"line_number":81,"context_line":"This will return the list of the locations associated to the image."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":".. _glance-api.conf: https://opendev.org/openstack/glance/src/branch/master/etc/glance-api.conf"}],"source_content_type":"text/x-rst","patch_set":13,"id":"8f68fd7f_ca2d2195","line":80,"range":{"start_line":78,"start_character":0,"end_line":80,"end_character":63},"updated":"2023-08-29 17:48:54.000000000","message":"not required.","commit_id":"9ddb98f111e9c7f6a3a32f512b8b797dfb970e13"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3ea3b06d3af990b9ad40747f0d41e6e6108c348f","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Get locations operation is strictly allowed for service users only, meaning"},{"line_number":77,"context_line":"only consumers like nova, cinder etc will be able to access this api."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"This API call and the workflow for using it, is described in the"},{"line_number":80,"context_line":"`Get Locations`_ section of the `Image Service API reference`_."},{"line_number":81,"context_line":"This will return the list of the locations associated to the image."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":".. _glance-api.conf: https://opendev.org/openstack/glance/src/branch/master/etc/glance-api.conf"}],"source_content_type":"text/x-rst","patch_set":13,"id":"61683050_ab7b9c13","line":80,"range":{"start_line":78,"start_character":0,"end_line":80,"end_character":63},"in_reply_to":"8f68fd7f_ca2d2195","updated":"2023-08-29 18:41:50.000000000","message":"Done","commit_id":"9ddb98f111e9c7f6a3a32f512b8b797dfb970e13"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":23,"context_line":"which mitigate the security issues"},{"line_number":24,"context_line":"`OSSN-0090 \u003chttps://wiki.openstack.org/wiki/OSSN/OSSN-0090\u003e`_ and"},{"line_number":25,"context_line":"`OSSN-0065 \u003chttps://wiki.openstack.org/wiki/OSSN/OSSN-0065\u003e`_."},{"line_number":26,"context_line":"These new location api calls will replace the image-update mechanism for"},{"line_number":27,"context_line":"consumers like cinder and nova."},{"line_number":28,"context_line":"Below are the 2 new locations api glance has introduced,"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"1c7c98a3_3e769fa2","line":27,"range":{"start_line":26,"start_character":0,"end_line":27,"end_character":31},"updated":"2023-08-30 08:46:24.000000000","message":"I\u0027m not sure if we want to mention this in the user specific documentation.\nThis work is going to be carried out in multiple phases and currently we are just implementing the support in glance.\nThe next cycle we will plan to migrate cinder and nova to use these APIs and finally we can take decision on removing the old support in DD cycle probably.\n\nI would avoid saying this in the documentation at least for this cycle.","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":23,"context_line":"which mitigate the security issues"},{"line_number":24,"context_line":"`OSSN-0090 \u003chttps://wiki.openstack.org/wiki/OSSN/OSSN-0090\u003e`_ and"},{"line_number":25,"context_line":"`OSSN-0065 \u003chttps://wiki.openstack.org/wiki/OSSN/OSSN-0065\u003e`_."},{"line_number":26,"context_line":"These new location api calls will replace the image-update mechanism for"},{"line_number":27,"context_line":"consumers like cinder and nova."},{"line_number":28,"context_line":"Below are the 2 new locations api glance has introduced,"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"e59f9ade_086f23cc","line":27,"range":{"start_line":26,"start_character":0,"end_line":27,"end_character":31},"in_reply_to":"1c7c98a3_3e769fa2","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Add location API is introduced to add the location to an image."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Add location operation is strictly allowed for service user \u0026 image owner,"},{"line_number":37,"context_line":"when image is in ``queued`` state only. Attempt to add location for image"},{"line_number":38,"context_line":"in other states will be rejected. This is done in order to prevent malicious"},{"line_number":39,"context_line":"users from modifying the image location again and again since the location"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dd3cc1f6_476697bc","line":36,"range":{"start_line":36,"start_character":47,"end_line":36,"end_character":59},"updated":"2023-08-30 08:46:24.000000000","message":"It would be better to say service to service interaction\nWe don\u0027t want to promote end users to use service credentials to request this API","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Add location API is introduced to add the location to an image."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Add location operation is strictly allowed for service user \u0026 image owner,"},{"line_number":37,"context_line":"when image is in ``queued`` state only. Attempt to add location for image"},{"line_number":38,"context_line":"in other states will be rejected. This is done in order to prevent malicious"},{"line_number":39,"context_line":"users from modifying the image location again and again since the location"}],"source_content_type":"text/x-rst","patch_set":14,"id":"b2eaea78_0dbcc80f","line":36,"range":{"start_line":36,"start_character":47,"end_line":36,"end_character":59},"in_reply_to":"dd3cc1f6_476697bc","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":40,"context_line":"added for the first time is the correct one as far as Glance is concerned."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The image(s) created using old location API were missing checksum and hashing"},{"line_number":43,"context_line":"information as consumers of this API (nova and cinder) never provided it."},{"line_number":44,"context_line":"As a result those images were never been cached as checksum was required"},{"line_number":45,"context_line":"to validate whether image is completely cached or not. Adding this mechanism"},{"line_number":46,"context_line":"to calculate the checksum and hash for the image not only resolved this issue"}],"source_content_type":"text/x-rst","patch_set":14,"id":"d7515205_a29eaed9","line":43,"range":{"start_line":43,"start_character":12,"end_line":43,"end_character":73},"updated":"2023-08-30 08:46:24.000000000","message":"Glance team can correct my understanding but this sounds wrong to me.\nI think there is no way to provide this information by the consumers in the old location API. the concept of validation data was introduced for HTTP store. Also i think it\u0027s more of responsibility of the image service to calculate these values than relying on the consumer providing it.","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":38,"context_line":"in other states will be rejected. This is done in order to prevent malicious"},{"line_number":39,"context_line":"users from modifying the image location again and again since the location"},{"line_number":40,"context_line":"added for the first time is the correct one as far as Glance is concerned."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The image(s) created using old location API were missing checksum and hashing"},{"line_number":43,"context_line":"information as consumers of this API (nova and cinder) never provided it."},{"line_number":44,"context_line":"As a result those images were never been cached as checksum was required"},{"line_number":45,"context_line":"to validate whether image is completely cached or not. Adding this mechanism"},{"line_number":46,"context_line":"to calculate the checksum and hash for the image not only resolved this issue"}],"source_content_type":"text/x-rst","patch_set":14,"id":"0423034e_3a01253d","line":43,"range":{"start_line":41,"start_character":0,"end_line":43,"end_character":73},"updated":"2023-08-30 08:46:24.000000000","message":"I think we can rephrase this whole sentence as,\n\nThe use case for old location API for consumers (nova and cinder) is to create images efficiently with an optimized workflow which avoids the hash calculation steps which exists in the generic image create workflow of glance leading to missing checksum and hash information in those images.","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":38,"context_line":"in other states will be rejected. This is done in order to prevent malicious"},{"line_number":39,"context_line":"users from modifying the image location again and again since the location"},{"line_number":40,"context_line":"added for the first time is the correct one as far as Glance is concerned."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The image(s) created using old location API were missing checksum and hashing"},{"line_number":43,"context_line":"information as consumers of this API (nova and cinder) never provided it."},{"line_number":44,"context_line":"As a result those images were never been cached as checksum was required"},{"line_number":45,"context_line":"to validate whether image is completely cached or not. Adding this mechanism"},{"line_number":46,"context_line":"to calculate the checksum and hash for the image not only resolved this issue"}],"source_content_type":"text/x-rst","patch_set":14,"id":"4c14ae7e_59c7d12e","line":43,"range":{"start_line":41,"start_character":0,"end_line":43,"end_character":73},"in_reply_to":"0423034e_3a01253d","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e45ed9178b7cc16f8c28f4e53781c7df646625f9","unresolved":true,"context_lines":[{"line_number":40,"context_line":"added for the first time is the correct one as far as Glance is concerned."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The image(s) created using old location API were missing checksum and hashing"},{"line_number":43,"context_line":"information as consumers of this API (nova and cinder) never provided it."},{"line_number":44,"context_line":"As a result those images were never been cached as checksum was required"},{"line_number":45,"context_line":"to validate whether image is completely cached or not. Adding this mechanism"},{"line_number":46,"context_line":"to calculate the checksum and hash for the image not only resolved this issue"}],"source_content_type":"text/x-rst","patch_set":14,"id":"fe4fe2a3_2554b027","line":43,"range":{"start_line":43,"start_character":12,"end_line":43,"end_character":73},"in_reply_to":"d7515205_a29eaed9","updated":"2023-08-30 10:07:32.000000000","message":"You are right. We can rephrase the above two lines as you suggested.","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":40,"context_line":"added for the first time is the correct one as far as Glance is concerned."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The image(s) created using old location API were missing checksum and hashing"},{"line_number":43,"context_line":"information as consumers of this API (nova and cinder) never provided it."},{"line_number":44,"context_line":"As a result those images were never been cached as checksum was required"},{"line_number":45,"context_line":"to validate whether image is completely cached or not. Adding this mechanism"},{"line_number":46,"context_line":"to calculate the checksum and hash for the image not only resolved this issue"}],"source_content_type":"text/x-rst","patch_set":14,"id":"171a1221_73fa0936","line":43,"range":{"start_line":43,"start_character":12,"end_line":43,"end_character":73},"in_reply_to":"fe4fe2a3_2554b027","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":43,"context_line":"information as consumers of this API (nova and cinder) never provided it."},{"line_number":44,"context_line":"As a result those images were never been cached as checksum was required"},{"line_number":45,"context_line":"to validate whether image is completely cached or not. Adding this mechanism"},{"line_number":46,"context_line":"to calculate the checksum and hash for the image not only resolved this issue"},{"line_number":47,"context_line":"but it will also improve caching operation since the checksum of original and"},{"line_number":48,"context_line":"cached image was compared only when entire image was downloaded in cache."},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"f914b154_922ad67f","line":46,"range":{"start_line":46,"start_character":49,"end_line":46,"end_character":66},"updated":"2023-08-30 08:46:24.000000000","message":"nit: will not only resolve","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":43,"context_line":"information as consumers of this API (nova and cinder) never provided it."},{"line_number":44,"context_line":"As a result those images were never been cached as checksum was required"},{"line_number":45,"context_line":"to validate whether image is completely cached or not. Adding this mechanism"},{"line_number":46,"context_line":"to calculate the checksum and hash for the image not only resolved this issue"},{"line_number":47,"context_line":"but it will also improve caching operation since the checksum of original and"},{"line_number":48,"context_line":"cached image was compared only when entire image was downloaded in cache."},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"e8e3955f_8b237aae","line":46,"range":{"start_line":46,"start_character":49,"end_line":46,"end_character":66},"in_reply_to":"f914b154_922ad67f","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":44,"context_line":"As a result those images were never been cached as checksum was required"},{"line_number":45,"context_line":"to validate whether image is completely cached or not. Adding this mechanism"},{"line_number":46,"context_line":"to calculate the checksum and hash for the image not only resolved this issue"},{"line_number":47,"context_line":"but it will also improve caching operation since the checksum of original and"},{"line_number":48,"context_line":"cached image was compared only when entire image was downloaded in cache."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As the hashing calculation and it\u0027s verification is time consuming, we"},{"line_number":51,"context_line":"provide a configuration option to handle this operation. The new"}],"source_content_type":"text/x-rst","patch_set":14,"id":"521f211a_3ea61169","line":48,"range":{"start_line":47,"start_character":4,"end_line":48,"end_character":73},"updated":"2023-08-30 08:46:24.000000000","message":"Previously caching wasn\u0027t allowed without the checksum, how introducing checksum to the image improve the caching operation?","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":45,"context_line":"to validate whether image is completely cached or not. Adding this mechanism"},{"line_number":46,"context_line":"to calculate the checksum and hash for the image not only resolved this issue"},{"line_number":47,"context_line":"but it will also improve caching operation since the checksum of original and"},{"line_number":48,"context_line":"cached image was compared only when entire image was downloaded in cache."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As the hashing calculation and it\u0027s verification is time consuming, we"},{"line_number":51,"context_line":"provide a configuration option to handle this operation. The new"}],"source_content_type":"text/x-rst","patch_set":14,"id":"25e47899_9605945a","line":48,"range":{"start_line":48,"start_character":13,"end_line":48,"end_character":16},"updated":"2023-08-30 08:46:24.000000000","message":"nit: is","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":45,"context_line":"to validate whether image is completely cached or not. Adding this mechanism"},{"line_number":46,"context_line":"to calculate the checksum and hash for the image not only resolved this issue"},{"line_number":47,"context_line":"but it will also improve caching operation since the checksum of original and"},{"line_number":48,"context_line":"cached image was compared only when entire image was downloaded in cache."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As the hashing calculation and it\u0027s verification is time consuming, we"},{"line_number":51,"context_line":"provide a configuration option to handle this operation. The new"}],"source_content_type":"text/x-rst","patch_set":14,"id":"e18e497d_bf8d1880","line":48,"range":{"start_line":48,"start_character":49,"end_line":48,"end_character":52},"updated":"2023-08-30 08:46:24.000000000","message":"nit: is","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"to validate whether image is completely cached or not. Adding this mechanism"},{"line_number":46,"context_line":"to calculate the checksum and hash for the image not only resolved this issue"},{"line_number":47,"context_line":"but it will also improve caching operation since the checksum of original and"},{"line_number":48,"context_line":"cached image was compared only when entire image was downloaded in cache."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As the hashing calculation and it\u0027s verification is time consuming, we"},{"line_number":51,"context_line":"provide a configuration option to handle this operation. The new"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9071a781_d1eaf721","line":48,"range":{"start_line":48,"start_character":13,"end_line":48,"end_character":16},"in_reply_to":"25e47899_9605945a","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e45ed9178b7cc16f8c28f4e53781c7df646625f9","unresolved":true,"context_lines":[{"line_number":44,"context_line":"As a result those images were never been cached as checksum was required"},{"line_number":45,"context_line":"to validate whether image is completely cached or not. Adding this mechanism"},{"line_number":46,"context_line":"to calculate the checksum and hash for the image not only resolved this issue"},{"line_number":47,"context_line":"but it will also improve caching operation since the checksum of original and"},{"line_number":48,"context_line":"cached image was compared only when entire image was downloaded in cache."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As the hashing calculation and it\u0027s verification is time consuming, we"},{"line_number":51,"context_line":"provide a configuration option to handle this operation. The new"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7acc4700_d9d553c4","line":48,"range":{"start_line":47,"start_character":4,"end_line":48,"end_character":73},"in_reply_to":"521f211a_3ea61169","updated":"2023-08-30 10:07:32.000000000","message":"It\u0027s not like caching wasn\u0027t allowed, it\u0027s like caching of such images was failing because it was verifying checksum at last to ensure entire image is cached or not. Since these images doesn\u0027t have checksum associated with it, caching bound to fail always. The problem here was it was downloading entire image in cache and at the end failing because of this and deleting the image assuming it was partial.\n\n[1] https://github.com/openstack/glance/blob/master/glance/image_cache/__init__.py#L360\n\nNow since we calculate this information with new API the downloading of such images in cache will not go in vain.\n\nHope this clear your doubt.","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c4df0e150188d1e984a36e4779e1fb439151de4d","unresolved":false,"context_lines":[{"line_number":44,"context_line":"As a result those images were never been cached as checksum was required"},{"line_number":45,"context_line":"to validate whether image is completely cached or not. Adding this mechanism"},{"line_number":46,"context_line":"to calculate the checksum and hash for the image not only resolved this issue"},{"line_number":47,"context_line":"but it will also improve caching operation since the checksum of original and"},{"line_number":48,"context_line":"cached image was compared only when entire image was downloaded in cache."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As the hashing calculation and it\u0027s verification is time consuming, we"},{"line_number":51,"context_line":"provide a configuration option to handle this operation. The new"}],"source_content_type":"text/x-rst","patch_set":14,"id":"04bc0956_1626faab","line":48,"range":{"start_line":47,"start_character":4,"end_line":48,"end_character":73},"in_reply_to":"7acc4700_d9d553c4","updated":"2023-09-04 09:24:23.000000000","message":"Yes, thanks for elaborating on this","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"to validate whether image is completely cached or not. Adding this mechanism"},{"line_number":46,"context_line":"to calculate the checksum and hash for the image not only resolved this issue"},{"line_number":47,"context_line":"but it will also improve caching operation since the checksum of original and"},{"line_number":48,"context_line":"cached image was compared only when entire image was downloaded in cache."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As the hashing calculation and it\u0027s verification is time consuming, we"},{"line_number":51,"context_line":"provide a configuration option to handle this operation. The new"}],"source_content_type":"text/x-rst","patch_set":14,"id":"487f7d41_e75d7afe","line":48,"range":{"start_line":48,"start_character":49,"end_line":48,"end_character":52},"in_reply_to":"e18e497d_bf8d1880","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":48,"context_line":"cached image was compared only when entire image was downloaded in cache."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As the hashing calculation and it\u0027s verification is time consuming, we"},{"line_number":51,"context_line":"provide a configuration option to handle this operation. The new"},{"line_number":52,"context_line":"configuration option ``do_secure_hash`` default to ``True`` will"},{"line_number":53,"context_line":"help to control this operation. This operation can be disabled by turning"},{"line_number":54,"context_line":"this flag to ``False``. For similar reason the hashing calculation will be"}],"source_content_type":"text/x-rst","patch_set":14,"id":"bf6cc900_1a0877f7","line":51,"range":{"start_line":51,"start_character":34,"end_line":51,"end_character":40},"updated":"2023-08-30 08:46:24.000000000","message":"allow/disallow\nenable/disable","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":48,"context_line":"cached image was compared only when entire image was downloaded in cache."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As the hashing calculation and it\u0027s verification is time consuming, we"},{"line_number":51,"context_line":"provide a configuration option to handle this operation. The new"},{"line_number":52,"context_line":"configuration option ``do_secure_hash`` default to ``True`` will"},{"line_number":53,"context_line":"help to control this operation. This operation can be disabled by turning"},{"line_number":54,"context_line":"this flag to ``False``. For similar reason the hashing calculation will be"}],"source_content_type":"text/x-rst","patch_set":14,"id":"2374c3a3_eb972532","line":51,"range":{"start_line":51,"start_character":34,"end_line":51,"end_character":40},"in_reply_to":"bf6cc900_1a0877f7","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As the hashing calculation and it\u0027s verification is time consuming, we"},{"line_number":51,"context_line":"provide a configuration option to handle this operation. The new"},{"line_number":52,"context_line":"configuration option ``do_secure_hash`` default to ``True`` will"},{"line_number":53,"context_line":"help to control this operation. This operation can be disabled by turning"},{"line_number":54,"context_line":"this flag to ``False``. For similar reason the hashing calculation will be"},{"line_number":55,"context_line":"performed in the background so that consumers/clients need not to wait for"}],"source_content_type":"text/x-rst","patch_set":14,"id":"f32aa94a_3a35afce","line":52,"range":{"start_line":52,"start_character":40,"end_line":52,"end_character":59},"updated":"2023-08-30 08:46:24.000000000","message":"IMO it\u0027s better to explain the config parameter and then refer to the default, this will improve readability","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As the hashing calculation and it\u0027s verification is time consuming, we"},{"line_number":51,"context_line":"provide a configuration option to handle this operation. The new"},{"line_number":52,"context_line":"configuration option ``do_secure_hash`` default to ``True`` will"},{"line_number":53,"context_line":"help to control this operation. This operation can be disabled by turning"},{"line_number":54,"context_line":"this flag to ``False``. For similar reason the hashing calculation will be"},{"line_number":55,"context_line":"performed in the background so that consumers/clients need not to wait for"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3af698be_ec968f91","line":52,"range":{"start_line":52,"start_character":40,"end_line":52,"end_character":59},"in_reply_to":"f32aa94a_3a35afce","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":53,"context_line":"help to control this operation. This operation can be disabled by turning"},{"line_number":54,"context_line":"this flag to ``False``. For similar reason the hashing calculation will be"},{"line_number":55,"context_line":"performed in the background so that consumers/clients need not to wait for"},{"line_number":56,"context_line":"its completion. If hashing calculation fails in between then it will be"},{"line_number":57,"context_line":"retried until the configuration option ``http_retries`` default set to 3"},{"line_number":58,"context_line":"in ``glance-api.conf``. The operation will silently ignored if it fails"},{"line_number":59,"context_line":"even after certain retries."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Similar to old location API, users (not consumers like nova/cinder) can"}],"source_content_type":"text/x-rst","patch_set":14,"id":"db92bc59_b9a7e28a","line":58,"range":{"start_line":56,"start_character":15,"end_line":58,"end_character":23},"updated":"2023-08-30 08:46:24.000000000","message":"If the hash calculation fails, we have a retry mechanism that will retry the operation as per the value defined of the configuration option ``http_retries`` in the ``glance-api.conf`` file. The default value is 3.","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":55,"context_line":"performed in the background so that consumers/clients need not to wait for"},{"line_number":56,"context_line":"its completion. If hashing calculation fails in between then it will be"},{"line_number":57,"context_line":"retried until the configuration option ``http_retries`` default set to 3"},{"line_number":58,"context_line":"in ``glance-api.conf``. The operation will silently ignored if it fails"},{"line_number":59,"context_line":"even after certain retries."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Similar to old location API, users (not consumers like nova/cinder) can"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ae42d584_ec5256bb","line":58,"range":{"start_line":58,"start_character":38,"end_line":58,"end_character":43},"updated":"2023-08-30 08:46:24.000000000","message":"nit: will be","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":55,"context_line":"performed in the background so that consumers/clients need not to wait for"},{"line_number":56,"context_line":"its completion. If hashing calculation fails in between then it will be"},{"line_number":57,"context_line":"retried until the configuration option ``http_retries`` default set to 3"},{"line_number":58,"context_line":"in ``glance-api.conf``. The operation will silently ignored if it fails"},{"line_number":59,"context_line":"even after certain retries."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Similar to old location API, users (not consumers like nova/cinder) can"}],"source_content_type":"text/x-rst","patch_set":14,"id":"f7dc7eec_22f8d8ab","line":58,"range":{"start_line":58,"start_character":38,"end_line":58,"end_character":43},"in_reply_to":"ae42d584_ec5256bb","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":53,"context_line":"help to control this operation. This operation can be disabled by turning"},{"line_number":54,"context_line":"this flag to ``False``. For similar reason the hashing calculation will be"},{"line_number":55,"context_line":"performed in the background so that consumers/clients need not to wait for"},{"line_number":56,"context_line":"its completion. If hashing calculation fails in between then it will be"},{"line_number":57,"context_line":"retried until the configuration option ``http_retries`` default set to 3"},{"line_number":58,"context_line":"in ``glance-api.conf``. The operation will silently ignored if it fails"},{"line_number":59,"context_line":"even after certain retries."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Similar to old location API, users (not consumers like nova/cinder) can"}],"source_content_type":"text/x-rst","patch_set":14,"id":"309b01c7_e12459b4","line":58,"range":{"start_line":56,"start_character":15,"end_line":58,"end_character":23},"in_reply_to":"db92bc59_b9a7e28a","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":56,"context_line":"its completion. If hashing calculation fails in between then it will be"},{"line_number":57,"context_line":"retried until the configuration option ``http_retries`` default set to 3"},{"line_number":58,"context_line":"in ``glance-api.conf``. The operation will silently ignored if it fails"},{"line_number":59,"context_line":"even after certain retries."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Similar to old location API, users (not consumers like nova/cinder) can"},{"line_number":62,"context_line":"also pass hashing values as an input to this new API using validation_data"}],"source_content_type":"text/x-rst","patch_set":14,"id":"34a0dcd4_973093d8","line":59,"range":{"start_line":59,"start_character":10,"end_line":59,"end_character":27},"updated":"2023-08-30 08:46:24.000000000","message":"the maximum retries as defined with the ``http_retries`` configuration option.","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":56,"context_line":"its completion. If hashing calculation fails in between then it will be"},{"line_number":57,"context_line":"retried until the configuration option ``http_retries`` default set to 3"},{"line_number":58,"context_line":"in ``glance-api.conf``. The operation will silently ignored if it fails"},{"line_number":59,"context_line":"even after certain retries."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Similar to old location API, users (not consumers like nova/cinder) can"},{"line_number":62,"context_line":"also pass hashing values as an input to this new API using validation_data"}],"source_content_type":"text/x-rst","patch_set":14,"id":"60999424_923e98da","line":59,"range":{"start_line":59,"start_character":10,"end_line":59,"end_character":27},"in_reply_to":"34a0dcd4_973093d8","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Similar to old location API, users (not consumers like nova/cinder) can"},{"line_number":62,"context_line":"also pass hashing values as an input to this new API using validation_data"},{"line_number":63,"context_line":"input parameter. In this case, if hashing calculation is enabled in the"},{"line_number":64,"context_line":"deployment (i.e. do_secure_hash is True) then it will validate calculated"},{"line_number":65,"context_line":"hash values with user provided values and marks the operation as failed if"},{"line_number":66,"context_line":"there is a difference. If hashing calculation is disabled"}],"source_content_type":"text/x-rst","patch_set":14,"id":"22229ad5_4dcfeca9","line":63,"range":{"start_line":63,"start_character":42,"end_line":63,"end_character":53},"updated":"2023-08-30 08:46:24.000000000","message":"nit: we can ignore the calculation part and just say, if hashing is enabled","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Similar to old location API, users (not consumers like nova/cinder) can"},{"line_number":62,"context_line":"also pass hashing values as an input to this new API using validation_data"},{"line_number":63,"context_line":"input parameter. In this case, if hashing calculation is enabled in the"},{"line_number":64,"context_line":"deployment (i.e. do_secure_hash is True) then it will validate calculated"},{"line_number":65,"context_line":"hash values with user provided values and marks the operation as failed if"},{"line_number":66,"context_line":"there is a difference. If hashing calculation is disabled"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3ef1c0f6_1d1688fd","line":63,"range":{"start_line":63,"start_character":0,"end_line":63,"end_character":16},"updated":"2023-08-30 08:46:24.000000000","message":"what do we mean by input parameter?\nEither it should be supplied from glance client, as a command option or should be provided in the request body when doing direct API request right?","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Similar to old location API, users (not consumers like nova/cinder) can"},{"line_number":62,"context_line":"also pass hashing values as an input to this new API using validation_data"},{"line_number":63,"context_line":"input parameter. In this case, if hashing calculation is enabled in the"},{"line_number":64,"context_line":"deployment (i.e. do_secure_hash is True) then it will validate calculated"},{"line_number":65,"context_line":"hash values with user provided values and marks the operation as failed if"},{"line_number":66,"context_line":"there is a difference. If hashing calculation is disabled"}],"source_content_type":"text/x-rst","patch_set":14,"id":"2e37f9f1_af344b18","line":63,"range":{"start_line":63,"start_character":42,"end_line":63,"end_character":53},"in_reply_to":"22229ad5_4dcfeca9","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Similar to old location API, users (not consumers like nova/cinder) can"},{"line_number":62,"context_line":"also pass hashing values as an input to this new API using validation_data"},{"line_number":63,"context_line":"input parameter. In this case, if hashing calculation is enabled in the"},{"line_number":64,"context_line":"deployment (i.e. do_secure_hash is True) then it will validate calculated"},{"line_number":65,"context_line":"hash values with user provided values and marks the operation as failed if"},{"line_number":66,"context_line":"there is a difference. If hashing calculation is disabled"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7f0aa191_8ae180cd","line":63,"range":{"start_line":63,"start_character":0,"end_line":63,"end_character":16},"in_reply_to":"3ef1c0f6_1d1688fd","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":62,"context_line":"also pass hashing values as an input to this new API using validation_data"},{"line_number":63,"context_line":"input parameter. In this case, if hashing calculation is enabled in the"},{"line_number":64,"context_line":"deployment (i.e. do_secure_hash is True) then it will validate calculated"},{"line_number":65,"context_line":"hash values with user provided values and marks the operation as failed if"},{"line_number":66,"context_line":"there is a difference. If hashing calculation is disabled"},{"line_number":67,"context_line":"(i.e. do_secure_hash is False) then user provided values will be set"},{"line_number":68,"context_line":"directly to the image."}],"source_content_type":"text/x-rst","patch_set":14,"id":"2b51ead8_6e355976","line":65,"range":{"start_line":65,"start_character":17,"end_line":65,"end_character":37},"updated":"2023-08-30 08:46:24.000000000","message":"it\u0027s unclear what we are referring to with user provided values.\nBetter would be to say, validation data provided in the request","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":62,"context_line":"also pass hashing values as an input to this new API using validation_data"},{"line_number":63,"context_line":"input parameter. In this case, if hashing calculation is enabled in the"},{"line_number":64,"context_line":"deployment (i.e. do_secure_hash is True) then it will validate calculated"},{"line_number":65,"context_line":"hash values with user provided values and marks the operation as failed if"},{"line_number":66,"context_line":"there is a difference. If hashing calculation is disabled"},{"line_number":67,"context_line":"(i.e. do_secure_hash is False) then user provided values will be set"},{"line_number":68,"context_line":"directly to the image."}],"source_content_type":"text/x-rst","patch_set":14,"id":"447ca46a_bcbf4d94","line":65,"range":{"start_line":65,"start_character":17,"end_line":65,"end_character":37},"in_reply_to":"2b51ead8_6e355976","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":63,"context_line":"input parameter. In this case, if hashing calculation is enabled in the"},{"line_number":64,"context_line":"deployment (i.e. do_secure_hash is True) then it will validate calculated"},{"line_number":65,"context_line":"hash values with user provided values and marks the operation as failed if"},{"line_number":66,"context_line":"there is a difference. If hashing calculation is disabled"},{"line_number":67,"context_line":"(i.e. do_secure_hash is False) then user provided values will be set"},{"line_number":68,"context_line":"directly to the image."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"d0abbb3f_c35f1be4","line":66,"range":{"start_line":66,"start_character":26,"end_line":66,"end_character":46},"updated":"2023-08-30 08:46:24.000000000","message":"nit: same","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":63,"context_line":"input parameter. In this case, if hashing calculation is enabled in the"},{"line_number":64,"context_line":"deployment (i.e. do_secure_hash is True) then it will validate calculated"},{"line_number":65,"context_line":"hash values with user provided values and marks the operation as failed if"},{"line_number":66,"context_line":"there is a difference. If hashing calculation is disabled"},{"line_number":67,"context_line":"(i.e. do_secure_hash is False) then user provided values will be set"},{"line_number":68,"context_line":"directly to the image."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"53a3a219_fa4ee04b","line":66,"range":{"start_line":66,"start_character":26,"end_line":66,"end_character":46},"in_reply_to":"d0abbb3f_c35f1be4","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":64,"context_line":"deployment (i.e. do_secure_hash is True) then it will validate calculated"},{"line_number":65,"context_line":"hash values with user provided values and marks the operation as failed if"},{"line_number":66,"context_line":"there is a difference. If hashing calculation is disabled"},{"line_number":67,"context_line":"(i.e. do_secure_hash is False) then user provided values will be set"},{"line_number":68,"context_line":"directly to the image."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"If hashing calculation is disabled for this API then we will have an"}],"source_content_type":"text/x-rst","patch_set":14,"id":"68befdd2_7e99ece6","line":67,"range":{"start_line":67,"start_character":36,"end_line":67,"end_character":56},"updated":"2023-08-30 08:46:24.000000000","message":"same","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":64,"context_line":"deployment (i.e. do_secure_hash is True) then it will validate calculated"},{"line_number":65,"context_line":"hash values with user provided values and marks the operation as failed if"},{"line_number":66,"context_line":"there is a difference. If hashing calculation is disabled"},{"line_number":67,"context_line":"(i.e. do_secure_hash is False) then user provided values will be set"},{"line_number":68,"context_line":"directly to the image."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"If hashing calculation is disabled for this API then we will have an"}],"source_content_type":"text/x-rst","patch_set":14,"id":"b08b77d2_cd68ffa0","line":67,"range":{"start_line":67,"start_character":36,"end_line":67,"end_character":56},"in_reply_to":"68befdd2_7e99ece6","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d0cc0dc1c7a9908d9d0f161ff10377f2fab5c1ec","unresolved":true,"context_lines":[{"line_number":39,"context_line":"users from modifying the image location again and again since the location"},{"line_number":40,"context_line":"added for the first time is the correct one as far as Glance is concerned."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The image(s) created using old location API were missing checksum and hashing"},{"line_number":43,"context_line":"information as consumers of this API (nova and cinder) never provided it."},{"line_number":44,"context_line":"As a result those images were never been cached as checksum was required"},{"line_number":45,"context_line":"to validate whether image is completely cached or not. Adding this mechanism"},{"line_number":46,"context_line":"to calculate the checksum and hash for the image not only resolved this issue"},{"line_number":47,"context_line":"but it will also improve caching operation since the checksum of original and"},{"line_number":48,"context_line":"cached image was compared only when entire image was downloaded in cache."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As the hashing calculation and it\u0027s verification is time consuming, we"},{"line_number":51,"context_line":"provide a configuration option to handle this operation. The new"},{"line_number":52,"context_line":"configuration option ``do_secure_hash`` default to ``True`` will"},{"line_number":53,"context_line":"help to control this operation. This operation can be disabled by turning"},{"line_number":54,"context_line":"this flag to ``False``. For similar reason the hashing calculation will be"},{"line_number":55,"context_line":"performed in the background so that consumers/clients need not to wait for"},{"line_number":56,"context_line":"its completion. If hashing calculation fails in between then it will be"},{"line_number":57,"context_line":"retried until the configuration option ``http_retries`` default set to 3"},{"line_number":58,"context_line":"in ``glance-api.conf``. The operation will silently ignored if it fails"},{"line_number":59,"context_line":"even after certain retries."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Similar to old location API, users (not consumers like nova/cinder) can"},{"line_number":62,"context_line":"also pass hashing values as an input to this new API using validation_data"},{"line_number":63,"context_line":"input parameter. In this case, if hashing calculation is enabled in the"},{"line_number":64,"context_line":"deployment (i.e. do_secure_hash is True) then it will validate calculated"},{"line_number":65,"context_line":"hash values with user provided values and marks the operation as failed if"},{"line_number":66,"context_line":"there is a difference. If hashing calculation is disabled"},{"line_number":67,"context_line":"(i.e. do_secure_hash is False) then user provided values will be set"},{"line_number":68,"context_line":"directly to the image."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"If hashing calculation is disabled for this API then we will have an"},{"line_number":71,"context_line":"active image but again it will fail to cache, so Glance recommends consumers"},{"line_number":72,"context_line":"like nova and cinder as well as normal users should keep hashing calculation"},{"line_number":73,"context_line":"enabled."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":".. note:: Usage of this API for non service users is only allowed if http"},{"line_number":76,"context_line":"          store is enabled in the deployment."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Get Locations"}],"source_content_type":"text/x-rst","patch_set":14,"id":"31be386c_05526520","line":76,"range":{"start_line":42,"start_character":0,"end_line":76,"end_character":45},"updated":"2023-08-30 05:36:12.000000000","message":"Corrected grammatical errors,\n\nThe image(s) created using the old location API were missing checksums and hashes as consumers of this API (Nova and Cinder) never provided it.\nAs a result, those images were never cached, as a checksum was required to validate whether the image is completely cached or not. Adding this mechanism\nto calculate the checksum and hash for the image not only resolved this issue but it will also improve caching operations since the checksum of the original and a cached image was compared only when the entire image was downloaded in cache.\n\nAs the hashing calculation and its verification are time-consuming, we\nprovide a configuration option to handle this operation. The new\nconfiguration option ``do_secure_hash`` default to ``True`` will\nhelp control this operation. This operation can be disabled by turning\nthis flag to ``False``. For similar reasons, the hashing calculation will be\nperformed in the background so that consumers or clients need not wait for\nits completion. If the hashing calculation fails in between, then it will be\nretried until the configuration option ``http_retries`` defaults to ``3``\nin ``glance-api.conf``. The operation will be silently ignored if it fails\neven after certain retries.\n\nSimilar to the old location API, users (not consumers like Nova or Cinder) can\nalso pass hashing values as an input to this new API using ``validation_data``\ninput parameter. In this case, if hashing calculation is enabled in the\ndeployment (i.e., do_secure_hash is True) then it will validate the calculated\nhash values with user-provided values and marks the operation as failed if\nthere is a difference. If hashing calculation is disabled,\n(i.e., do_secure_hash is False) then user-provided values will be set\ndirectly to the image.\n\nIf hashing calculation is disabled for this API, then we will have an\nactive image, but again it will fail to cache, so Glance recommends consumers\nlike Nova and Cinder, as well as normal users, should keep hashing calculation\nenabled.\n\n.. note:: Usage of this API for non-service users is only allowed if http\n          store is enabled in the deployment.","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"19ab1f19c90df70fea70c27c9bbfa4ad3d32635b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"users from modifying the image location again and again since the location"},{"line_number":40,"context_line":"added for the first time is the correct one as far as Glance is concerned."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The image(s) created using old location API were missing checksum and hashing"},{"line_number":43,"context_line":"information as consumers of this API (nova and cinder) never provided it."},{"line_number":44,"context_line":"As a result those images were never been cached as checksum was required"},{"line_number":45,"context_line":"to validate whether image is completely cached or not. Adding this mechanism"},{"line_number":46,"context_line":"to calculate the checksum and hash for the image not only resolved this issue"},{"line_number":47,"context_line":"but it will also improve caching operation since the checksum of original and"},{"line_number":48,"context_line":"cached image was compared only when entire image was downloaded in cache."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"As the hashing calculation and it\u0027s verification is time consuming, we"},{"line_number":51,"context_line":"provide a configuration option to handle this operation. The new"},{"line_number":52,"context_line":"configuration option ``do_secure_hash`` default to ``True`` will"},{"line_number":53,"context_line":"help to control this operation. This operation can be disabled by turning"},{"line_number":54,"context_line":"this flag to ``False``. For similar reason the hashing calculation will be"},{"line_number":55,"context_line":"performed in the background so that consumers/clients need not to wait for"},{"line_number":56,"context_line":"its completion. If hashing calculation fails in between then it will be"},{"line_number":57,"context_line":"retried until the configuration option ``http_retries`` default set to 3"},{"line_number":58,"context_line":"in ``glance-api.conf``. The operation will silently ignored if it fails"},{"line_number":59,"context_line":"even after certain retries."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Similar to old location API, users (not consumers like nova/cinder) can"},{"line_number":62,"context_line":"also pass hashing values as an input to this new API using validation_data"},{"line_number":63,"context_line":"input parameter. In this case, if hashing calculation is enabled in the"},{"line_number":64,"context_line":"deployment (i.e. do_secure_hash is True) then it will validate calculated"},{"line_number":65,"context_line":"hash values with user provided values and marks the operation as failed if"},{"line_number":66,"context_line":"there is a difference. If hashing calculation is disabled"},{"line_number":67,"context_line":"(i.e. do_secure_hash is False) then user provided values will be set"},{"line_number":68,"context_line":"directly to the image."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"If hashing calculation is disabled for this API then we will have an"},{"line_number":71,"context_line":"active image but again it will fail to cache, so Glance recommends consumers"},{"line_number":72,"context_line":"like nova and cinder as well as normal users should keep hashing calculation"},{"line_number":73,"context_line":"enabled."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":".. note:: Usage of this API for non service users is only allowed if http"},{"line_number":76,"context_line":"          store is enabled in the deployment."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Get Locations"}],"source_content_type":"text/x-rst","patch_set":14,"id":"808069b8_c9a725c9","line":76,"range":{"start_line":42,"start_character":0,"end_line":76,"end_character":45},"in_reply_to":"31be386c_05526520","updated":"2023-08-30 08:45:09.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":80,"context_line":"-------------"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Get location api is introduced to get the locations associated to an image"},{"line_number":83,"context_line":"without enabling the configuration parameter ``show_multiple_locations``."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Get locations operation is strictly allowed for service users only, meaning"},{"line_number":86,"context_line":"only consumers like nova, cinder etc will be able to access this api."}],"source_content_type":"text/x-rst","patch_set":14,"id":"c2c53a77_ade70218","line":83,"range":{"start_line":83,"start_character":0,"end_line":83,"end_character":73},"updated":"2023-08-30 08:46:24.000000000","message":"this is part of the purpose but not the whole purpose.\nThe main idea is to abstract the location information from end users so they are not able to see where exactly the image is stored.","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":80,"context_line":"-------------"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Get location api is introduced to get the locations associated to an image"},{"line_number":83,"context_line":"without enabling the configuration parameter ``show_multiple_locations``."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Get locations operation is strictly allowed for service users only, meaning"},{"line_number":86,"context_line":"only consumers like nova, cinder etc will be able to access this api."}],"source_content_type":"text/x-rst","patch_set":14,"id":"2ef6ca8f_0e49f9da","line":83,"range":{"start_line":83,"start_character":0,"end_line":83,"end_character":73},"in_reply_to":"c2c53a77_ade70218","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0198d06b547c979e5b849c073965ab456a69fa91","unresolved":true,"context_lines":[{"line_number":82,"context_line":"Get location api is introduced to get the locations associated to an image"},{"line_number":83,"context_line":"without enabling the configuration parameter ``show_multiple_locations``."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Get locations operation is strictly allowed for service users only, meaning"},{"line_number":86,"context_line":"only consumers like nova, cinder etc will be able to access this api."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"This API will return the list of the locations associated to the image."}],"source_content_type":"text/x-rst","patch_set":14,"id":"17d5f8df_aa3a3dea","line":85,"range":{"start_line":85,"start_character":48,"end_line":85,"end_character":61},"updated":"2023-08-30 08:46:24.000000000","message":"again service user is confusing, better to say service to service interaction","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"66264c69f731770f840b5bbe47830bbb11a0d89f","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Get location api is introduced to get the locations associated to an image"},{"line_number":83,"context_line":"without enabling the configuration parameter ``show_multiple_locations``."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Get locations operation is strictly allowed for service users only, meaning"},{"line_number":86,"context_line":"only consumers like nova, cinder etc will be able to access this api."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"This API will return the list of the locations associated to the image."}],"source_content_type":"text/x-rst","patch_set":14,"id":"dcd357bd_c728c064","line":85,"range":{"start_line":85,"start_character":48,"end_line":85,"end_character":61},"in_reply_to":"17d5f8df_aa3a3dea","updated":"2023-08-30 10:40:53.000000000","message":"Done","commit_id":"235bae2696abacd3e13eeed3e61bfdfa1f864b81"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c4df0e150188d1e984a36e4779e1fb439151de4d","unresolved":true,"context_lines":[{"line_number":40,"context_line":"Glance is concerned."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The use case for old location API for consumers (nova and cinder) is to"},{"line_number":43,"context_line":"create images efficiently with an optimized workflow which avoids the hash"},{"line_number":44,"context_line":"calculation steps which exists in the generic image create workflow of"},{"line_number":45,"context_line":"glance leading to missing checksum and hash information in those images."},{"line_number":46,"context_line":"As a result, those images were never cached, as a checksum was required"}],"source_content_type":"text/x-rst","patch_set":17,"id":"57517d7d_e4572b28","line":43,"range":{"start_line":43,"start_character":34,"end_line":43,"end_character":65},"updated":"2023-09-04 09:24:23.000000000","message":"sorry for correcting my own suggestion but on reading this sentence, it sounds too complex to understand in one go, maybe we can break it, something like\n\n\"optimized workflow. This workflow avoids\"","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3435c3dc0574eb21fb9017ca14f8b2a02e7a28bc","unresolved":false,"context_lines":[{"line_number":40,"context_line":"Glance is concerned."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The use case for old location API for consumers (nova and cinder) is to"},{"line_number":43,"context_line":"create images efficiently with an optimized workflow which avoids the hash"},{"line_number":44,"context_line":"calculation steps which exists in the generic image create workflow of"},{"line_number":45,"context_line":"glance leading to missing checksum and hash information in those images."},{"line_number":46,"context_line":"As a result, those images were never cached, as a checksum was required"}],"source_content_type":"text/x-rst","patch_set":17,"id":"dfc08817_aa0bab0a","line":43,"range":{"start_line":43,"start_character":34,"end_line":43,"end_character":65},"in_reply_to":"57517d7d_e4572b28","updated":"2023-09-05 07:26:08.000000000","message":"Done","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"50dc04d43205f4eddaec0faa96a51764af1b8945","unresolved":true,"context_lines":[{"line_number":42,"context_line":"The use case for old location API for consumers (nova and cinder) is to"},{"line_number":43,"context_line":"create images efficiently with an optimized workflow which avoids the hash"},{"line_number":44,"context_line":"calculation steps which exists in the generic image create workflow of"},{"line_number":45,"context_line":"glance leading to missing checksum and hash information in those images."},{"line_number":46,"context_line":"As a result, those images were never cached, as a checksum was required"},{"line_number":47,"context_line":"to validate whether the image is completely cached or not. Adding this"},{"line_number":48,"context_line":"mechanism to calculate the checksum and hash for the image will not only"}],"source_content_type":"text/x-rst","patch_set":17,"id":"52fafa02_5ba7e1ed","line":45,"range":{"start_line":45,"start_character":56,"end_line":45,"end_character":58},"updated":"2023-08-30 15:46:39.000000000","message":"for?","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"0137136dca60fc34b74521923a3b440373f7c491","unresolved":false,"context_lines":[{"line_number":42,"context_line":"The use case for old location API for consumers (nova and cinder) is to"},{"line_number":43,"context_line":"create images efficiently with an optimized workflow which avoids the hash"},{"line_number":44,"context_line":"calculation steps which exists in the generic image create workflow of"},{"line_number":45,"context_line":"glance leading to missing checksum and hash information in those images."},{"line_number":46,"context_line":"As a result, those images were never cached, as a checksum was required"},{"line_number":47,"context_line":"to validate whether the image is completely cached or not. Adding this"},{"line_number":48,"context_line":"mechanism to calculate the checksum and hash for the image will not only"}],"source_content_type":"text/x-rst","patch_set":17,"id":"993dbe22_2950f31d","line":45,"range":{"start_line":45,"start_character":56,"end_line":45,"end_character":58},"in_reply_to":"52fafa02_5ba7e1ed","updated":"2023-08-31 07:59:07.000000000","message":"Done","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"50dc04d43205f4eddaec0faa96a51764af1b8945","unresolved":true,"context_lines":[{"line_number":45,"context_line":"glance leading to missing checksum and hash information in those images."},{"line_number":46,"context_line":"As a result, those images were never cached, as a checksum was required"},{"line_number":47,"context_line":"to validate whether the image is completely cached or not. Adding this"},{"line_number":48,"context_line":"mechanism to calculate the checksum and hash for the image will not only"},{"line_number":49,"context_line":"resolved this issue but it will also improve caching operations since"},{"line_number":50,"context_line":"the checksum of the original and a cached image was compared only when"},{"line_number":51,"context_line":"the entire image was downloaded in cache."}],"source_content_type":"text/x-rst","patch_set":17,"id":"5f1d4f56_cee97936","line":48,"range":{"start_line":48,"start_character":59,"end_line":48,"end_character":63},"updated":"2023-08-30 15:46:39.000000000","message":"has","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"0137136dca60fc34b74521923a3b440373f7c491","unresolved":false,"context_lines":[{"line_number":45,"context_line":"glance leading to missing checksum and hash information in those images."},{"line_number":46,"context_line":"As a result, those images were never cached, as a checksum was required"},{"line_number":47,"context_line":"to validate whether the image is completely cached or not. Adding this"},{"line_number":48,"context_line":"mechanism to calculate the checksum and hash for the image will not only"},{"line_number":49,"context_line":"resolved this issue but it will also improve caching operations since"},{"line_number":50,"context_line":"the checksum of the original and a cached image was compared only when"},{"line_number":51,"context_line":"the entire image was downloaded in cache."}],"source_content_type":"text/x-rst","patch_set":17,"id":"38150114_4aeae3a6","line":48,"range":{"start_line":48,"start_character":59,"end_line":48,"end_character":63},"in_reply_to":"5f1d4f56_cee97936","updated":"2023-08-31 07:59:07.000000000","message":"Done","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c4df0e150188d1e984a36e4779e1fb439151de4d","unresolved":true,"context_lines":[{"line_number":45,"context_line":"glance leading to missing checksum and hash information in those images."},{"line_number":46,"context_line":"As a result, those images were never cached, as a checksum was required"},{"line_number":47,"context_line":"to validate whether the image is completely cached or not. Adding this"},{"line_number":48,"context_line":"mechanism to calculate the checksum and hash for the image will not only"},{"line_number":49,"context_line":"resolved this issue but it will also improve caching operations since"},{"line_number":50,"context_line":"the checksum of the original and a cached image was compared only when"},{"line_number":51,"context_line":"the entire image was downloaded in cache."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"73903409_7d5ff98d","line":49,"range":{"start_line":48,"start_character":59,"end_line":49,"end_character":63},"updated":"2023-09-04 09:24:23.000000000","message":"I think the sentence should be,\n\nwill not only resolve\nOR\nhas not only resolved but also improved the caching operations","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3435c3dc0574eb21fb9017ca14f8b2a02e7a28bc","unresolved":false,"context_lines":[{"line_number":45,"context_line":"glance leading to missing checksum and hash information in those images."},{"line_number":46,"context_line":"As a result, those images were never cached, as a checksum was required"},{"line_number":47,"context_line":"to validate whether the image is completely cached or not. Adding this"},{"line_number":48,"context_line":"mechanism to calculate the checksum and hash for the image will not only"},{"line_number":49,"context_line":"resolved this issue but it will also improve caching operations since"},{"line_number":50,"context_line":"the checksum of the original and a cached image was compared only when"},{"line_number":51,"context_line":"the entire image was downloaded in cache."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"2808569d_28298d48","line":49,"range":{"start_line":48,"start_character":59,"end_line":49,"end_character":63},"in_reply_to":"73903409_7d5ff98d","updated":"2023-09-05 07:26:08.000000000","message":"Done","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c4df0e150188d1e984a36e4779e1fb439151de4d","unresolved":true,"context_lines":[{"line_number":47,"context_line":"to validate whether the image is completely cached or not. Adding this"},{"line_number":48,"context_line":"mechanism to calculate the checksum and hash for the image will not only"},{"line_number":49,"context_line":"resolved this issue but it will also improve caching operations since"},{"line_number":50,"context_line":"the checksum of the original and a cached image was compared only when"},{"line_number":51,"context_line":"the entire image was downloaded in cache."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"As the hashing calculation and its verification are time-consuming, we"},{"line_number":54,"context_line":"provide a configuration option to enable/disable this operation. The new"}],"source_content_type":"text/x-rst","patch_set":17,"id":"3e648302_342d3d0c","line":51,"range":{"start_line":50,"start_character":48,"end_line":51,"end_character":41},"updated":"2023-09-04 09:24:23.000000000","message":"I think this is still true? so instead of \"was\" we can write \"is\"","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c4df0e150188d1e984a36e4779e1fb439151de4d","unresolved":true,"context_lines":[{"line_number":48,"context_line":"mechanism to calculate the checksum and hash for the image will not only"},{"line_number":49,"context_line":"resolved this issue but it will also improve caching operations since"},{"line_number":50,"context_line":"the checksum of the original and a cached image was compared only when"},{"line_number":51,"context_line":"the entire image was downloaded in cache."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"As the hashing calculation and its verification are time-consuming, we"},{"line_number":54,"context_line":"provide a configuration option to enable/disable this operation. The new"}],"source_content_type":"text/x-rst","patch_set":17,"id":"ddbe1b4c_03866dd1","line":51,"range":{"start_line":51,"start_character":32,"end_line":51,"end_character":40},"updated":"2023-09-04 09:24:23.000000000","message":"nit: in the cache.","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3435c3dc0574eb21fb9017ca14f8b2a02e7a28bc","unresolved":false,"context_lines":[{"line_number":47,"context_line":"to validate whether the image is completely cached or not. Adding this"},{"line_number":48,"context_line":"mechanism to calculate the checksum and hash for the image will not only"},{"line_number":49,"context_line":"resolved this issue but it will also improve caching operations since"},{"line_number":50,"context_line":"the checksum of the original and a cached image was compared only when"},{"line_number":51,"context_line":"the entire image was downloaded in cache."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"As the hashing calculation and its verification are time-consuming, we"},{"line_number":54,"context_line":"provide a configuration option to enable/disable this operation. The new"}],"source_content_type":"text/x-rst","patch_set":17,"id":"14b1a8e4_e86f62a2","line":51,"range":{"start_line":50,"start_character":48,"end_line":51,"end_character":41},"in_reply_to":"3e648302_342d3d0c","updated":"2023-09-05 07:26:08.000000000","message":"Done","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3435c3dc0574eb21fb9017ca14f8b2a02e7a28bc","unresolved":false,"context_lines":[{"line_number":48,"context_line":"mechanism to calculate the checksum and hash for the image will not only"},{"line_number":49,"context_line":"resolved this issue but it will also improve caching operations since"},{"line_number":50,"context_line":"the checksum of the original and a cached image was compared only when"},{"line_number":51,"context_line":"the entire image was downloaded in cache."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"As the hashing calculation and its verification are time-consuming, we"},{"line_number":54,"context_line":"provide a configuration option to enable/disable this operation. The new"}],"source_content_type":"text/x-rst","patch_set":17,"id":"9181cc5b_f2f17329","line":51,"range":{"start_line":51,"start_character":32,"end_line":51,"end_character":40},"in_reply_to":"ddbe1b4c_03866dd1","updated":"2023-09-05 07:26:08.000000000","message":"Done","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"50dc04d43205f4eddaec0faa96a51764af1b8945","unresolved":true,"context_lines":[{"line_number":59,"context_line":"background so that consumers or clients need not to wait for its completion."},{"line_number":60,"context_line":"If the hash calculation fails, we have a retry mechanism that will retry the"},{"line_number":61,"context_line":"operation as per the value defined of the configuration option"},{"line_number":62,"context_line":"``http_retries`` in the glance-api.conf file. The default value is 3."},{"line_number":63,"context_line":"The operation will be silently ignored if it fails even after the maximum"},{"line_number":64,"context_line":"retries as defined with the http_retries configuration option."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"f27d00d4_c98feb2f","line":62,"range":{"start_line":62,"start_character":67,"end_line":62,"end_character":68},"updated":"2023-08-30 15:46:39.000000000","message":"``3``","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"0137136dca60fc34b74521923a3b440373f7c491","unresolved":false,"context_lines":[{"line_number":59,"context_line":"background so that consumers or clients need not to wait for its completion."},{"line_number":60,"context_line":"If the hash calculation fails, we have a retry mechanism that will retry the"},{"line_number":61,"context_line":"operation as per the value defined of the configuration option"},{"line_number":62,"context_line":"``http_retries`` in the glance-api.conf file. The default value is 3."},{"line_number":63,"context_line":"The operation will be silently ignored if it fails even after the maximum"},{"line_number":64,"context_line":"retries as defined with the http_retries configuration option."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"461c6184_9d7db528","line":62,"range":{"start_line":62,"start_character":67,"end_line":62,"end_character":68},"in_reply_to":"f27d00d4_c98feb2f","updated":"2023-08-31 07:59:07.000000000","message":"Done","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"50dc04d43205f4eddaec0faa96a51764af1b8945","unresolved":true,"context_lines":[{"line_number":61,"context_line":"operation as per the value defined of the configuration option"},{"line_number":62,"context_line":"``http_retries`` in the glance-api.conf file. The default value is 3."},{"line_number":63,"context_line":"The operation will be silently ignored if it fails even after the maximum"},{"line_number":64,"context_line":"retries as defined with the http_retries configuration option."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Similar to the old location API, users (not consumers like Nova or Cinder) can"},{"line_number":67,"context_line":"also pass hashing values as an input to this new API using validation_data,"}],"source_content_type":"text/x-rst","patch_set":17,"id":"42b800cc_36a2fae4","line":64,"range":{"start_line":64,"start_character":28,"end_line":64,"end_character":40},"updated":"2023-08-30 15:46:39.000000000","message":"``http_retries``","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"0137136dca60fc34b74521923a3b440373f7c491","unresolved":false,"context_lines":[{"line_number":61,"context_line":"operation as per the value defined of the configuration option"},{"line_number":62,"context_line":"``http_retries`` in the glance-api.conf file. The default value is 3."},{"line_number":63,"context_line":"The operation will be silently ignored if it fails even after the maximum"},{"line_number":64,"context_line":"retries as defined with the http_retries configuration option."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Similar to the old location API, users (not consumers like Nova or Cinder) can"},{"line_number":67,"context_line":"also pass hashing values as an input to this new API using validation_data,"}],"source_content_type":"text/x-rst","patch_set":17,"id":"89326004_23c4b9e8","line":64,"range":{"start_line":64,"start_character":28,"end_line":64,"end_character":40},"in_reply_to":"42b800cc_36a2fae4","updated":"2023-08-31 07:59:07.000000000","message":"Done","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c4df0e150188d1e984a36e4779e1fb439151de4d","unresolved":true,"context_lines":[{"line_number":64,"context_line":"retries as defined with the http_retries configuration option."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Similar to the old location API, users (not consumers like Nova or Cinder) can"},{"line_number":67,"context_line":"also pass hashing values as an input to this new API using validation_data,"},{"line_number":68,"context_line":"either it should be supplied from glance client, as a command option or"},{"line_number":69,"context_line":"should be provided in the request body when doing direct API request."},{"line_number":70,"context_line":"In this case, if hashing is enabled in the deployment(i.e., do_secure_hash"}],"source_content_type":"text/x-rst","patch_set":17,"id":"0535a754_895c2d43","line":67,"range":{"start_line":67,"start_character":9,"end_line":67,"end_character":24},"updated":"2023-09-04 09:24:23.000000000","message":"hash and checksum values","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3435c3dc0574eb21fb9017ca14f8b2a02e7a28bc","unresolved":true,"context_lines":[{"line_number":64,"context_line":"retries as defined with the http_retries configuration option."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Similar to the old location API, users (not consumers like Nova or Cinder) can"},{"line_number":67,"context_line":"also pass hashing values as an input to this new API using validation_data,"},{"line_number":68,"context_line":"either it should be supplied from glance client, as a command option or"},{"line_number":69,"context_line":"should be provided in the request body when doing direct API request."},{"line_number":70,"context_line":"In this case, if hashing is enabled in the deployment(i.e., do_secure_hash"}],"source_content_type":"text/x-rst","patch_set":17,"id":"44ccd655_08c88e7f","line":67,"range":{"start_line":67,"start_character":9,"end_line":67,"end_character":24},"in_reply_to":"0535a754_895c2d43","updated":"2023-09-05 07:26:08.000000000","message":"I think hash values is correct since as per the revised spec we have skipped to pass checksum in validation data.","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"93dd3d9f39a9a1deffca54df956569a118882946","unresolved":false,"context_lines":[{"line_number":64,"context_line":"retries as defined with the http_retries configuration option."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Similar to the old location API, users (not consumers like Nova or Cinder) can"},{"line_number":67,"context_line":"also pass hashing values as an input to this new API using validation_data,"},{"line_number":68,"context_line":"either it should be supplied from glance client, as a command option or"},{"line_number":69,"context_line":"should be provided in the request body when doing direct API request."},{"line_number":70,"context_line":"In this case, if hashing is enabled in the deployment(i.e., do_secure_hash"}],"source_content_type":"text/x-rst","patch_set":17,"id":"cf6592ea_ea6789d2","line":67,"range":{"start_line":67,"start_character":9,"end_line":67,"end_character":24},"in_reply_to":"44ccd655_08c88e7f","updated":"2023-10-31 09:33:03.000000000","message":"Done","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c4df0e150188d1e984a36e4779e1fb439151de4d","unresolved":true,"context_lines":[{"line_number":67,"context_line":"also pass hashing values as an input to this new API using validation_data,"},{"line_number":68,"context_line":"either it should be supplied from glance client, as a command option or"},{"line_number":69,"context_line":"should be provided in the request body when doing direct API request."},{"line_number":70,"context_line":"In this case, if hashing is enabled in the deployment(i.e., do_secure_hash"},{"line_number":71,"context_line":"is True) then it will validate the calculated hash values with validation_data"},{"line_number":72,"context_line":"and marks the operation as failed if there is a difference. If hashing is"},{"line_number":73,"context_line":"disabled, (i.e., do_secure_hash is False) then validation_data will be"}],"source_content_type":"text/x-rst","patch_set":17,"id":"8863b57a_bb6678cc","line":70,"range":{"start_line":70,"start_character":60,"end_line":70,"end_character":74},"updated":"2023-09-04 09:24:23.000000000","message":"nit: \\`\\`do_secure_hash\\`\\`","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3435c3dc0574eb21fb9017ca14f8b2a02e7a28bc","unresolved":false,"context_lines":[{"line_number":67,"context_line":"also pass hashing values as an input to this new API using validation_data,"},{"line_number":68,"context_line":"either it should be supplied from glance client, as a command option or"},{"line_number":69,"context_line":"should be provided in the request body when doing direct API request."},{"line_number":70,"context_line":"In this case, if hashing is enabled in the deployment(i.e., do_secure_hash"},{"line_number":71,"context_line":"is True) then it will validate the calculated hash values with validation_data"},{"line_number":72,"context_line":"and marks the operation as failed if there is a difference. If hashing is"},{"line_number":73,"context_line":"disabled, (i.e., do_secure_hash is False) then validation_data will be"}],"source_content_type":"text/x-rst","patch_set":17,"id":"e9caa872_faa5b18b","line":70,"range":{"start_line":70,"start_character":60,"end_line":70,"end_character":74},"in_reply_to":"8863b57a_bb6678cc","updated":"2023-09-05 07:26:08.000000000","message":"Done","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c4df0e150188d1e984a36e4779e1fb439151de4d","unresolved":true,"context_lines":[{"line_number":70,"context_line":"In this case, if hashing is enabled in the deployment(i.e., do_secure_hash"},{"line_number":71,"context_line":"is True) then it will validate the calculated hash values with validation_data"},{"line_number":72,"context_line":"and marks the operation as failed if there is a difference. If hashing is"},{"line_number":73,"context_line":"disabled, (i.e., do_secure_hash is False) then validation_data will be"},{"line_number":74,"context_line":"set directly to the image."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"If hashing is disabled for this API, then we will have an active image,"}],"source_content_type":"text/x-rst","patch_set":17,"id":"0678ebd7_143a191c","line":73,"range":{"start_line":73,"start_character":17,"end_line":73,"end_character":31},"updated":"2023-09-04 09:24:23.000000000","message":"nit: \\`\\`do_secure_hash\\`\\`","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"50dc04d43205f4eddaec0faa96a51764af1b8945","unresolved":true,"context_lines":[{"line_number":70,"context_line":"In this case, if hashing is enabled in the deployment(i.e., do_secure_hash"},{"line_number":71,"context_line":"is True) then it will validate the calculated hash values with validation_data"},{"line_number":72,"context_line":"and marks the operation as failed if there is a difference. If hashing is"},{"line_number":73,"context_line":"disabled, (i.e., do_secure_hash is False) then validation_data will be"},{"line_number":74,"context_line":"set directly to the image."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"If hashing is disabled for this API, then we will have an active image,"}],"source_content_type":"text/x-rst","patch_set":17,"id":"5dc6e03d_d5682a12","line":73,"range":{"start_line":73,"start_character":47,"end_line":73,"end_character":62},"updated":"2023-08-30 15:46:39.000000000","message":"values provided in validation_data","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3435c3dc0574eb21fb9017ca14f8b2a02e7a28bc","unresolved":false,"context_lines":[{"line_number":70,"context_line":"In this case, if hashing is enabled in the deployment(i.e., do_secure_hash"},{"line_number":71,"context_line":"is True) then it will validate the calculated hash values with validation_data"},{"line_number":72,"context_line":"and marks the operation as failed if there is a difference. If hashing is"},{"line_number":73,"context_line":"disabled, (i.e., do_secure_hash is False) then validation_data will be"},{"line_number":74,"context_line":"set directly to the image."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"If hashing is disabled for this API, then we will have an active image,"}],"source_content_type":"text/x-rst","patch_set":17,"id":"f9394c14_792331a0","line":73,"range":{"start_line":73,"start_character":17,"end_line":73,"end_character":31},"in_reply_to":"0678ebd7_143a191c","updated":"2023-09-05 07:26:08.000000000","message":"Done","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"0137136dca60fc34b74521923a3b440373f7c491","unresolved":false,"context_lines":[{"line_number":70,"context_line":"In this case, if hashing is enabled in the deployment(i.e., do_secure_hash"},{"line_number":71,"context_line":"is True) then it will validate the calculated hash values with validation_data"},{"line_number":72,"context_line":"and marks the operation as failed if there is a difference. If hashing is"},{"line_number":73,"context_line":"disabled, (i.e., do_secure_hash is False) then validation_data will be"},{"line_number":74,"context_line":"set directly to the image."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"If hashing is disabled for this API, then we will have an active image,"}],"source_content_type":"text/x-rst","patch_set":17,"id":"112cc165_53a3e4b5","line":73,"range":{"start_line":73,"start_character":47,"end_line":73,"end_character":62},"in_reply_to":"5dc6e03d_d5682a12","updated":"2023-08-31 07:59:07.000000000","message":"Done","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c4df0e150188d1e984a36e4779e1fb439151de4d","unresolved":true,"context_lines":[{"line_number":77,"context_line":"but again it will fail to cache, so Glance recommends consumers like Nova"},{"line_number":78,"context_line":"and Cinder as well as normal users should keep hashing enabled."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":".. note:: Usage of this API for non-service users is only allowed if http"},{"line_number":81,"context_line":"          store is enabled in the deployment."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"3898bf2a_1335ec05","line":80,"range":{"start_line":80,"start_character":32,"end_line":80,"end_character":49},"updated":"2023-09-04 09:24:23.000000000","message":"Is this understandable by a normal user or an operator?\ncan we write \"end users\" instead?","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3435c3dc0574eb21fb9017ca14f8b2a02e7a28bc","unresolved":false,"context_lines":[{"line_number":77,"context_line":"but again it will fail to cache, so Glance recommends consumers like Nova"},{"line_number":78,"context_line":"and Cinder as well as normal users should keep hashing enabled."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":".. note:: Usage of this API for non-service users is only allowed if http"},{"line_number":81,"context_line":"          store is enabled in the deployment."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"a4cf3188_26e7c4c7","line":80,"range":{"start_line":80,"start_character":32,"end_line":80,"end_character":49},"in_reply_to":"3898bf2a_1335ec05","updated":"2023-09-05 07:26:08.000000000","message":"Done","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c4df0e150188d1e984a36e4779e1fb439151de4d","unresolved":true,"context_lines":[{"line_number":84,"context_line":"Get Locations"},{"line_number":85,"context_line":"-------------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Get location api is introduced to get the locations associated to an image"},{"line_number":88,"context_line":"to abstract the location information from end users so that they are not able"},{"line_number":89,"context_line":"to see where exactly the image is stored."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"34da39ce_0296b2cc","line":87,"range":{"start_line":87,"start_character":13,"end_line":87,"end_character":16},"updated":"2023-09-04 09:24:23.000000000","message":"nit: we should be consistent if we want API to be uppercase (which makes sense since it\u0027s an acronym) or lowercase","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3435c3dc0574eb21fb9017ca14f8b2a02e7a28bc","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Get Locations"},{"line_number":85,"context_line":"-------------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Get location api is introduced to get the locations associated to an image"},{"line_number":88,"context_line":"to abstract the location information from end users so that they are not able"},{"line_number":89,"context_line":"to see where exactly the image is stored."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"6ded8f74_2911f7a8","line":87,"range":{"start_line":87,"start_character":13,"end_line":87,"end_character":16},"in_reply_to":"34da39ce_0296b2cc","updated":"2023-09-05 07:26:08.000000000","message":"Done","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c4df0e150188d1e984a36e4779e1fb439151de4d","unresolved":true,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Get locations operation is strictly allowed for service to service interaction"},{"line_number":92,"context_line":"only, meaning only consumers like nova, cinder etc will be able to access this"},{"line_number":93,"context_line":"api."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"This API will return the list of the locations associated to the image."}],"source_content_type":"text/x-rst","patch_set":17,"id":"dd25574a_bfb7bba3","line":93,"range":{"start_line":93,"start_character":0,"end_line":93,"end_character":3},"updated":"2023-09-04 09:24:23.000000000","message":"nit: same","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3435c3dc0574eb21fb9017ca14f8b2a02e7a28bc","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Get locations operation is strictly allowed for service to service interaction"},{"line_number":92,"context_line":"only, meaning only consumers like nova, cinder etc will be able to access this"},{"line_number":93,"context_line":"api."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"This API will return the list of the locations associated to the image."}],"source_content_type":"text/x-rst","patch_set":17,"id":"dcd27063_38e0b395","line":93,"range":{"start_line":93,"start_character":0,"end_line":93,"end_character":3},"in_reply_to":"dd25574a_bfb7bba3","updated":"2023-09-05 07:26:08.000000000","message":"Done","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c4df0e150188d1e984a36e4779e1fb439151de4d","unresolved":true,"context_lines":[{"line_number":92,"context_line":"only, meaning only consumers like nova, cinder etc will be able to access this"},{"line_number":93,"context_line":"api."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"This API will return the list of the locations associated to the image."}],"source_content_type":"text/x-rst","patch_set":17,"id":"0c8b1554_b9068532","line":95,"range":{"start_line":95,"start_character":0,"end_line":95,"end_character":71},"updated":"2023-09-04 09:24:23.000000000","message":"this should be the first line after the heading \"Get Locations\", similar to what we have done in \"Add Locations\" section","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3435c3dc0574eb21fb9017ca14f8b2a02e7a28bc","unresolved":false,"context_lines":[{"line_number":92,"context_line":"only, meaning only consumers like nova, cinder etc will be able to access this"},{"line_number":93,"context_line":"api."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"This API will return the list of the locations associated to the image."}],"source_content_type":"text/x-rst","patch_set":17,"id":"dca2f522_87855c33","line":95,"range":{"start_line":95,"start_character":0,"end_line":95,"end_character":71},"in_reply_to":"0c8b1554_b9068532","updated":"2023-09-05 07:26:08.000000000","message":"Done","commit_id":"21a295ded1d529d4ed810250d1a19b8da1c987bb"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"8bc3b63db85ec642254e7f120cba3979e1f5e410","unresolved":true,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"      Copyright 2023 RedHat Inc."},{"line_number":3,"context_line":"      All Rights Reserved."},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"      Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-rst","patch_set":33,"id":"ad7be26b_91738656","line":2,"range":{"start_line":2,"start_character":16,"end_line":2,"end_character":20},"updated":"2024-02-13 02:59:50.000000000","message":"s/2023/2024/ if you need another patchset, otherwise it\u0027s fine.","commit_id":"c36fbd89522d56a78a94916d3a51865b53ce0501"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"b68da5ccb93a8a2078023ce8f68df37d00cbcdfd","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"      Copyright 2023 RedHat Inc."},{"line_number":3,"context_line":"      All Rights Reserved."},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"      Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-rst","patch_set":33,"id":"c52734f2_5819e22c","line":2,"range":{"start_line":2,"start_character":16,"end_line":2,"end_character":20},"in_reply_to":"ad7be26b_91738656","updated":"2024-02-15 10:33:28.000000000","message":"Done","commit_id":"c36fbd89522d56a78a94916d3a51865b53ce0501"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"8bc3b63db85ec642254e7f120cba3979e1f5e410","unresolved":true,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Add location API is introduced to add the location to an image."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Add location operation is strictly allowed for service to service interaction"},{"line_number":36,"context_line":"\u0026 image owner, when image is in ``queued`` state only. Attempt to add"},{"line_number":37,"context_line":"location for image in other states will be rejected. This is done in order"},{"line_number":38,"context_line":"to prevent malicious users from modifying the image location again and again"}],"source_content_type":"text/x-rst","patch_set":33,"id":"b6f38b9f_e4a1aa15","line":35,"updated":"2024-02-13 02:59:50.000000000","message":"s/strictly/only/ ?","commit_id":"c36fbd89522d56a78a94916d3a51865b53ce0501"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"9220788de500b2a88f2af88faa0da00e19112b68","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Add location API is introduced to add the location to an image."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Add location operation is strictly allowed for service to service interaction"},{"line_number":36,"context_line":"\u0026 image owner, when image is in ``queued`` state only. Attempt to add"},{"line_number":37,"context_line":"location for image in other states will be rejected. This is done in order"},{"line_number":38,"context_line":"to prevent malicious users from modifying the image location again and again"}],"source_content_type":"text/x-rst","patch_set":33,"id":"53b9e363_e24d354f","line":35,"in_reply_to":"13a84b32_ec11bf48","updated":"2024-04-18 12:06:29.000000000","message":"Done","commit_id":"c36fbd89522d56a78a94916d3a51865b53ce0501"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"b68da5ccb93a8a2078023ce8f68df37d00cbcdfd","unresolved":true,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Add location API is introduced to add the location to an image."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Add location operation is strictly allowed for service to service interaction"},{"line_number":36,"context_line":"\u0026 image owner, when image is in ``queued`` state only. Attempt to add"},{"line_number":37,"context_line":"location for image in other states will be rejected. This is done in order"},{"line_number":38,"context_line":"to prevent malicious users from modifying the image location again and again"}],"source_content_type":"text/x-rst","patch_set":33,"id":"13a84b32_ec11bf48","line":35,"in_reply_to":"b6f38b9f_e4a1aa15","updated":"2024-02-15 10:33:28.000000000","message":"well both are right 😊","commit_id":"c36fbd89522d56a78a94916d3a51865b53ce0501"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"8bc3b63db85ec642254e7f120cba3979e1f5e410","unresolved":true,"context_lines":[{"line_number":33,"context_line":"Add location API is introduced to add the location to an image."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Add location operation is strictly allowed for service to service interaction"},{"line_number":36,"context_line":"\u0026 image owner, when image is in ``queued`` state only. Attempt to add"},{"line_number":37,"context_line":"location for image in other states will be rejected. This is done in order"},{"line_number":38,"context_line":"to prevent malicious users from modifying the image location again and again"},{"line_number":39,"context_line":"since the location added for the first time is the correct one as far as"}],"source_content_type":"text/x-rst","patch_set":33,"id":"03b374db_b95ee0ee","line":36,"range":{"start_line":36,"start_character":2,"end_line":36,"end_character":7},"updated":"2024-02-13 02:59:50.000000000","message":"Use \"and\" rather than \"\u0026\" here.","commit_id":"c36fbd89522d56a78a94916d3a51865b53ce0501"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"b68da5ccb93a8a2078023ce8f68df37d00cbcdfd","unresolved":false,"context_lines":[{"line_number":33,"context_line":"Add location API is introduced to add the location to an image."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Add location operation is strictly allowed for service to service interaction"},{"line_number":36,"context_line":"\u0026 image owner, when image is in ``queued`` state only. Attempt to add"},{"line_number":37,"context_line":"location for image in other states will be rejected. This is done in order"},{"line_number":38,"context_line":"to prevent malicious users from modifying the image location again and again"},{"line_number":39,"context_line":"since the location added for the first time is the correct one as far as"}],"source_content_type":"text/x-rst","patch_set":33,"id":"2ce57853_fe4dd5d4","line":36,"range":{"start_line":36,"start_character":2,"end_line":36,"end_character":7},"in_reply_to":"03b374db_b95ee0ee","updated":"2024-02-15 10:33:28.000000000","message":"Done","commit_id":"c36fbd89522d56a78a94916d3a51865b53ce0501"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e6bc3746460f125bced1279d6c24176c94c17793","unresolved":true,"context_lines":[{"line_number":45,"context_line":"of glance leading to missing checksum and hash information for those images."},{"line_number":46,"context_line":"As a result, those images were never cached, as a checksum was required"},{"line_number":47,"context_line":"to validate whether the image is completely cached or not. Adding this"},{"line_number":48,"context_line":"mechanism to calculate the checksum and hash for the image hash not only"},{"line_number":49,"context_line":"resolve this issue but it will also improve caching operations since"},{"line_number":50,"context_line":"the checksum of the original and a cached image is compared only when"},{"line_number":51,"context_line":"the entire image was downloaded in the cache."}],"source_content_type":"text/x-rst","patch_set":66,"id":"63f699b2_9e2163d5","line":48,"range":{"start_line":48,"start_character":59,"end_line":48,"end_character":63},"updated":"2024-07-25 14:00:04.000000000","message":"has?","commit_id":"ceaa46dde84a92843298dbbacee169943deff1ef"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"bdeeae39884374e85340eaf45a6112103ee1b419","unresolved":false,"context_lines":[{"line_number":45,"context_line":"of glance leading to missing checksum and hash information for those images."},{"line_number":46,"context_line":"As a result, those images were never cached, as a checksum was required"},{"line_number":47,"context_line":"to validate whether the image is completely cached or not. Adding this"},{"line_number":48,"context_line":"mechanism to calculate the checksum and hash for the image hash not only"},{"line_number":49,"context_line":"resolve this issue but it will also improve caching operations since"},{"line_number":50,"context_line":"the checksum of the original and a cached image is compared only when"},{"line_number":51,"context_line":"the entire image was downloaded in the cache."}],"source_content_type":"text/x-rst","patch_set":66,"id":"101425ad_0bfd4180","line":48,"range":{"start_line":48,"start_character":59,"end_line":48,"end_character":63},"in_reply_to":"63f699b2_9e2163d5","updated":"2024-07-26 06:45:01.000000000","message":"Done","commit_id":"ceaa46dde84a92843298dbbacee169943deff1ef"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e6bc3746460f125bced1279d6c24176c94c17793","unresolved":true,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Similar to the old location API, users (not consumers like Nova or Cinder) can"},{"line_number":67,"context_line":"also pass hashing values as an input to this new API using validation_data,"},{"line_number":68,"context_line":"either it should be supplied from glance client, as a command option or"},{"line_number":69,"context_line":"should be provided in the request body when doing direct API request."},{"line_number":70,"context_line":"In this case, if hashing is enabled in the deployment(i.e., ``do_secure_hash``"},{"line_number":71,"context_line":"is True) then it will validate the calculated hash values with validation_data"}],"source_content_type":"text/x-rst","patch_set":66,"id":"46d0e06c_9b8de6c3","line":68,"range":{"start_line":68,"start_character":54,"end_line":68,"end_character":68},"updated":"2024-07-25 14:00:04.000000000","message":"command line argument","commit_id":"ceaa46dde84a92843298dbbacee169943deff1ef"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"bdeeae39884374e85340eaf45a6112103ee1b419","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Similar to the old location API, users (not consumers like Nova or Cinder) can"},{"line_number":67,"context_line":"also pass hashing values as an input to this new API using validation_data,"},{"line_number":68,"context_line":"either it should be supplied from glance client, as a command option or"},{"line_number":69,"context_line":"should be provided in the request body when doing direct API request."},{"line_number":70,"context_line":"In this case, if hashing is enabled in the deployment(i.e., ``do_secure_hash``"},{"line_number":71,"context_line":"is True) then it will validate the calculated hash values with validation_data"}],"source_content_type":"text/x-rst","patch_set":66,"id":"6b3aaff7_595e1125","line":68,"range":{"start_line":68,"start_character":54,"end_line":68,"end_character":68},"in_reply_to":"46d0e06c_9b8de6c3","updated":"2024-07-26 06:45:01.000000000","message":"Done","commit_id":"ceaa46dde84a92843298dbbacee169943deff1ef"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e6bc3746460f125bced1279d6c24176c94c17793","unresolved":true,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"If hashing is disabled for this API, then we will have an active image,"},{"line_number":77,"context_line":"but again it will fail to cache, so Glance recommends consumers like Nova"},{"line_number":78,"context_line":"and Cinder as well as normal users should keep hashing enabled."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":".. note:: Usage of this API for end users is only allowed if http"},{"line_number":81,"context_line":"          store is enabled in the deployment."}],"source_content_type":"text/x-rst","patch_set":66,"id":"49396b71_a253196e","line":78,"range":{"start_line":78,"start_character":47,"end_line":78,"end_character":63},"updated":"2024-07-25 14:00:04.000000000","message":"do_secure_hash enabled.","commit_id":"ceaa46dde84a92843298dbbacee169943deff1ef"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"bdeeae39884374e85340eaf45a6112103ee1b419","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"If hashing is disabled for this API, then we will have an active image,"},{"line_number":77,"context_line":"but again it will fail to cache, so Glance recommends consumers like Nova"},{"line_number":78,"context_line":"and Cinder as well as normal users should keep hashing enabled."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":".. note:: Usage of this API for end users is only allowed if http"},{"line_number":81,"context_line":"          store is enabled in the deployment."}],"source_content_type":"text/x-rst","patch_set":66,"id":"f1989aca_6d5923ac","line":78,"range":{"start_line":78,"start_character":47,"end_line":78,"end_character":63},"in_reply_to":"49396b71_a253196e","updated":"2024-07-26 06:45:01.000000000","message":"Done","commit_id":"ceaa46dde84a92843298dbbacee169943deff1ef"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e6bc3746460f125bced1279d6c24176c94c17793","unresolved":true,"context_lines":[{"line_number":80,"context_line":".. note:: Usage of this API for end users is only allowed if http"},{"line_number":81,"context_line":"          store is enabled in the deployment."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Get Locations"},{"line_number":85,"context_line":"-------------"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":66,"id":"8b46e4ad_9daca7b5","line":83,"updated":"2024-07-25 14:00:04.000000000","message":"I think here we should also mention the known issue for http store.","commit_id":"ceaa46dde84a92843298dbbacee169943deff1ef"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"bdeeae39884374e85340eaf45a6112103ee1b419","unresolved":false,"context_lines":[{"line_number":80,"context_line":".. note:: Usage of this API for end users is only allowed if http"},{"line_number":81,"context_line":"          store is enabled in the deployment."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Get Locations"},{"line_number":85,"context_line":"-------------"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":66,"id":"540176dd_1016e3c1","line":83,"in_reply_to":"8b46e4ad_9daca7b5","updated":"2024-07-26 06:45:01.000000000","message":"Done","commit_id":"ceaa46dde84a92843298dbbacee169943deff1ef"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e6bc3746460f125bced1279d6c24176c94c17793","unresolved":true,"context_lines":[{"line_number":92,"context_line":"to see where exactly the image is stored."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Get locations operation is strictly allowed for service to service interaction"},{"line_number":95,"context_line":"only, meaning only consumers like nova, cinder etc will be able to access this"},{"line_number":96,"context_line":"API."}],"source_content_type":"text/x-rst","patch_set":66,"id":"65e427da_1045dfe0","line":95,"range":{"start_line":95,"start_character":47,"end_line":95,"end_character":50},"updated":"2024-07-25 14:00:04.000000000","message":"etc.","commit_id":"ceaa46dde84a92843298dbbacee169943deff1ef"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"bdeeae39884374e85340eaf45a6112103ee1b419","unresolved":false,"context_lines":[{"line_number":92,"context_line":"to see where exactly the image is stored."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Get locations operation is strictly allowed for service to service interaction"},{"line_number":95,"context_line":"only, meaning only consumers like nova, cinder etc will be able to access this"},{"line_number":96,"context_line":"API."}],"source_content_type":"text/x-rst","patch_set":66,"id":"76a9d426_e7720ca0","line":95,"range":{"start_line":95,"start_character":47,"end_line":95,"end_character":50},"in_reply_to":"65e427da_1045dfe0","updated":"2024-07-26 06:45:01.000000000","message":"Done","commit_id":"ceaa46dde84a92843298dbbacee169943deff1ef"}]}
