)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"344b16a64891a85877c512a23a3c2f1993285aeb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5d4f61bb_6f008885","updated":"2024-11-13 23:21:37.000000000","message":"Looks good, just a few inlined questions.","commit_id":"3610e5fa688f12549570e53a480a61c15cee53b2"}],"specs/2025.1/approved/glance/filesystem-distributed-download.rst":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"344b16a64891a85877c512a23a3c2f1993285aeb","unresolved":true,"context_lines":[{"line_number":36,"context_line":"completes. We will now store it forever instead of removing it and start"},{"line_number":37,"context_line":"recording it for upload operation as well. We will also make sure that"},{"line_number":38,"context_line":"end user will not be able to see the ``os_glance_stage_host`` property on"},{"line_number":39,"context_line":"``GET`` API call."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"We will introduce new configuration option ``distributed_download_strategy``"},{"line_number":42,"context_line":"with options \u0027None\u0027, \u0027proxy\u0027 and \u0027redirect\u0027 which will behave as described"}],"source_content_type":"text/x-rst","patch_set":2,"id":"eb883d48_65172a00","line":39,"range":{"start_line":39,"start_character":12,"end_line":39,"end_character":16},"updated":"2024-11-13 23:21:37.000000000","message":"Should we still call this property \"os_glance_stage_host\" now that it\u0027s no longer only related to the staging phase?","commit_id":"3610e5fa688f12549570e53a480a61c15cee53b2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3ef223d87ff35ff541e73bffdbef0982859aab23","unresolved":true,"context_lines":[{"line_number":36,"context_line":"completes. We will now store it forever instead of removing it and start"},{"line_number":37,"context_line":"recording it for upload operation as well. We will also make sure that"},{"line_number":38,"context_line":"end user will not be able to see the ``os_glance_stage_host`` property on"},{"line_number":39,"context_line":"``GET`` API call."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"We will introduce new configuration option ``distributed_download_strategy``"},{"line_number":42,"context_line":"with options \u0027None\u0027, \u0027proxy\u0027 and \u0027redirect\u0027 which will behave as described"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff69e218_a11f362b","line":39,"range":{"start_line":39,"start_character":12,"end_line":39,"end_character":16},"in_reply_to":"eb883d48_65172a00","updated":"2024-11-14 06:29:39.000000000","message":"We can rename it or keep it as it is since it will not be visible to user anyway.","commit_id":"3610e5fa688f12549570e53a480a61c15cee53b2"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"344b16a64891a85877c512a23a3c2f1993285aeb","unresolved":true,"context_lines":[{"line_number":51,"context_line":"   `worker_self_reference_url` if the image is not local."},{"line_number":52,"context_line":"3. ``redirect`` If the requested host does not have image data stored"},{"line_number":53,"context_line":"   then it will return the full accessible url of the host where image is"},{"line_number":54,"context_line":"   stored and user can use it to request image download on second attempt."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Delete request also needs to be proxied, to ensure that the data is deleted"},{"line_number":57,"context_line":"from the filesystem on the appropriate node. Unlike download, delete image"}],"source_content_type":"text/x-rst","patch_set":2,"id":"e310b711_e23b8fb1","line":54,"range":{"start_line":54,"start_character":73,"end_line":54,"end_character":74},"updated":"2024-11-13 23:21:37.000000000","message":"In which use case would the user want this? If they want to use the feature, don\u0027t they always want the proxying to be transparent?","commit_id":"3610e5fa688f12549570e53a480a61c15cee53b2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3ef223d87ff35ff541e73bffdbef0982859aab23","unresolved":true,"context_lines":[{"line_number":51,"context_line":"   `worker_self_reference_url` if the image is not local."},{"line_number":52,"context_line":"3. ``redirect`` If the requested host does not have image data stored"},{"line_number":53,"context_line":"   then it will return the full accessible url of the host where image is"},{"line_number":54,"context_line":"   stored and user can use it to request image download on second attempt."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Delete request also needs to be proxied, to ensure that the data is deleted"},{"line_number":57,"context_line":"from the filesystem on the appropriate node. Unlike download, delete image"}],"source_content_type":"text/x-rst","patch_set":2,"id":"86e40c9d_3f3de16a","line":54,"range":{"start_line":54,"start_character":73,"end_line":54,"end_character":74},"in_reply_to":"e310b711_e23b8fb1","updated":"2024-11-14 06:29:39.000000000","message":"During PTG we discussed this solution to avoid internal proxy requests which can be performance overhead/time consuming, so in this case deployer can opt to this option where they can directly make the second request to that particular host where data will exist.","commit_id":"3610e5fa688f12549570e53a480a61c15cee53b2"},{"author":{"_account_id":25402,"name":"Francesco Pantano","email":"fpantano@redhat.com","username":"fmount"},"change_message_id":"c88d1663edafc5cdd3b91ad9eed2dfebae6a87c8","unresolved":true,"context_lines":[{"line_number":107,"context_line":"Other end user impact"},{"line_number":108,"context_line":"---------------------"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"More users will be able to use the filesystem backend after this is implemented"},{"line_number":111,"context_line":"as operators are unwilling or unable to provide shared storage for their users."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"97ce7b43_59fcd08f","line":110,"updated":"2024-11-07 14:58:03.000000000","message":"Not sure my comment is appropriate for the \"User impact\", but it can be generic enough to be processed in any section.\nI was wondering if we want to provide a mechanism to notify to the client that the node where the data resides are not available.\nIt might have sense if you imagine a context where multiple replicas own part of the data, and due to an outage a node (which means a GlanceAPI) is not available.\nAt that point proxy the request will result in a network timeout or error, and I assume this is propagated back to the client.\nIn k8s, if the storageClass !\u003d local-storage (e.g. Ceph), the GlanceAPI can be easily be rescheduled on a different worker node, taking the data back, but this is not valid in the baremetal context or when local-storage is used.\nNot sure you have a plan of my comment is simply redundant, but I was thinking about \"How to handle errors\" in this scenario and if there\u0027s any action we can take to improve the user experience.","commit_id":"3610e5fa688f12549570e53a480a61c15cee53b2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"904fd934cb34c21dd4b56c0d0583fcbda56057f6","unresolved":true,"context_lines":[{"line_number":107,"context_line":"Other end user impact"},{"line_number":108,"context_line":"---------------------"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"More users will be able to use the filesystem backend after this is implemented"},{"line_number":111,"context_line":"as operators are unwilling or unable to provide shared storage for their users."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fe08d215_146d65c9","line":110,"in_reply_to":"97ce7b43_59fcd08f","updated":"2024-11-08 05:36:47.000000000","message":"I think this effort can be tracked in different work, but if you have any planned way of doing it then we can collaborate and get it done.","commit_id":"3610e5fa688f12549570e53a480a61c15cee53b2"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"344b16a64891a85877c512a23a3c2f1993285aeb","unresolved":true,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"After upgrading if the deployer wants to use this feature then we will"},{"line_number":131,"context_line":"document certain migration scenarios so that the image data remains"},{"line_number":132,"context_line":"as it is."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Developer impact"},{"line_number":135,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ba533b4_29150561","line":132,"range":{"start_line":132,"start_character":8,"end_line":132,"end_character":9},"updated":"2024-11-13 23:21:37.000000000","message":"So we will be providing a script that populates that adds the os_glance_stage_host to the database?","commit_id":"3610e5fa688f12549570e53a480a61c15cee53b2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3ef223d87ff35ff541e73bffdbef0982859aab23","unresolved":true,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"After upgrading if the deployer wants to use this feature then we will"},{"line_number":131,"context_line":"document certain migration scenarios so that the image data remains"},{"line_number":132,"context_line":"as it is."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Developer impact"},{"line_number":135,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fb95d690_7672e289","line":132,"range":{"start_line":132,"start_character":8,"end_line":132,"end_character":9},"in_reply_to":"7ba533b4_29150561","updated":"2024-11-14 06:29:39.000000000","message":"That will be one of the option, just providing script will not be enough as NFS server can be on different host than all glance nodes, so we will recommend to copy all images to one of the glance node and then use script to update that image property.","commit_id":"3610e5fa688f12549570e53a480a61c15cee53b2"}]}
