)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"5d79092b4b2a688e07ac2c682375d5e58cdcbfd0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"22e56b3c_4e483c2c","updated":"2023-05-02 16:42:00.000000000","message":"Just a typo, fix it if you need another spin, otherwise looks good!","commit_id":"b232e573e7677a72354bc2983c045f872c60ec7c"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"33235472a3c6e536a90ac31a8954022cecfb9640","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"cbf42da1_3db69d96","updated":"2023-05-09 08:51:17.000000000","message":"Thank you for inputs.","commit_id":"b232e573e7677a72354bc2983c045f872c60ec7c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"441045f7281a7a392181c65bf18d6b04f92da1a9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"86706445_fe51426a","updated":"2023-06-01 14:18:28.000000000","message":"Looks like a good idea, but one question/clarification inline.","commit_id":"069e588febd169e8a8b705b7dc001af9c0ed234d"}],"specs/2023.2/approved/glance/store-id-strategy.rst":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"5d79092b4b2a688e07ac2c682375d5e58cdcbfd0","unresolved":true,"context_lines":[{"line_number":17,"context_line":"          traverse through the image locations one by one if there are"},{"line_number":18,"context_line":"          multiple locations (in this case it will return the image"},{"line_number":19,"context_line":"          stored at the first location). If user prefers to download the"},{"line_number":20,"context_line":"          image from specific the store then they can use ``store_type``"},{"line_number":21,"context_line":"          as location strategy to give preference to download the image"},{"line_number":22,"context_line":"          from that store only. For example if ``location_strategy`` is set"},{"line_number":23,"context_line":"          as ``store_type`` and ``store_type`` has `rbd` as preference then"}],"source_content_type":"text/x-rst","patch_set":1,"id":"149e13ee_fa48d1dc","line":20,"range":{"start_line":20,"start_character":16,"end_line":20,"end_character":34},"updated":"2023-05-02 16:42:00.000000000","message":"from a specific store*","commit_id":"b232e573e7677a72354bc2983c045f872c60ec7c"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"33235472a3c6e536a90ac31a8954022cecfb9640","unresolved":false,"context_lines":[{"line_number":17,"context_line":"          traverse through the image locations one by one if there are"},{"line_number":18,"context_line":"          multiple locations (in this case it will return the image"},{"line_number":19,"context_line":"          stored at the first location). If user prefers to download the"},{"line_number":20,"context_line":"          image from specific the store then they can use ``store_type``"},{"line_number":21,"context_line":"          as location strategy to give preference to download the image"},{"line_number":22,"context_line":"          from that store only. For example if ``location_strategy`` is set"},{"line_number":23,"context_line":"          as ``store_type`` and ``store_type`` has `rbd` as preference then"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f723727_a3cf2e40","line":20,"range":{"start_line":20,"start_character":16,"end_line":20,"end_character":34},"in_reply_to":"149e13ee_fa48d1dc","updated":"2023-05-09 08:51:17.000000000","message":"Done","commit_id":"b232e573e7677a72354bc2983c045f872c60ec7c"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f0a804df745fc8b98b85f5f882bdfe3cb92e7dde","unresolved":true,"context_lines":[{"line_number":21,"context_line":"          as location strategy to give preference to download the image"},{"line_number":22,"context_line":"          from that store only. For example if ``location_strategy`` is set"},{"line_number":23,"context_line":"          as ``store_type`` and ``store_type`` has `rbd` as preference then"},{"line_number":24,"context_line":"          the image will be downloaded from the `rbd` store only. Now the"},{"line_number":25,"context_line":"          problem with ``store_type`` location strategy is that there can"},{"line_number":26,"context_line":"          be multiple stores of same type (multiple rbd or file stores). So"},{"line_number":27,"context_line":"          again user will not able to download the image from the specific"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bafe75f6_14607240","line":24,"range":{"start_line":24,"start_character":39,"end_line":24,"end_character":64},"updated":"2023-05-03 11:31:31.000000000","message":"Just to know how this works exactly, If we\u0027ve 3 stores set as ``store_type`` eg: rbd, cinder, swift then the download will be tried on rbd and if it fails it will try with cinder and so on. If we only set rbd as the store_type, does the download fail if we\u0027re not able to download from rbd?","commit_id":"b232e573e7677a72354bc2983c045f872c60ec7c"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a3520aacd3210020e7eb41a90bdae1e3f4d3b69","unresolved":true,"context_lines":[{"line_number":21,"context_line":"          as location strategy to give preference to download the image"},{"line_number":22,"context_line":"          from that store only. For example if ``location_strategy`` is set"},{"line_number":23,"context_line":"          as ``store_type`` and ``store_type`` has `rbd` as preference then"},{"line_number":24,"context_line":"          the image will be downloaded from the `rbd` store only. Now the"},{"line_number":25,"context_line":"          problem with ``store_type`` location strategy is that there can"},{"line_number":26,"context_line":"          be multiple stores of same type (multiple rbd or file stores). So"},{"line_number":27,"context_line":"          again user will not able to download the image from the specific"}],"source_content_type":"text/x-rst","patch_set":1,"id":"04e61a57_8dad3491","line":24,"range":{"start_line":24,"start_character":39,"end_line":24,"end_character":64},"in_reply_to":"bafe75f6_14607240","updated":"2023-05-04 14:58:39.000000000","message":"Your first analysis is correct.\n\nLet me give you example.\nWhen image is crated it is stored in swift, cinder and rbd location.\n\nWhen you define store_type as rbd,cinder,swift the locations in the image gets reordered like rbd,cinder,swift\n\nWhen you define store_type as rbd then it will get reorder like rbd,swift,cinder\n\nSo to answer your second half, no it will not fail but it will move to next store/location to download the image.","commit_id":"b232e573e7677a72354bc2983c045f872c60ec7c"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f0a804df745fc8b98b85f5f882bdfe3cb92e7dde","unresolved":true,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":":solution: Add new location strategy \u0027store_identifier\u0027 to existing default"},{"line_number":40,"context_line":"           two strategies. This will add comma separated list of store"},{"line_number":41,"context_line":"           identifiers which will be give preference to download the image"},{"line_number":42,"context_line":"           from. New configuration option ``store_identifier_preference``"},{"line_number":43,"context_line":"           under group ``store_identifier_location_strategy`` will be"},{"line_number":44,"context_line":"           added where user/deployer can reference their preferences based"}],"source_content_type":"text/x-rst","patch_set":1,"id":"748b85ed_27a1a178","line":41,"range":{"start_line":41,"start_character":37,"end_line":41,"end_character":41},"updated":"2023-05-03 11:31:31.000000000","message":"nit: given","commit_id":"b232e573e7677a72354bc2983c045f872c60ec7c"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a3520aacd3210020e7eb41a90bdae1e3f4d3b69","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":":solution: Add new location strategy \u0027store_identifier\u0027 to existing default"},{"line_number":40,"context_line":"           two strategies. This will add comma separated list of store"},{"line_number":41,"context_line":"           identifiers which will be give preference to download the image"},{"line_number":42,"context_line":"           from. New configuration option ``store_identifier_preference``"},{"line_number":43,"context_line":"           under group ``store_identifier_location_strategy`` will be"},{"line_number":44,"context_line":"           added where user/deployer can reference their preferences based"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1cbef151_fb650702","line":41,"range":{"start_line":41,"start_character":37,"end_line":41,"end_character":41},"in_reply_to":"748b85ed_27a1a178","updated":"2023-05-04 14:58:39.000000000","message":"Ack","commit_id":"b232e573e7677a72354bc2983c045f872c60ec7c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"441045f7281a7a392181c65bf18d6b04f92da1a9","unresolved":true,"context_lines":[{"line_number":42,"context_line":"           from. New configuration option ``store_identifier_preference``"},{"line_number":43,"context_line":"           under group ``store_identifier_location_strategy`` will be"},{"line_number":44,"context_line":"           added where user/deployer can reference their preferences based"},{"line_number":45,"context_line":"           on store identifiers."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":":impacts: None"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7b667006_d046a797","line":45,"updated":"2023-06-01 14:18:28.000000000","message":"So this means that if I request download from `store_type\u003drbd` I would get the reliable one, if this new config option is `reliable,fast`? So presumably this list will include *all* the stores in relative priority order, so that if no type is specified, I\u0027d get the first one in the list that has the image. If a type is specified, I get the first one in the list of the type I asked for which has the image requested?\n\nAlso, what happens if I don\u0027t list all my stores (i.e. forget one) here? Presumably the algorithm needs to traverse the priority list, and then if no hits, traverse the rest of the stores that weren\u0027t specified just in case?","commit_id":"069e588febd169e8a8b705b7dc001af9c0ed234d"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"17f72e99e6967f3a4eb1239123bd3bed144aa87b","unresolved":true,"context_lines":[{"line_number":42,"context_line":"           from. New configuration option ``store_identifier_preference``"},{"line_number":43,"context_line":"           under group ``store_identifier_location_strategy`` will be"},{"line_number":44,"context_line":"           added where user/deployer can reference their preferences based"},{"line_number":45,"context_line":"           on store identifiers."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":":impacts: None"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bbd633ce_ffe15fbc","line":45,"in_reply_to":"3441bf5b_66fb2dd8","updated":"2023-06-01 14:37:55.000000000","message":"We can add this as an enhancement and then remove location strategy itself.","commit_id":"069e588febd169e8a8b705b7dc001af9c0ed234d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8cecad2228296e4a01419f1322b3b38268ecd542","unresolved":true,"context_lines":[{"line_number":42,"context_line":"           from. New configuration option ``store_identifier_preference``"},{"line_number":43,"context_line":"           under group ``store_identifier_location_strategy`` will be"},{"line_number":44,"context_line":"           added where user/deployer can reference their preferences based"},{"line_number":45,"context_line":"           on store identifiers."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":":impacts: None"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"fe4ca429_258047fb","line":45,"in_reply_to":"7b667006_d046a797","updated":"2023-06-01 14:23:36.000000000","message":"By the way, one other way to do this would be to add a \"weight\" parameter to each store definition. That would default to zero or something and let the operator change it for each store if they wish. That would avoid them having to maintain another list of stores, eliminate the point of confusion above, and also probably better define the weights in their deployment code, which might not know about all stores at all times.\n\nI know this might impact glance_store as well because of who owns the config part of the definition (which I\u0027ve never fully understood). But doing it that way might feel a little more natural.\n\n```\n[robust]\nrbd_store_pool\u003dimages\nweight\u003d10\n\n[cheap]\nfilesystem_store_datadir\u003d/opt/stack/data/glance/images/\nweight\u003d5\n```","commit_id":"069e588febd169e8a8b705b7dc001af9c0ed234d"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"6e7225f03b3da53ebbf0b765c74b238258c785d3","unresolved":true,"context_lines":[{"line_number":42,"context_line":"           from. New configuration option ``store_identifier_preference``"},{"line_number":43,"context_line":"           under group ``store_identifier_location_strategy`` will be"},{"line_number":44,"context_line":"           added where user/deployer can reference their preferences based"},{"line_number":45,"context_line":"           on store identifiers."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":":impacts: None"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3441bf5b_66fb2dd8","line":45,"in_reply_to":"7b667006_d046a797","updated":"2023-06-01 14:34:43.000000000","message":"store_type rbd will work for location strategy \u0027store_type\u0027 where all the rbd stores will be given preference (if we have more than 1 rbd store,followed by rest of the stores).\n\nYes you will get the first one in the list.\n\nEven if you missed mentioning store in the list, it will be listed later in the location list. it will traverse through priority list and if no hits it will traverse remaining stores\n\nI think this will help you more to understand,\nhttps://paste.opendev.org/show/bISLcM5wfwsDFldPftsN/","commit_id":"069e588febd169e8a8b705b7dc001af9c0ed234d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c2f78e6d983fa4f8c9b15e29a8481d2a54afe6a2","unresolved":true,"context_lines":[{"line_number":42,"context_line":"           from. New configuration option ``store_identifier_preference``"},{"line_number":43,"context_line":"           under group ``store_identifier_location_strategy`` will be"},{"line_number":44,"context_line":"           added where user/deployer can reference their preferences based"},{"line_number":45,"context_line":"           on store identifiers."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":":impacts: None"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1358327c_8be1bc81","line":45,"in_reply_to":"bbd633ce_ffe15fbc","updated":"2023-06-08 16:19:57.000000000","message":"Here\u0027s a WIP POC:\n\nhttps://review.opendev.org/c/openstack/glance_store/+/885595\n\nThe `LOG` I added in `__init__` just demonstrates that we can access `store.weight` and get that value. Defaults to zero, so all stores are equal, and you can just add `weight\u003d10` to one store to get something like this:\n\n```\nJun 08 16:14:47 jammy devstack@g-api.service[158889]: INFO glance_store.driver [-] Store cheap weight 0\nJun 08 16:14:47 jammy devstack@g-api.service[158889]: INFO glance_store.driver [-] Store robust weight 10\n```","commit_id":"069e588febd169e8a8b705b7dc001af9c0ed234d"}]}
