)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"689a244be6f9a72e987f8392fe9e5ad472b99d5b","unresolved":true,"context_lines":[{"line_number":13,"context_line":"an API that will directly call the ensure shares mechanism, which"},{"line_number":14,"context_line":"will end up updating the export location of the shares."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"[1] https://bugs.launchpad.net/manila/+bug/1996793"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I9f4765315b72a0ead2435df7724392269c66bb0e"},{"line_number":19,"context_line":"Signed-off-by: silvacarloss \u003cces.eduardo98@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"391c2335_2fdcfcdb","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":50},"updated":"2024-05-30 02:10:37.000000000","message":"maybe create a blueprint that subsumes this bug?","commit_id":"92d21e27b0bc4e43cb7dfafaa680809b559df17f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"94fddd79cbb197ef78d3c0798ceb219a1d6f40ed","unresolved":false,"context_lines":[{"line_number":13,"context_line":"an API that will directly call the ensure shares mechanism, which"},{"line_number":14,"context_line":"will end up updating the export location of the shares."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"[1] https://bugs.launchpad.net/manila/+bug/1996793"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I9f4765315b72a0ead2435df7724392269c66bb0e"},{"line_number":19,"context_line":"Signed-off-by: silvacarloss \u003cces.eduardo98@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"643da1e1_7dea83e4","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":50},"in_reply_to":"391c2335_2fdcfcdb","updated":"2024-06-03 19:33:24.000000000","message":"Sure :)","commit_id":"92d21e27b0bc4e43cb7dfafaa680809b559df17f"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"94fddd79cbb197ef78d3c0798ceb219a1d6f40ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"796b2b8a_d920daef","updated":"2024-06-03 19:33:24.000000000","message":"Thank you for the reviews. Please take a look at the most recent PS","commit_id":"92d21e27b0bc4e43cb7dfafaa680809b559df17f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"689a244be6f9a72e987f8392fe9e5ad472b99d5b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"538249cb_4a26222e","updated":"2024-05-30 02:10:37.000000000","message":"Thank you for this proposal; took forever to review this.. but i recall the discussion at the PTG; please see comments inline","commit_id":"92d21e27b0bc4e43cb7dfafaa680809b559df17f"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"dbf52a3ffa111b90d93e8f0a9b93a837b2bb2153","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"01569767_ee2fc425","updated":"2024-06-07 12:08:38.000000000","message":"I added my considerations.\n\nBasically this would change 2 things:\n1. Offer an API to be able to run ensure whenever you like, decoupling from manila-share service restart.\n2. Make ensure more robust by preventing certain lifecycle action during the ensure run.\n\n\nCan we make the 2nd change optional, please? Ensure is very often a no-op, but it is running for a long time, because there are several driver API calls involved making sure everything is in good shape for each single share.","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fa63f8dc7606300721be6280b71334b8c9059de2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"542c9787_627ea477","updated":"2024-06-22 00:02:05.000000000","message":"Thanks Carlos; some more comments inline","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"16b5a2b6f0a7bc5226cd6f9f891bf51585dcc363","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"aa4b9090_95028637","in_reply_to":"01569767_ee2fc425","updated":"2024-06-20 13:57:18.000000000","message":"\u003e Can we make the 2nd change optional, please? Ensure is very often a no-op, but it is running for a long time, because there are several driver API calls involved making sure everything is in good shape for each single share.\n\nThank you very much for the feedback, that\u0027s something I haven\u0027t considered before 😊\n\nYes, I believe we can make the second option optional with an API parameter, and administrators would be able to determine whether other operations should be blocked or not, but we\u0027d need to have a way to know if a ensure share operation is already running to do not allow people to issue it in the API again. I was thinking of reusing the async_operation_data, as we do for add security service check. How does that sound?","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"221dec10ef0ef58e66fdc1b8810aecdadda2169d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c7125af1_74baaaa4","in_reply_to":"6fb8659f_8a1172be","updated":"2024-06-26 11:11:17.000000000","message":"What about tooz locking to prevent running ensure twice for the same object?","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fa63f8dc7606300721be6280b71334b8c9059de2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6fb8659f_8a1172be","in_reply_to":"aa4b9090_95028637","updated":"2024-06-22 00:02:05.000000000","message":"This is interesting; i\u0027m looking forward to review the design on this.. \nI suspect your thought is to put a record in the async operations data table regarding a backend that is undergoing an \"ensure_shares\" operation and remove this record when the operation is complete?","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2c9d228b_0b384ec3","in_reply_to":"c7125af1_74baaaa4","updated":"2024-06-26 21:15:30.000000000","message":"Tooz would also be an option, I think :)","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"eaea5c0f_0ae25e86","updated":"2024-06-26 21:15:30.000000000","message":"Thank you for sharing your thoughts on this spec! Please take a look at the most recent PS :)","commit_id":"b98ad5dae62153c021a27fd4390ecc121f14bfb5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d62e6c288b9d4fc567870957e4d1c845b9940042","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"1c002565_efe9d7f9","updated":"2024-07-03 20:19:02.000000000","message":"the latest changes look good to me; some minor comments and a question regarding the status update switch that we\u0027re looking to implement. Thanks Carlos!","commit_id":"b98ad5dae62153c021a27fd4390ecc121f14bfb5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a50111f8de1e173d21ac648e3ff808dbe7b04899","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"2880b0d3_9f489dfd","updated":"2024-07-05 18:40:35.000000000","message":"Thanks for the reviews, PTAL :)","commit_id":"f9de15cba218bf01396d0ef31d88dd0c6c7f9deb"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"67f04641b38b3c97ace0cc7d353a686d7445bc97","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"b8ab39f8_859d462a","updated":"2024-07-04 15:26:55.000000000","message":"lgtm - if you need to add another patch set you could also adjust the nit picks","commit_id":"f9de15cba218bf01396d0ef31d88dd0c6c7f9deb"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"6c1e1f69be2c9d57fc035321f2b2ee8470787777","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a83be959_daf3d01f","updated":"2024-07-05 03:39:10.000000000","message":"thanks for your change, Carlos! please see my comments.","commit_id":"f9de15cba218bf01396d0ef31d88dd0c6c7f9deb"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2d3134a81bd2e7f66fb2474160044188e0b44c0e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"164bd049_9ce3d57a","updated":"2024-07-08 23:49:20.000000000","message":"Thanks Carlos; a question inline","commit_id":"f3c7607f425a1ba23aaffbc176ada0abc919ec1c"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"faa487befd4f94c27dd35b07ca0efb1ab0ed583e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8ba8a121_bf532192","updated":"2024-07-12 01:47:28.000000000","message":"Thanks Carlos; some questions about this.","commit_id":"1966b15cee8c8ed68c60a1f630385f9540f8cc67"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3ed5aca2696b6e7fdb8c75f6b5f70b6a78209710","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"23f49558_f23a9fb2","updated":"2024-07-16 17:54:46.000000000","message":"Can you please follow up with some comments inline with a different patch","commit_id":"26cf9c832d22b880eb03cec4d7705bc7c0c44c9d"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"a276351e9421fd5c8e5259f33fc0b13d3f17534f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d9879036_0de7a4ce","updated":"2024-07-15 00:53:20.000000000","message":"LGTM, thanks!","commit_id":"26cf9c832d22b880eb03cec4d7705bc7c0c44c9d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"83dc8fd2056ac9c9ab3978034f2ba06bcde487d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"0019ae65_59276cc4","updated":"2024-07-17 21:06:03.000000000","message":"Thanks for the review. Addressed the comments in this change: https://review.opendev.org/c/openstack/manila-specs/+/924368\nPlease take a look :)","commit_id":"26cf9c832d22b880eb03cec4d7705bc7c0c44c9d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"8efbb27017f3bbb559d7e3053828ff80fe2dbd84","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e75d764b_a41eb596","updated":"2024-07-12 12:25:37.000000000","message":"Thanks for the reviews, please take another look :)","commit_id":"26cf9c832d22b880eb03cec4d7705bc7c0c44c9d"}],"specs/dalmatian/add-ensure-shares-api.rst":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fa63f8dc7606300721be6280b71334b8c9059de2","unresolved":true,"context_lines":[{"line_number":13,"context_line":"has changed since the last time it was invoked."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Currently, ensure shares is only called while the manila-share binaries are"},{"line_number":16,"context_line":"being restarted, and in case the administrator has signalized that something"},{"line_number":17,"context_line":"has changed in the storage backend."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Ensure shares can not be invoked by system administrators, so in case a"}],"source_content_type":"text/x-rst","patch_set":2,"id":"cec69d90_cc0f74b5","line":16,"range":{"start_line":16,"start_character":51,"end_line":16,"end_character":61},"updated":"2024-06-22 00:02:05.000000000","message":"nit: uncommon word; perhaps \u0027identified\u0027 is a better term to use","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fa63f8dc7606300721be6280b71334b8c9059de2","unresolved":true,"context_lines":[{"line_number":13,"context_line":"has changed since the last time it was invoked."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Currently, ensure shares is only called while the manila-share binaries are"},{"line_number":16,"context_line":"being restarted, and in case the administrator has signalized that something"},{"line_number":17,"context_line":"has changed in the storage backend."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Ensure shares can not be invoked by system administrators, so in case a"}],"source_content_type":"text/x-rst","patch_set":2,"id":"c3dc38e3_1791618d","line":16,"range":{"start_line":16,"start_character":33,"end_line":16,"end_character":46},"updated":"2024-06-22 00:02:05.000000000","message":"to understand this problem better; I want to suggest distinguishing an openstack operator (someone who has access to the infrastructure that runs the openstack services) and deploys/configures OpenStack and an openstack administrator (someone who can interact with the openstack API to perform administrative actions). It is very common that both these people are the same. But, sometimes they aren\u0027t.. so, when you\u0027re referring to someone that has the ability restart a service, use \"operator\" or \"OpenStack operator\"","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":false,"context_lines":[{"line_number":13,"context_line":"has changed since the last time it was invoked."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Currently, ensure shares is only called while the manila-share binaries are"},{"line_number":16,"context_line":"being restarted, and in case the administrator has signalized that something"},{"line_number":17,"context_line":"has changed in the storage backend."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Ensure shares can not be invoked by system administrators, so in case a"}],"source_content_type":"text/x-rst","patch_set":2,"id":"0799ec0a_3a8635ad","line":16,"range":{"start_line":16,"start_character":33,"end_line":16,"end_character":46},"in_reply_to":"c3dc38e3_1791618d","updated":"2024-06-26 21:15:30.000000000","message":"Done","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":false,"context_lines":[{"line_number":13,"context_line":"has changed since the last time it was invoked."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Currently, ensure shares is only called while the manila-share binaries are"},{"line_number":16,"context_line":"being restarted, and in case the administrator has signalized that something"},{"line_number":17,"context_line":"has changed in the storage backend."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Ensure shares can not be invoked by system administrators, so in case a"}],"source_content_type":"text/x-rst","patch_set":2,"id":"2c6a198d_e45f8672","line":16,"range":{"start_line":16,"start_character":51,"end_line":16,"end_character":61},"in_reply_to":"cec69d90_cc0f74b5","updated":"2024-06-26 21:15:30.000000000","message":"Done","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fa63f8dc7606300721be6280b71334b8c9059de2","unresolved":true,"context_lines":[{"line_number":16,"context_line":"being restarted, and in case the administrator has signalized that something"},{"line_number":17,"context_line":"has changed in the storage backend."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Ensure shares can not be invoked by system administrators, so in case a"},{"line_number":20,"context_line":"configuration changes, the corresponding manila-share binaries must be"},{"line_number":21,"context_line":"restarted to pick up the new configuration."},{"line_number":22,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"113e6d5e_21edff99","line":19,"range":{"start_line":19,"start_character":25,"end_line":19,"end_character":32},"updated":"2024-06-22 00:02:05.000000000","message":"invoked via the manila API","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":false,"context_lines":[{"line_number":16,"context_line":"being restarted, and in case the administrator has signalized that something"},{"line_number":17,"context_line":"has changed in the storage backend."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Ensure shares can not be invoked by system administrators, so in case a"},{"line_number":20,"context_line":"configuration changes, the corresponding manila-share binaries must be"},{"line_number":21,"context_line":"restarted to pick up the new configuration."},{"line_number":22,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1f5ec39d_2b4f8e69","line":19,"range":{"start_line":19,"start_character":25,"end_line":19,"end_character":32},"in_reply_to":"113e6d5e_21edff99","updated":"2024-06-26 21:15:30.000000000","message":"Done","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fa63f8dc7606300721be6280b71334b8c9059de2","unresolved":true,"context_lines":[{"line_number":29,"context_line":"Manila applies the most recent configuration."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Currently, we are only applying such changes when the manila-share binary"},{"line_number":32,"context_line":"starts up and invokes the ``ensure_shares`` routine for each share driver."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Ensure shares being called only when the service is restarted provides little"},{"line_number":35,"context_line":"flexibility to administrators to make configuration changes and apply them"}],"source_content_type":"text/x-rst","patch_set":2,"id":"a4751592_eed7418e","line":32,"range":{"start_line":32,"start_character":56,"end_line":32,"end_character":60},"updated":"2024-06-22 00:02:05.000000000","message":"s/each/a\n\n\nI think this needs a little bit of a further explanation.\n\n\nIn a multi-backend environment, a single share manager service instance spawns multiple processes, each interacting with a single storage backend through a driver. In such an environment, it is possible that \"ensure_shares\" needs\nto be run for a single/specific storage backend driver. Today, there is no such provision. So, even if an operator wants to ensure shares belonging to a single backend, they would need to perform a disruptive restart of all backend drivers in such environments.","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Manila applies the most recent configuration."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Currently, we are only applying such changes when the manila-share binary"},{"line_number":32,"context_line":"starts up and invokes the ``ensure_shares`` routine for each share driver."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Ensure shares being called only when the service is restarted provides little"},{"line_number":35,"context_line":"flexibility to administrators to make configuration changes and apply them"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5926f5c3_23ae312a","line":32,"range":{"start_line":32,"start_character":56,"end_line":32,"end_character":60},"in_reply_to":"a4751592_eed7418e","updated":"2024-06-26 21:15:30.000000000","message":"Done","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fa63f8dc7606300721be6280b71334b8c9059de2","unresolved":true,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  We will introduce an API that allows administrators to call the manila"},{"line_number":56,"context_line":"  share\u0027s ensure shares routine, making this configuration update smooth and"},{"line_number":57,"context_line":"  with no downtime, so that export locations can be re-calculated and shares"},{"line_number":58,"context_line":"  updated with the newer config."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Changes to manila shares"}],"source_content_type":"text/x-rst","patch_set":2,"id":"e6042a3d_9f873efd","line":57,"range":{"start_line":57,"start_character":2,"end_line":57,"end_character":18},"updated":"2024-06-22 00:02:05.000000000","message":"requiring no service downtime","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  We will introduce an API that allows administrators to call the manila"},{"line_number":56,"context_line":"  share\u0027s ensure shares routine, making this configuration update smooth and"},{"line_number":57,"context_line":"  with no downtime, so that export locations can be re-calculated and shares"},{"line_number":58,"context_line":"  updated with the newer config."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Changes to manila shares"}],"source_content_type":"text/x-rst","patch_set":2,"id":"8231a0ac_2b6d6fcc","line":57,"range":{"start_line":57,"start_character":2,"end_line":57,"end_character":18},"in_reply_to":"e6042a3d_9f873efd","updated":"2024-06-26 21:15:30.000000000","message":"Done","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"dbf52a3ffa111b90d93e8f0a9b93a837b2bb2153","unresolved":true,"context_lines":[{"line_number":60,"context_line":"* Changes to manila shares"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"  Shares will have a different status while the configuration updates are being"},{"line_number":63,"context_line":"  applied: ``ensuring``. Ensure shares can take a while to complete,"},{"line_number":64,"context_line":"  as we will be updating all shares in the given backend. After all shares had"},{"line_number":65,"context_line":"  the configuration applied, we will transition them back to the ``available``"},{"line_number":66,"context_line":"  status again."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"d69e11b3_d29aab58","line":64,"range":{"start_line":63,"start_character":25,"end_line":64,"end_character":56},"updated":"2024-06-07 12:08:38.000000000","message":"Have you considered offering an API to ensure a single share?","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fa63f8dc7606300721be6280b71334b8c9059de2","unresolved":true,"context_lines":[{"line_number":60,"context_line":"* Changes to manila shares"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"  Shares will have a different status while the configuration updates are being"},{"line_number":63,"context_line":"  applied: ``ensuring``. Ensure shares can take a while to complete,"},{"line_number":64,"context_line":"  as we will be updating all shares in the given backend. After all shares had"},{"line_number":65,"context_line":"  the configuration applied, we will transition them back to the ``available``"},{"line_number":66,"context_line":"  status again."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"90a4fcdd_e836cec9","line":64,"range":{"start_line":63,"start_character":25,"end_line":64,"end_character":56},"in_reply_to":"7f437517_34cc5845","updated":"2024-06-22 00:02:05.000000000","message":"+1 is there a use case to allow a single share?\n\nensure_shares was built around the idea that there might be bulk share changes because _something_ changed in the backend","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"221dec10ef0ef58e66fdc1b8810aecdadda2169d","unresolved":true,"context_lines":[{"line_number":60,"context_line":"* Changes to manila shares"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"  Shares will have a different status while the configuration updates are being"},{"line_number":63,"context_line":"  applied: ``ensuring``. Ensure shares can take a while to complete,"},{"line_number":64,"context_line":"  as we will be updating all shares in the given backend. After all shares had"},{"line_number":65,"context_line":"  the configuration applied, we will transition them back to the ``available``"},{"line_number":66,"context_line":"  status again."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dd19d51a_8dc4395d","line":64,"range":{"start_line":63,"start_character":25,"end_line":64,"end_character":56},"in_reply_to":"90a4fcdd_e836cec9","updated":"2024-06-26 11:11:17.000000000","message":"THe use cases are always changing - most of the times it is because a respective fix did not make it, yet, to manila.\n\nE.g. NetApp vol move or svm migrate were sometimes done directly in the backend and ensure would then update the export locations in manila. At some point we have been confident enough to give the operators manila share/server migrate.\n\nWell and we have a custom restore share workflow (recovering from NetApp recovery queue, i.e. undoing an accidental deletion)\n\nOr I\u0027m investigating a problem with a single share and want to make sure that the config I see in manila at share/type level matches the backend (e.g. efficiency settings, cifs config etc.)","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"16b5a2b6f0a7bc5226cd6f9f891bf51585dcc363","unresolved":true,"context_lines":[{"line_number":60,"context_line":"* Changes to manila shares"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"  Shares will have a different status while the configuration updates are being"},{"line_number":63,"context_line":"  applied: ``ensuring``. Ensure shares can take a while to complete,"},{"line_number":64,"context_line":"  as we will be updating all shares in the given backend. After all shares had"},{"line_number":65,"context_line":"  the configuration applied, we will transition them back to the ``available``"},{"line_number":66,"context_line":"  status again."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f437517_34cc5845","line":64,"range":{"start_line":63,"start_character":25,"end_line":64,"end_character":56},"in_reply_to":"d69e11b3_d29aab58","updated":"2024-06-20 13:57:18.000000000","message":"I haven\u0027t considered this yet...\n\nThinking about the original use case we are trying to address, ensuring a single share would make this a bit more painful, as in: there was a change in the backend that requires the shares to be updated, so we\u0027d like to apply the change once.\n\nEnsuring a single share giver more control over which shares are being updated and when, but in a scenario where a backend has hundreds or thousands of shares, it would make the updates more difficult to manage which shares were already updated.","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":true,"context_lines":[{"line_number":60,"context_line":"* Changes to manila shares"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"  Shares will have a different status while the configuration updates are being"},{"line_number":63,"context_line":"  applied: ``ensuring``. Ensure shares can take a while to complete,"},{"line_number":64,"context_line":"  as we will be updating all shares in the given backend. After all shares had"},{"line_number":65,"context_line":"  the configuration applied, we will transition them back to the ``available``"},{"line_number":66,"context_line":"  status again."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"64f5cf31_60c6777a","line":64,"range":{"start_line":63,"start_character":25,"end_line":64,"end_character":56},"in_reply_to":"dd19d51a_8dc4395d","updated":"2024-06-26 21:15:30.000000000","message":"Got it... They are all good use cases too, thank you for bringing them up! I think we can also implement it, but I think we can cover the ensure_shares scenario first at the moment. I believe we can reuse some aspects of this implementation or even reuse the API and make a share_id and a host argument mutually exclusive. I wonder if it ensure share vs ensure shares would confuse people though :/ \nOtherwise, we\u0027d need to design kind of the same workflow but for a different scenario.","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"3e69cb8814f513028c9b51093c91a9b0cbcbecac","unresolved":true,"context_lines":[{"line_number":76,"context_line":"  The manila-share service should be up and enabled for being able to run the"},{"line_number":77,"context_line":"  ensure shares through the API."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  While the shares still have the status set to ``ensuring``, we will"},{"line_number":80,"context_line":"  not allow the ensure shares api to be invoked again. The administrators must"},{"line_number":81,"context_line":"  wait until all shares are back to available status."},{"line_number":82,"context_line":"  These operations should also be blocked while the ensure shares operation is"},{"line_number":83,"context_line":"  yet to complete:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5d071a8d_00289924","line":80,"range":{"start_line":79,"start_character":2,"end_line":80,"end_character":54},"updated":"2024-06-04 09:15:35.000000000","message":"1：How do we determine if all the shares on the corresponding host still have a ensuring state? Do you want to go through all shares? Will it slow down the api?\n2：If a share is stuck in the ensuring state due to an exception, will the api always be prevented from re-executing?\n\nIn my opinion, we can allow ensure share to be executed repeatedly. If a share is in the ensuring state, we will skip the ensure action of this share and print a warning log record. what do you think?","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fa63f8dc7606300721be6280b71334b8c9059de2","unresolved":true,"context_lines":[{"line_number":76,"context_line":"  The manila-share service should be up and enabled for being able to run the"},{"line_number":77,"context_line":"  ensure shares through the API."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  While the shares still have the status set to ``ensuring``, we will"},{"line_number":80,"context_line":"  not allow the ensure shares api to be invoked again. The administrators must"},{"line_number":81,"context_line":"  wait until all shares are back to available status."},{"line_number":82,"context_line":"  These operations should also be blocked while the ensure shares operation is"},{"line_number":83,"context_line":"  yet to complete:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"f68ab2bf_c2715069","line":80,"range":{"start_line":79,"start_character":2,"end_line":80,"end_character":54},"in_reply_to":"2d6aeeae_72362426","updated":"2024-06-22 00:02:05.000000000","message":"I have a similar concern - don\u0027t like the API checking each share\u0027s status.\n\nis there really a need to force every share to be in \"available\" state? today, the share manager collects _all_ shares, no matter the state, but it excludes busy and unavailable shares when invoking the share driver [1]\n\nMaybe we can follow the same pattern? Don\u0027t bother checking for share states in the API.. we\u0027ll sift through what shares need ensuring in the share manager.. (and you can log the ones you are ignoring like Haixin suggested)\n\n[1] https://github.com/openstack/manila/blob/0999857c47fca78b0d0a2f8059cd5aa1527cb422/manila/share/manager.py#L442-L461","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"c5866ba0cb224ae1d5c2ff0ec9b8ef0e8c906f2b","unresolved":true,"context_lines":[{"line_number":76,"context_line":"  The manila-share service should be up and enabled for being able to run the"},{"line_number":77,"context_line":"  ensure shares through the API."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  While the shares still have the status set to ``ensuring``, we will"},{"line_number":80,"context_line":"  not allow the ensure shares api to be invoked again. The administrators must"},{"line_number":81,"context_line":"  wait until all shares are back to available status."},{"line_number":82,"context_line":"  These operations should also be blocked while the ensure shares operation is"},{"line_number":83,"context_line":"  yet to complete:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"2d6aeeae_72362426","line":80,"range":{"start_line":79,"start_character":2,"end_line":80,"end_character":54},"in_reply_to":"5d071a8d_00289924","updated":"2024-06-04 12:09:44.000000000","message":"\u003e 1：How do we determine if all the shares on the corresponding host still have a ensuring state? Do you want to go through all shares? Will it slow down the api?\n\nI was thinking of going through all the shares within the host@backend. It can be a bit costly, but even if a backend has 1000 shares, it should be okay for the database.\n\n\u003e 2：If a share is stuck in the ensuring state due to an exception, will the api always be prevented from re-executing?\n\nYes, it will because it\u0027s difficult to determine for how long it is stuck, unless we have registers for the checks, and this spec is not considering that at the moment. In this case, I think we should recommend that the administrator must take action and reset the state of the share.\n\nTo mitigate this (and also possible race conditions) we could introduce a new database table only for recording when an operation started and when it ended and what is the host@backend. That way we can know how long it took. Also, it would give us the possibility of showing the administrators if the check have finished or not through a new API and CLI... Not sure if we want to go that direction, but also sounds feasible.","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":false,"context_lines":[{"line_number":76,"context_line":"  The manila-share service should be up and enabled for being able to run the"},{"line_number":77,"context_line":"  ensure shares through the API."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  While the shares still have the status set to ``ensuring``, we will"},{"line_number":80,"context_line":"  not allow the ensure shares api to be invoked again. The administrators must"},{"line_number":81,"context_line":"  wait until all shares are back to available status."},{"line_number":82,"context_line":"  These operations should also be blocked while the ensure shares operation is"},{"line_number":83,"context_line":"  yet to complete:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"39b2bdea_19c8a79f","line":80,"range":{"start_line":79,"start_character":2,"end_line":80,"end_character":54},"in_reply_to":"f68ab2bf_c2715069","updated":"2024-06-26 21:15:30.000000000","message":"Yeah, that makes sense. Thank you! :)","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"3e69cb8814f513028c9b51093c91a9b0cbcbecac","unresolved":true,"context_lines":[{"line_number":88,"context_line":"  - migration"},{"line_number":89,"context_line":"  - replication"},{"line_number":90,"context_line":"  - snapshots"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"  Additionally, in case ensure shares is triggered by an administrator, and the"},{"line_number":93,"context_line":"  service is restarted before the completion, all shares will be moved back to"},{"line_number":94,"context_line":"  the ``ensuring`` status until the ensure shares operation is complete."}],"source_content_type":"text/x-rst","patch_set":2,"id":"6433107d_b580f5c3","line":91,"updated":"2024-06-04 09:15:35.000000000","message":"delete, soft-delete,\nPerhaps these actions have specific requirements for the state of share. We don\u0027t have to limit it again.","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":false,"context_lines":[{"line_number":88,"context_line":"  - migration"},{"line_number":89,"context_line":"  - replication"},{"line_number":90,"context_line":"  - snapshots"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"  Additionally, in case ensure shares is triggered by an administrator, and the"},{"line_number":93,"context_line":"  service is restarted before the completion, all shares will be moved back to"},{"line_number":94,"context_line":"  the ``ensuring`` status until the ensure shares operation is complete."}],"source_content_type":"text/x-rst","patch_set":2,"id":"c9a7f70a_60bfad8f","line":91,"in_reply_to":"3d2f254c_539543e7","updated":"2024-06-26 21:15:30.000000000","message":"Yeah, I think if saying we won\u0027t allow ensure shares on shares with a busy status would be enough.","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"c5866ba0cb224ae1d5c2ff0ec9b8ef0e8c906f2b","unresolved":true,"context_lines":[{"line_number":88,"context_line":"  - migration"},{"line_number":89,"context_line":"  - replication"},{"line_number":90,"context_line":"  - snapshots"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"  Additionally, in case ensure shares is triggered by an administrator, and the"},{"line_number":93,"context_line":"  service is restarted before the completion, all shares will be moved back to"},{"line_number":94,"context_line":"  the ``ensuring`` status until the ensure shares operation is complete."}],"source_content_type":"text/x-rst","patch_set":2,"id":"e6ea4f83_9e1efa29","line":91,"in_reply_to":"6433107d_b580f5c3","updated":"2024-06-04 12:09:44.000000000","message":"++","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fa63f8dc7606300721be6280b71334b8c9059de2","unresolved":true,"context_lines":[{"line_number":88,"context_line":"  - migration"},{"line_number":89,"context_line":"  - replication"},{"line_number":90,"context_line":"  - snapshots"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"  Additionally, in case ensure shares is triggered by an administrator, and the"},{"line_number":93,"context_line":"  service is restarted before the completion, all shares will be moved back to"},{"line_number":94,"context_line":"  the ``ensuring`` status until the ensure shares operation is complete."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3d2f254c_539543e7","line":91,"in_reply_to":"e6ea4f83_9e1efa29","updated":"2024-06-22 00:02:05.000000000","message":"Yes; all of these operations check if the share is in \"available\" state - so while listing them here individually is okay; are we aware of anything that doesn\u0027t follow this rule?","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"dbf52a3ffa111b90d93e8f0a9b93a837b2bb2153","unresolved":true,"context_lines":[{"line_number":97,"context_line":"Alternatives"},{"line_number":98,"context_line":"------------"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Implementing periodic configuration checks, with configurable time for when"},{"line_number":101,"context_line":"they would run, and as a result they would pick up the newest configuration and"},{"line_number":102,"context_line":"apply them to the shares. However, routine would be run periodically, meaning"},{"line_number":103,"context_line":"that we would check for updates even if there are not."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Data model impact"},{"line_number":106,"context_line":"-----------------"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"22285a0f_3f029b4f","line":104,"range":{"start_line":100,"start_character":0,"end_line":104,"end_character":0},"updated":"2024-06-07 12:08:38.000000000","message":"Actually we are successfully running this pattern in our production environment for several years now.\n\nBackground:\nchanges that need an ensure are not only happening when I change a manila config and restart the service, but those can happen anytime and even without a human operator (e.g. a share gets moved from one pool to another and hence the preferred export location needs to be updated)\nSo we run ensure very often and yes, often this is a no-op, but that should not hurt.\nIf now the status of my shares changes to \u0027ensuring\u0027 every time and all kind of operations will be forbidden, that pattern will no longer work :(","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"16b5a2b6f0a7bc5226cd6f9f891bf51585dcc363","unresolved":true,"context_lines":[{"line_number":97,"context_line":"Alternatives"},{"line_number":98,"context_line":"------------"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Implementing periodic configuration checks, with configurable time for when"},{"line_number":101,"context_line":"they would run, and as a result they would pick up the newest configuration and"},{"line_number":102,"context_line":"apply them to the shares. However, routine would be run periodically, meaning"},{"line_number":103,"context_line":"that we would check for updates even if there are not."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Data model impact"},{"line_number":106,"context_line":"-----------------"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"e2c2409c_b9d2366a","line":104,"range":{"start_line":100,"start_character":0,"end_line":104,"end_character":0},"in_reply_to":"22285a0f_3f029b4f","updated":"2024-06-20 13:57:18.000000000","message":"Got it, thank you for the feedback. Responded to this in another comment :)","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":false,"context_lines":[{"line_number":97,"context_line":"Alternatives"},{"line_number":98,"context_line":"------------"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Implementing periodic configuration checks, with configurable time for when"},{"line_number":101,"context_line":"they would run, and as a result they would pick up the newest configuration and"},{"line_number":102,"context_line":"apply them to the shares. However, routine would be run periodically, meaning"},{"line_number":103,"context_line":"that we would check for updates even if there are not."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Data model impact"},{"line_number":106,"context_line":"-----------------"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"e63416b6_29e98fd6","line":104,"range":{"start_line":100,"start_character":0,"end_line":104,"end_character":0},"in_reply_to":"e2c2409c_b9d2366a","updated":"2024-06-26 21:15:30.000000000","message":"Tried to cover this scenario in the most recent version, please take another look.","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fa63f8dc7606300721be6280b71334b8c9059de2","unresolved":true,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"**To trigger the ensure shares routine**::"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    POST /v2/services/ensure"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Request::"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"cc7d04b5_7dbc7b34","line":131,"range":{"start_line":131,"start_character":4,"end_line":131,"end_character":28},"updated":"2024-06-22 00:02:05.000000000","message":"will invoking this API record any state change on a \"service\" itself? Or is there any way you want to present information regarding an ongoing \"ensure_shares\" operation to API users?","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"d98ce82663930033180c34df5d7dcd926d6406c1","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"**To trigger the ensure shares routine**::"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    POST /v2/services/ensure"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Request::"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"acaf38da_4fc98749","line":131,"range":{"start_line":131,"start_character":4,"end_line":131,"end_character":28},"in_reply_to":"0cc3257d_0958836d","updated":"2024-07-12 01:49:18.000000000","message":"if Binary is not manila-share, Ensuer_state also can be False. For data format uniformity","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"faa487befd4f94c27dd35b07ca0efb1ab0ed583e","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"**To trigger the ensure shares routine**::"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    POST /v2/services/ensure"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Request::"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"0cc3257d_0958836d","line":131,"range":{"start_line":131,"start_character":4,"end_line":131,"end_character":28},"in_reply_to":"462f6b26_27dc92c4","updated":"2024-07-12 01:47:28.000000000","message":"yes, boolean also works. Ensure_state default be False, will be True if an ongoing \"ensure_share\" operation on this manial-share backend. \nif Binary is not manila-share, Ensuer_state must be None.\n\nI see lines 78 through 84 of this spec and it doesn\u0027t follow this design.","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"6c1e1f69be2c9d57fc035321f2b2ee8470787777","unresolved":true,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"**To trigger the ensure shares routine**::"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    POST /v2/services/ensure"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Request::"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"8961cebc_1a922843","line":131,"range":{"start_line":131,"start_character":4,"end_line":131,"end_character":28},"in_reply_to":"48c7f0ee_9bb5000e","updated":"2024-07-05 03:39:10.000000000","message":"+1，we should better add ensure state to services table, but not async_operation_data table.\n\nfor example:\nmanila service-list\n\n    +----+------------------+--------------+------+---------+-------+--------------+\n    | Id |   Binary         |    Host      | Zone | Status  | State |Ensure_state  |                                                                       \n    +----+------------------+--------------+------+---------+-------+--------------+\n    | 1  | manila-share     | host@backend1| az1  | enabled | up    |   None       |\n    +----+------------------+--------------+------+---------+-------+--------------+\n    | 2  | manila-share     | host@backend2| az1  | enabled | up    | ensuring     |\n    +----+------------------+--------------+------+---------+-------+--------------+\n    | 3  | manila-share     | host@backend3| az1  | enabled | up    | complete     |\n    +----+------------------+--------------+------+---------+-------+--------------+","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a50111f8de1e173d21ac648e3ff808dbe7b04899","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"**To trigger the ensure shares routine**::"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    POST /v2/services/ensure"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Request::"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"462f6b26_27dc92c4","line":131,"range":{"start_line":131,"start_character":4,"end_line":131,"end_character":28},"in_reply_to":"8961cebc_1a922843","updated":"2024-07-05 18:40:35.000000000","message":"I think a boolean also works for that, and we can allow the operator to update in case they want :)","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"4c26df7858edb82d3c22f60766c7dac8a4bde1fe","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"**To trigger the ensure shares routine**::"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    POST /v2/services/ensure"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Request::"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"b347e2d7_93ffa531","line":131,"range":{"start_line":131,"start_character":4,"end_line":131,"end_character":28},"in_reply_to":"acaf38da_4fc98749","updated":"2024-07-12 12:25:28.000000000","message":"Yes, the async_operation_data would add some redundancy. We don\u0027t need that with the new ensuring status in the share service.","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":true,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"**To trigger the ensure shares routine**::"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    POST /v2/services/ensure"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Request::"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"48c7f0ee_9bb5000e","line":131,"range":{"start_line":131,"start_character":4,"end_line":131,"end_character":28},"in_reply_to":"cc7d04b5_7dbc7b34","updated":"2024-06-26 21:15:30.000000000","message":"Initially, I didn\u0027t think of this, but now that we will allow the ensure shares to be run repeatedly, it makes sense to add a new column to the service table and have the status set to ensuring during this operation. Otherwise, we\u0027d need to know that through the async operation data table. Wdyt?","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fa63f8dc7606300721be6280b71334b8c9059de2","unresolved":true,"context_lines":[{"line_number":160,"context_line":"Security impact"},{"line_number":161,"context_line":"---------------"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"None."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"03fcd42c_9a5a8f3f","line":163,"range":{"start_line":163,"start_character":0,"end_line":163,"end_character":5},"updated":"2024-06-22 00:02:05.000000000","message":"with RBAC, we\u0027ll ensure by default that this API requires an \"administrator\" role; this means that regular users cannot invoke the \"ensure shares\" API; they will receive 403 forbidden","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":false,"context_lines":[{"line_number":160,"context_line":"Security impact"},{"line_number":161,"context_line":"---------------"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"None."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"8fa0f715_6d7e3beb","line":163,"range":{"start_line":163,"start_character":0,"end_line":163,"end_character":5},"in_reply_to":"03fcd42c_9a5a8f3f","updated":"2024-06-26 21:15:30.000000000","message":"Done","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fa63f8dc7606300721be6280b71334b8c9059de2","unresolved":true,"context_lines":[{"line_number":166,"context_line":"Notifications impact"},{"line_number":167,"context_line":"--------------------"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"None"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Other end user impact"},{"line_number":172,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"a4f50932_754010f3","line":169,"range":{"start_line":169,"start_character":0,"end_line":169,"end_character":4},"updated":"2024-06-22 00:02:05.000000000","message":"I think its worth emitting a notification regarding the operation beginning and ending","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":false,"context_lines":[{"line_number":166,"context_line":"Notifications impact"},{"line_number":167,"context_line":"--------------------"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"None"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Other end user impact"},{"line_number":172,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9e6d486a_de334be8","line":169,"range":{"start_line":169,"start_character":0,"end_line":169,"end_character":4},"in_reply_to":"a4f50932_754010f3","updated":"2024-06-26 21:15:30.000000000","message":"Done","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fa63f8dc7606300721be6280b71334b8c9059de2","unresolved":true,"context_lines":[{"line_number":171,"context_line":"Other end user impact"},{"line_number":172,"context_line":"---------------------"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"None"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Performance Impact"},{"line_number":177,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fdfc31b4_ae3cde8d","line":174,"range":{"start_line":174,"start_character":0,"end_line":174,"end_character":4},"updated":"2024-06-22 00:02:05.000000000","message":"When state changes are enabled, and an administator invokes the ensure shares API, end users will notice that their shares have transitioned to \"ensuring\" status. They will be unable to perform any actions on the share via Manila. Unless the backend driver updates export locations as part of this operation, there is no impact on the data path.","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":false,"context_lines":[{"line_number":171,"context_line":"Other end user impact"},{"line_number":172,"context_line":"---------------------"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"None"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Performance Impact"},{"line_number":177,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"c37d0ecf_d479f254","line":174,"range":{"start_line":174,"start_character":0,"end_line":174,"end_character":4},"in_reply_to":"fdfc31b4_ae3cde8d","updated":"2024-06-26 21:15:30.000000000","message":"Done","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fa63f8dc7606300721be6280b71334b8c9059de2","unresolved":true,"context_lines":[{"line_number":203,"context_line":"----------"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"* Implement the ensure shares API."},{"line_number":206,"context_line":"* Implement the corresponding OSC commands."},{"line_number":207,"context_line":"* Implement the corresponding functionality in OSC."},{"line_number":208,"context_line":"* Implement tempest support."},{"line_number":209,"context_line":"* Update the documentation."},{"line_number":210,"context_line":"* Add the feature to manila-ui."}],"source_content_type":"text/x-rst","patch_set":2,"id":"23e0e49b_51edcfde","line":207,"range":{"start_line":206,"start_character":0,"end_line":207,"end_character":51},"updated":"2024-06-22 00:02:05.000000000","message":"these two the same? or you mean OpenStack CLI and OpenStackSDK?","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":false,"context_lines":[{"line_number":203,"context_line":"----------"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"* Implement the ensure shares API."},{"line_number":206,"context_line":"* Implement the corresponding OSC commands."},{"line_number":207,"context_line":"* Implement the corresponding functionality in OSC."},{"line_number":208,"context_line":"* Implement tempest support."},{"line_number":209,"context_line":"* Update the documentation."},{"line_number":210,"context_line":"* Add the feature to manila-ui."}],"source_content_type":"text/x-rst","patch_set":2,"id":"c1a05de6_edfd1eda","line":207,"range":{"start_line":206,"start_character":0,"end_line":207,"end_character":51},"in_reply_to":"23e0e49b_51edcfde","updated":"2024-06-26 21:15:30.000000000","message":"yes, thanks :D","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"fa63f8dc7606300721be6280b71334b8c9059de2","unresolved":true,"context_lines":[{"line_number":205,"context_line":"* Implement the ensure shares API."},{"line_number":206,"context_line":"* Implement the corresponding OSC commands."},{"line_number":207,"context_line":"* Implement the corresponding functionality in OSC."},{"line_number":208,"context_line":"* Implement tempest support."},{"line_number":209,"context_line":"* Update the documentation."},{"line_number":210,"context_line":"* Add the feature to manila-ui."},{"line_number":211,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3b081be2_6e46fd58","line":208,"range":{"start_line":208,"start_character":20,"end_line":208,"end_character":27},"updated":"2024-06-22 00:02:05.000000000","message":"tests","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"da095547a86b2115cb6961669df4238659c3b92b","unresolved":false,"context_lines":[{"line_number":205,"context_line":"* Implement the ensure shares API."},{"line_number":206,"context_line":"* Implement the corresponding OSC commands."},{"line_number":207,"context_line":"* Implement the corresponding functionality in OSC."},{"line_number":208,"context_line":"* Implement tempest support."},{"line_number":209,"context_line":"* Update the documentation."},{"line_number":210,"context_line":"* Add the feature to manila-ui."},{"line_number":211,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"56d587ae_f84da602","line":208,"range":{"start_line":208,"start_character":20,"end_line":208,"end_character":27},"in_reply_to":"3b081be2_6e46fd58","updated":"2024-06-26 21:15:30.000000000","message":"Done","commit_id":"9157e2f62ff20c1597445ec7fc77f2490498dc21"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d62e6c288b9d4fc567870957e4d1c845b9940042","unresolved":true,"context_lines":[{"line_number":69,"context_line":"  Shares will have a different status while the configuration updates are being"},{"line_number":70,"context_line":"  applied: ``ensuring`` only when the operation was triggered through the API,"},{"line_number":71,"context_line":"  and in case the OpenStack operator specified the paramater"},{"line_number":72,"context_line":"  ``update_share_status`` to ``True``."},{"line_number":73,"context_line":"  Ensure shares can take a while to complete, as we will be updating all shares"},{"line_number":74,"context_line":"  in the given backend. After all shares had the configuration applied, we will"},{"line_number":75,"context_line":"  transition them back to the ``available`` status in case there was a status"}],"source_content_type":"text/x-rst","patch_set":3,"id":"c380e18d_17ad1abb","line":72,"range":{"start_line":72,"start_character":37,"end_line":72,"end_character":38},"updated":"2024-07-03 20:19:02.000000000","message":"this is True by default, correct?\n\nAlso, do we need this as a config opt as well as an API parameter? that part is unclear..","commit_id":"b98ad5dae62153c021a27fd4390ecc121f14bfb5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"6c1e1f69be2c9d57fc035321f2b2ee8470787777","unresolved":true,"context_lines":[{"line_number":69,"context_line":"  Shares will have a different status while the configuration updates are being"},{"line_number":70,"context_line":"  applied: ``ensuring`` only when the operation was triggered through the API,"},{"line_number":71,"context_line":"  and in case the OpenStack operator specified the paramater"},{"line_number":72,"context_line":"  ``update_share_status`` to ``True``."},{"line_number":73,"context_line":"  Ensure shares can take a while to complete, as we will be updating all shares"},{"line_number":74,"context_line":"  in the given backend. After all shares had the configuration applied, we will"},{"line_number":75,"context_line":"  transition them back to the ``available`` status in case there was a status"}],"source_content_type":"text/x-rst","patch_set":3,"id":"f567a114_0e1d408c","line":72,"range":{"start_line":72,"start_character":37,"end_line":72,"end_character":38},"in_reply_to":"c380e18d_17ad1abb","updated":"2024-07-05 03:39:10.000000000","message":"I prefer to use it as a config opt","commit_id":"b98ad5dae62153c021a27fd4390ecc121f14bfb5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a50111f8de1e173d21ac648e3ff808dbe7b04899","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  Shares will have a different status while the configuration updates are being"},{"line_number":70,"context_line":"  applied: ``ensuring`` only when the operation was triggered through the API,"},{"line_number":71,"context_line":"  and in case the OpenStack operator specified the paramater"},{"line_number":72,"context_line":"  ``update_share_status`` to ``True``."},{"line_number":73,"context_line":"  Ensure shares can take a while to complete, as we will be updating all shares"},{"line_number":74,"context_line":"  in the given backend. After all shares had the configuration applied, we will"},{"line_number":75,"context_line":"  transition them back to the ``available`` status in case there was a status"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bfe6cce3_0508084b","line":72,"range":{"start_line":72,"start_character":37,"end_line":72,"end_character":38},"in_reply_to":"c380e18d_17ad1abb","updated":"2024-07-05 18:40:35.000000000","message":"Yeah, a configuration option would be better to let admins defining the default they want in their cloud, but initially I would say this defaults to False.","commit_id":"b98ad5dae62153c021a27fd4390ecc121f14bfb5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d62e6c288b9d4fc567870957e4d1c845b9940042","unresolved":true,"context_lines":[{"line_number":118,"context_line":".. code-block:: bash"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    openstack share service ensure"},{"line_number":121,"context_line":"          \u003chost@backend\u003e"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"* host@backend: the host and the backend that should update its shares"},{"line_number":124,"context_line":"  configuration."}],"source_content_type":"text/x-rst","patch_set":3,"id":"780ca684_98f59bd7","line":121,"updated":"2024-07-03 20:19:02.000000000","message":"missing the \"update-share-status\" parameter..","commit_id":"b98ad5dae62153c021a27fd4390ecc121f14bfb5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a50111f8de1e173d21ac648e3ff808dbe7b04899","unresolved":false,"context_lines":[{"line_number":118,"context_line":".. code-block:: bash"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    openstack share service ensure"},{"line_number":121,"context_line":"          \u003chost@backend\u003e"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"* host@backend: the host and the backend that should update its shares"},{"line_number":124,"context_line":"  configuration."}],"source_content_type":"text/x-rst","patch_set":3,"id":"12a80058_2ce9e21a","line":121,"in_reply_to":"780ca684_98f59bd7","updated":"2024-07-05 18:40:35.000000000","message":"Done","commit_id":"b98ad5dae62153c021a27fd4390ecc121f14bfb5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d62e6c288b9d4fc567870957e4d1c845b9940042","unresolved":true,"context_lines":[{"line_number":134,"context_line":"Request::"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    {"},{"line_number":137,"context_line":"      \"host\": \"openstackhost@generic\""},{"line_number":138,"context_line":"    }"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Normal http response code(s):"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e28e8ad0_3465961e","line":137,"range":{"start_line":137,"start_character":36,"end_line":137,"end_character":37},"updated":"2024-07-03 20:19:02.000000000","message":"add: \"update-share-status\"","commit_id":"b98ad5dae62153c021a27fd4390ecc121f14bfb5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a50111f8de1e173d21ac648e3ff808dbe7b04899","unresolved":false,"context_lines":[{"line_number":134,"context_line":"Request::"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    {"},{"line_number":137,"context_line":"      \"host\": \"openstackhost@generic\""},{"line_number":138,"context_line":"    }"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Normal http response code(s):"}],"source_content_type":"text/x-rst","patch_set":3,"id":"47c4efaf_ded49b46","line":137,"range":{"start_line":137,"start_character":36,"end_line":137,"end_character":37},"in_reply_to":"e28e8ad0_3465961e","updated":"2024-07-05 18:40:35.000000000","message":"Done","commit_id":"b98ad5dae62153c021a27fd4390ecc121f14bfb5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d62e6c288b9d4fc567870957e4d1c845b9940042","unresolved":true,"context_lines":[{"line_number":162,"context_line":"---------------"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"We will implement RBAC rules for this API. Only OpenStack Operators will be"},{"line_number":165,"context_line":"able to use it."},{"line_number":166,"context_line":""},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":3,"id":"221b016a_4266c173","line":165,"range":{"start_line":165,"start_character":14,"end_line":165,"end_character":15},"updated":"2024-07-03 20:19:02.000000000","message":"by the virtue of the default RBAC policy.","commit_id":"b98ad5dae62153c021a27fd4390ecc121f14bfb5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a50111f8de1e173d21ac648e3ff808dbe7b04899","unresolved":false,"context_lines":[{"line_number":162,"context_line":"---------------"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"We will implement RBAC rules for this API. Only OpenStack Operators will be"},{"line_number":165,"context_line":"able to use it."},{"line_number":166,"context_line":""},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":3,"id":"20dc159e_1d7788fc","line":165,"range":{"start_line":165,"start_character":14,"end_line":165,"end_character":15},"in_reply_to":"221b016a_4266c173","updated":"2024-07-05 18:40:35.000000000","message":"Done","commit_id":"b98ad5dae62153c021a27fd4390ecc121f14bfb5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d62e6c288b9d4fc567870957e4d1c845b9940042","unresolved":true,"context_lines":[{"line_number":168,"context_line":"Notifications impact"},{"line_number":169,"context_line":"--------------------"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"We will emit a notification when the service starts and when the service ends."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Other end user impact"},{"line_number":174,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"0a5aa792_2b7b0f55","line":171,"range":{"start_line":171,"start_character":37,"end_line":171,"end_character":44},"updated":"2024-07-03 20:19:02.000000000","message":"\"ensure_shares\" operation","commit_id":"b98ad5dae62153c021a27fd4390ecc121f14bfb5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a50111f8de1e173d21ac648e3ff808dbe7b04899","unresolved":false,"context_lines":[{"line_number":168,"context_line":"Notifications impact"},{"line_number":169,"context_line":"--------------------"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"We will emit a notification when the service starts and when the service ends."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Other end user impact"},{"line_number":174,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"45f33cf8_ce91f696","line":171,"range":{"start_line":171,"start_character":37,"end_line":171,"end_character":44},"in_reply_to":"0a5aa792_2b7b0f55","updated":"2024-07-05 18:40:35.000000000","message":"Done","commit_id":"b98ad5dae62153c021a27fd4390ecc121f14bfb5"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"67f04641b38b3c97ace0cc7d353a686d7445bc97","unresolved":true,"context_lines":[{"line_number":80,"context_line":"  When the service gets restarted and the ensure shares is issued by the share"},{"line_number":81,"context_line":"  manager, a new database entry will be added to the ``async_operation_data``"},{"line_number":82,"context_line":"  table and the record will be deleted as soon as the ensure shares was"},{"line_number":83,"context_line":"  completed. The ``entity_id`` will be the the service ID, and the key will"},{"line_number":84,"context_line":"  contain the host name and the operation we are performing, e.g."},{"line_number":85,"context_line":"  ``ensure_shares_hostname@backend``, the value will be ``share_manager``,"},{"line_number":86,"context_line":"  indicating that this operation was started by the share manager service."}],"source_content_type":"text/x-rst","patch_set":4,"id":"a0a47645_ac159d3f","line":83,"range":{"start_line":83,"start_character":39,"end_line":83,"end_character":46},"updated":"2024-07-04 15:26:55.000000000","message":"nit: remove the repeated `the`","commit_id":"f9de15cba218bf01396d0ef31d88dd0c6c7f9deb"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a50111f8de1e173d21ac648e3ff808dbe7b04899","unresolved":false,"context_lines":[{"line_number":80,"context_line":"  When the service gets restarted and the ensure shares is issued by the share"},{"line_number":81,"context_line":"  manager, a new database entry will be added to the ``async_operation_data``"},{"line_number":82,"context_line":"  table and the record will be deleted as soon as the ensure shares was"},{"line_number":83,"context_line":"  completed. The ``entity_id`` will be the the service ID, and the key will"},{"line_number":84,"context_line":"  contain the host name and the operation we are performing, e.g."},{"line_number":85,"context_line":"  ``ensure_shares_hostname@backend``, the value will be ``share_manager``,"},{"line_number":86,"context_line":"  indicating that this operation was started by the share manager service."}],"source_content_type":"text/x-rst","patch_set":4,"id":"d3895085_92038f68","line":83,"range":{"start_line":83,"start_character":39,"end_line":83,"end_character":46},"in_reply_to":"a0a47645_ac159d3f","updated":"2024-07-05 18:40:35.000000000","message":"Done","commit_id":"f9de15cba218bf01396d0ef31d88dd0c6c7f9deb"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"67f04641b38b3c97ace0cc7d353a686d7445bc97","unresolved":true,"context_lines":[{"line_number":169,"context_line":"---------------"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"We will implement RBAC rules for this API. Only OpenStack Operators will be"},{"line_number":172,"context_line":"able to use it bye the virtue of the default RBAC policy."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5ffe9f46_68d46685","line":172,"range":{"start_line":172,"start_character":15,"end_line":172,"end_character":18},"updated":"2024-07-04 15:26:55.000000000","message":"nit: by","commit_id":"f9de15cba218bf01396d0ef31d88dd0c6c7f9deb"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a50111f8de1e173d21ac648e3ff808dbe7b04899","unresolved":false,"context_lines":[{"line_number":169,"context_line":"---------------"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"We will implement RBAC rules for this API. Only OpenStack Operators will be"},{"line_number":172,"context_line":"able to use it bye the virtue of the default RBAC policy."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"badf6f56_7bcd0e99","line":172,"range":{"start_line":172,"start_character":15,"end_line":172,"end_character":18},"in_reply_to":"5ffe9f46_68d46685","updated":"2024-07-05 18:40:35.000000000","message":"Done","commit_id":"f9de15cba218bf01396d0ef31d88dd0c6c7f9deb"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2d3134a81bd2e7f66fb2474160044188e0b44c0e","unresolved":true,"context_lines":[{"line_number":67,"context_line":"* Changes to manila shares"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"  Shares will have a different status while the configuration updates are being"},{"line_number":70,"context_line":"  applied: ``ensuring``. This will happen only when the operation was triggered"},{"line_number":71,"context_line":"  through the API, and in case the OpenStack operator specified the paramater\u0027s"},{"line_number":72,"context_line":"  ``update_share_status`` value to ``True``, as it will default to ``False``."},{"line_number":73,"context_line":"  Ensure shares can take a while to complete, as we will be updating all shares"},{"line_number":74,"context_line":"  in the given backend. After all shares had the configuration applied, we will"},{"line_number":75,"context_line":"  transition them back to the ``available`` status in case there was a status"}],"source_content_type":"text/x-rst","patch_set":5,"id":"26c2b06d_f8bfd196","line":72,"range":{"start_line":70,"start_character":25,"end_line":72,"end_character":76},"updated":"2024-07-08 23:49:20.000000000","message":"i\u0027m -1 on this; not sure if i misunderstood a previous iteration; Maurice asked for a way to turn off the state change behavior - the proposal intended to enable state changes for both approaches to \"ensure_shares\" by default.. what changed?","commit_id":"f3c7607f425a1ba23aaffbc176ada0abc919ec1c"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"4c26df7858edb82d3c22f60766c7dac8a4bde1fe","unresolved":true,"context_lines":[{"line_number":67,"context_line":"* Changes to manila shares"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"  Shares will have a different status while the configuration updates are being"},{"line_number":70,"context_line":"  applied: ``ensuring``. This will happen only when the operation was triggered"},{"line_number":71,"context_line":"  through the API, and in case the OpenStack operator specified the paramater\u0027s"},{"line_number":72,"context_line":"  ``update_share_status`` value to ``True``, as it will default to ``False``."},{"line_number":73,"context_line":"  Ensure shares can take a while to complete, as we will be updating all shares"},{"line_number":74,"context_line":"  in the given backend. After all shares had the configuration applied, we will"},{"line_number":75,"context_line":"  transition them back to the ``available`` status in case there was a status"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5bcc272d_d2f22c37","line":72,"range":{"start_line":70,"start_character":25,"end_line":72,"end_character":76},"in_reply_to":"26c2b06d_f8bfd196","updated":"2024-07-12 12:25:28.000000000","message":"So yes, we are providing the way to turn off the state change behavior, and that should be through the configuration option. The idea to make the ensure shares not changing the shares status when it is issued within the share manager was something to avoid breaking operations that benefit from the current workflow.\n\nI am also fine letting the operation triggered by the share manager using the default specified in the config option and making a statement in the release note asking operators to decide when they upgrade.","commit_id":"f3c7607f425a1ba23aaffbc176ada0abc919ec1c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2d3134a81bd2e7f66fb2474160044188e0b44c0e","unresolved":true,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    {"},{"line_number":150,"context_line":"      \"host\": \"openstackhost@generic\","},{"line_number":151,"context_line":"      \"update_shares_status\": \"False\","},{"line_number":152,"context_line":"    }"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Normal http response code(s):"}],"source_content_type":"text/x-rst","patch_set":5,"id":"41ab55ff_1197b2c2","line":151,"range":{"start_line":151,"start_character":6,"end_line":151,"end_character":38},"updated":"2024-07-08 23:49:20.000000000","message":"this is a config opt, correct? not an API parameter","commit_id":"f3c7607f425a1ba23aaffbc176ada0abc919ec1c"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"4c26df7858edb82d3c22f60766c7dac8a4bde1fe","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    {"},{"line_number":150,"context_line":"      \"host\": \"openstackhost@generic\","},{"line_number":151,"context_line":"      \"update_shares_status\": \"False\","},{"line_number":152,"context_line":"    }"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Normal http response code(s):"}],"source_content_type":"text/x-rst","patch_set":5,"id":"387520fe_a4206276","line":151,"range":{"start_line":151,"start_character":6,"end_line":151,"end_character":38},"in_reply_to":"41ab55ff_1197b2c2","updated":"2024-07-12 12:25:28.000000000","message":"Done","commit_id":"f3c7607f425a1ba23aaffbc176ada0abc919ec1c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2d3134a81bd2e7f66fb2474160044188e0b44c0e","unresolved":true,"context_lines":[{"line_number":183,"context_line":"--------------------"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"We will emit a notification when the \"ensure_shares\" operation starts and when"},{"line_number":186,"context_line":"the service ends."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Other end user impact"},{"line_number":189,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"a90ad27e_68046107","line":186,"range":{"start_line":186,"start_character":4,"end_line":186,"end_character":11},"updated":"2024-07-08 23:49:20.000000000","message":"operation","commit_id":"f3c7607f425a1ba23aaffbc176ada0abc919ec1c"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"4c26df7858edb82d3c22f60766c7dac8a4bde1fe","unresolved":false,"context_lines":[{"line_number":183,"context_line":"--------------------"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"We will emit a notification when the \"ensure_shares\" operation starts and when"},{"line_number":186,"context_line":"the service ends."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Other end user impact"},{"line_number":189,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"10fac3aa_346d297a","line":186,"range":{"start_line":186,"start_character":4,"end_line":186,"end_character":11},"in_reply_to":"a90ad27e_68046107","updated":"2024-07-12 12:25:28.000000000","message":"Done","commit_id":"f3c7607f425a1ba23aaffbc176ada0abc919ec1c"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"faa487befd4f94c27dd35b07ca0efb1ab0ed583e","unresolved":true,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":".. code-block:: bash"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    openstack share service ensure [--update-shares-status \u003cupdate-shares-status\u003e]"},{"line_number":131,"context_line":"          \u003chost@backend\u003e"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"0c5f99b2_260cd9dc","line":130,"range":{"start_line":130,"start_character":35,"end_line":130,"end_character":82},"updated":"2024-07-12 01:47:28.000000000","message":"`update_shares_status_on_ensure is new configuration for this.\nso remove this.","commit_id":"1966b15cee8c8ed68c60a1f630385f9540f8cc67"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"4c26df7858edb82d3c22f60766c7dac8a4bde1fe","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":".. code-block:: bash"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    openstack share service ensure [--update-shares-status \u003cupdate-shares-status\u003e]"},{"line_number":131,"context_line":"          \u003chost@backend\u003e"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ebd44095_75e15141","line":130,"range":{"start_line":130,"start_character":35,"end_line":130,"end_character":82},"in_reply_to":"0c5f99b2_260cd9dc","updated":"2024-07-12 12:25:28.000000000","message":"good catch, thank you!","commit_id":"1966b15cee8c8ed68c60a1f630385f9540f8cc67"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3ed5aca2696b6e7fdb8c75f6b5f70b6a78209710","unresolved":true,"context_lines":[{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Add new ensure shares API"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Ensure shares is a functionality in the manila share service that goes over all"},{"line_number":12,"context_line":"of the shares within that backend and checks and updates them in case something"},{"line_number":13,"context_line":"has changed since the last time it was invoked."}],"source_content_type":"text/x-rst","patch_set":7,"id":"a7a805f2_df6cb502","line":10,"updated":"2024-07-16 17:54:46.000000000","message":"please add a blueprint link here","commit_id":"26cf9c832d22b880eb03cec4d7705bc7c0c44c9d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"83dc8fd2056ac9c9ab3978034f2ba06bcde487d4","unresolved":false,"context_lines":[{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Add new ensure shares API"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Ensure shares is a functionality in the manila share service that goes over all"},{"line_number":12,"context_line":"of the shares within that backend and checks and updates them in case something"},{"line_number":13,"context_line":"has changed since the last time it was invoked."}],"source_content_type":"text/x-rst","patch_set":7,"id":"1600cbaa_d8215eb7","line":10,"in_reply_to":"a7a805f2_df6cb502","updated":"2024-07-17 21:06:03.000000000","message":"Done","commit_id":"26cf9c832d22b880eb03cec4d7705bc7c0c44c9d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3ed5aca2696b6e7fdb8c75f6b5f70b6a78209710","unresolved":true,"context_lines":[{"line_number":102,"context_line":"apply them to the shares. However, routine would be run periodically, meaning"},{"line_number":103,"context_line":"that we would check for updates even if there are not."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Data model impact"},{"line_number":106,"context_line":"-----------------"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"* A new status (``ensuring``) will be added to the shares\u0027 possible"},{"line_number":109,"context_line":"  status."}],"source_content_type":"text/x-rst","patch_set":7,"id":"f68c3804_a692fda8","line":106,"range":{"start_line":105,"start_character":0,"end_line":106,"end_character":17},"updated":"2024-07-16 17:54:46.000000000","message":"This is misformatted: https://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_c94/915480/7/check/openstack-tox-docs/c943b31/docs/specs/dalmatian/add-ensure-shares-api.html#data-model-impact","commit_id":"26cf9c832d22b880eb03cec4d7705bc7c0c44c9d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"83dc8fd2056ac9c9ab3978034f2ba06bcde487d4","unresolved":false,"context_lines":[{"line_number":102,"context_line":"apply them to the shares. However, routine would be run periodically, meaning"},{"line_number":103,"context_line":"that we would check for updates even if there are not."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Data model impact"},{"line_number":106,"context_line":"-----------------"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"* A new status (``ensuring``) will be added to the shares\u0027 possible"},{"line_number":109,"context_line":"  status."}],"source_content_type":"text/x-rst","patch_set":7,"id":"1731f169_c2f856f7","line":106,"range":{"start_line":105,"start_character":0,"end_line":106,"end_character":17},"in_reply_to":"f68c3804_a692fda8","updated":"2024-07-17 21:06:03.000000000","message":"Done","commit_id":"26cf9c832d22b880eb03cec4d7705bc7c0c44c9d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e4d64f0d7739b22a4beba122110b1004cc66f6c2","unresolved":true,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"**To trigger the ensure shares routine**::"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    POST /v2/services/ensure"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Request::"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"7ccecf53_d0fcf8b5","line":138,"range":{"start_line":138,"start_character":4,"end_line":138,"end_character":28},"updated":"2024-07-15 17:45:11.000000000","message":"could also be an action :)","commit_id":"26cf9c832d22b880eb03cec4d7705bc7c0c44c9d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3ed5aca2696b6e7fdb8c75f6b5f70b6a78209710","unresolved":true,"context_lines":[{"line_number":152,"context_line":"- 401 - Unauthorized; user has not authenticated"},{"line_number":153,"context_line":"- 403 - Forbidden; user is forbidden by policy"},{"line_number":154,"context_line":"- 404 - Not found; API does not exist in micro version"},{"line_number":155,"context_line":"- 404 - Not found; There is no host and backend matching the provided"},{"line_number":156,"context_line":"- 409 - Conflict; Not all shares are currently available."},{"line_number":157,"context_line":"- 409 - Conflict; Service is not up."},{"line_number":158,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3d0f82a5_d2d1c240","line":155,"range":{"start_line":155,"start_character":0,"end_line":155,"end_character":69},"updated":"2024-07-16 17:54:46.000000000","message":"400\n\nThe host/backend aren\u0027t in the endpoint","commit_id":"26cf9c832d22b880eb03cec4d7705bc7c0c44c9d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"83dc8fd2056ac9c9ab3978034f2ba06bcde487d4","unresolved":false,"context_lines":[{"line_number":152,"context_line":"- 401 - Unauthorized; user has not authenticated"},{"line_number":153,"context_line":"- 403 - Forbidden; user is forbidden by policy"},{"line_number":154,"context_line":"- 404 - Not found; API does not exist in micro version"},{"line_number":155,"context_line":"- 404 - Not found; There is no host and backend matching the provided"},{"line_number":156,"context_line":"- 409 - Conflict; Not all shares are currently available."},{"line_number":157,"context_line":"- 409 - Conflict; Service is not up."},{"line_number":158,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"929d2749_c3f7babf","line":155,"range":{"start_line":155,"start_character":0,"end_line":155,"end_character":69},"in_reply_to":"3d0f82a5_d2d1c240","updated":"2024-07-17 21:06:03.000000000","message":"Done","commit_id":"26cf9c832d22b880eb03cec4d7705bc7c0c44c9d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3ed5aca2696b6e7fdb8c75f6b5f70b6a78209710","unresolved":true,"context_lines":[{"line_number":247,"context_line":"References"},{"line_number":248,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"_`[1]`: https://bugs.launchpad.net/manila/+bug/1996793"},{"line_number":251,"context_line":"_`[2]`: https://etherpad.opendev.org/p/caracal-ptg-manila-cephfs"}],"source_content_type":"text/x-rst","patch_set":7,"id":"6c2ccf51_20d28e79","line":250,"range":{"start_line":250,"start_character":53,"end_line":250,"end_character":54},"updated":"2024-07-16 17:54:46.000000000","message":"Perhaps subsume this bug into the blueprint?","commit_id":"26cf9c832d22b880eb03cec4d7705bc7c0c44c9d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"83dc8fd2056ac9c9ab3978034f2ba06bcde487d4","unresolved":false,"context_lines":[{"line_number":247,"context_line":"References"},{"line_number":248,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"_`[1]`: https://bugs.launchpad.net/manila/+bug/1996793"},{"line_number":251,"context_line":"_`[2]`: https://etherpad.opendev.org/p/caracal-ptg-manila-cephfs"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bccc6e66_c5bca089","line":250,"range":{"start_line":250,"start_character":53,"end_line":250,"end_character":54},"in_reply_to":"6c2ccf51_20d28e79","updated":"2024-07-17 21:06:03.000000000","message":"Acknowledged","commit_id":"26cf9c832d22b880eb03cec4d7705bc7c0c44c9d"}],"specs/dalmatian/spec-lite-add-ensure-shares-api.rst":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"689a244be6f9a72e987f8392fe9e5ad472b99d5b","unresolved":true,"context_lines":[{"line_number":17,"context_line":"           goes over all of the shares within that backend and checks"},{"line_number":18,"context_line":"           and updates them in case something has changed since the last time"},{"line_number":19,"context_line":"           it was invoked."},{"line_number":20,"context_line":"           We should provide an API that allows administrators to call"},{"line_number":21,"context_line":"           the manila share\u0027s ensure shares routine, making this configuration"},{"line_number":22,"context_line":"           update smooth and with no downtime, so that export locations can"},{"line_number":23,"context_line":"           be re-calculated and shares updated with the newer config. Such"}],"source_content_type":"text/x-rst","patch_set":1,"id":"87fea1ef_613ad5a6","line":20,"range":{"start_line":20,"start_character":32,"end_line":20,"end_character":35},"updated":"2024-05-30 02:10:37.000000000","message":"I\u0027m hoping we can have an API spec for this.. just what the request/response schemas look like, and error codes possible","commit_id":"92d21e27b0bc4e43cb7dfafaa680809b559df17f"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"0b903d12f151e657365a748398f9586b8c421437","unresolved":true,"context_lines":[{"line_number":17,"context_line":"           goes over all of the shares within that backend and checks"},{"line_number":18,"context_line":"           and updates them in case something has changed since the last time"},{"line_number":19,"context_line":"           it was invoked."},{"line_number":20,"context_line":"           We should provide an API that allows administrators to call"},{"line_number":21,"context_line":"           the manila share\u0027s ensure shares routine, making this configuration"},{"line_number":22,"context_line":"           update smooth and with no downtime, so that export locations can"},{"line_number":23,"context_line":"           be re-calculated and shares updated with the newer config. Such"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a26ae10_db8c1a8a","line":20,"range":{"start_line":20,"start_character":32,"end_line":20,"end_character":35},"in_reply_to":"87fea1ef_613ad5a6","updated":"2024-06-03 06:13:13.000000000","message":"I think this api should be for service level, not a share, so this api might be：\n\n    openstack share service ensure_shares  \u003chostname\u003e\n    \nThis will then ensure all shares on the host back end corresponding to this service, binary can only be manila-share. and the service must be UP state.","commit_id":"92d21e27b0bc4e43cb7dfafaa680809b559df17f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"94fddd79cbb197ef78d3c0798ceb219a1d6f40ed","unresolved":false,"context_lines":[{"line_number":17,"context_line":"           goes over all of the shares within that backend and checks"},{"line_number":18,"context_line":"           and updates them in case something has changed since the last time"},{"line_number":19,"context_line":"           it was invoked."},{"line_number":20,"context_line":"           We should provide an API that allows administrators to call"},{"line_number":21,"context_line":"           the manila share\u0027s ensure shares routine, making this configuration"},{"line_number":22,"context_line":"           update smooth and with no downtime, so that export locations can"},{"line_number":23,"context_line":"           be re-calculated and shares updated with the newer config. Such"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c69f7179_6dbb59cd","line":20,"range":{"start_line":20,"start_character":32,"end_line":20,"end_character":35},"in_reply_to":"9a26ae10_db8c1a8a","updated":"2024-06-03 19:33:24.000000000","message":"Yep, new version converts it to a spec.\n\n\u003e This will then ensure all shares on the host back end corresponding to this service, binary can only be manila-share. and the service must be UP state.\n\nYes, I think so as well. We should target this at a specific host@backend and only allow this to be run for backends that are enabled and up. I\u0027ve clarified this in the most recent PS, please take another look","commit_id":"92d21e27b0bc4e43cb7dfafaa680809b559df17f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"689a244be6f9a72e987f8392fe9e5ad472b99d5b","unresolved":true,"context_lines":[{"line_number":25,"context_line":"           complete, as we will be updating all shares in the given backend. We"},{"line_number":26,"context_line":"           should prevent this operation to be triggered in case there is"},{"line_number":27,"context_line":"           another operation ongoing by introducing a new status to shares"},{"line_number":28,"context_line":"           called ``updating_configuration``. When such status is set, other"},{"line_number":29,"context_line":"           operations will be blocked by the API, and the ensure shares API"},{"line_number":30,"context_line":"           will reject further calls until all the shares within the given"},{"line_number":31,"context_line":"           storage backend are back to their ``available`` status. At the end"}],"source_content_type":"text/x-rst","patch_set":1,"id":"2ac0fd12_db7cdc8c","line":28,"range":{"start_line":28,"start_character":20,"end_line":28,"end_character":42},"updated":"2024-05-30 02:10:37.000000000","message":"\"ensuring\" perhaps\n\nWe flag busy states by using \"ing\" at the end traditionally..","commit_id":"92d21e27b0bc4e43cb7dfafaa680809b559df17f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"689a244be6f9a72e987f8392fe9e5ad472b99d5b","unresolved":true,"context_lines":[{"line_number":25,"context_line":"           complete, as we will be updating all shares in the given backend. We"},{"line_number":26,"context_line":"           should prevent this operation to be triggered in case there is"},{"line_number":27,"context_line":"           another operation ongoing by introducing a new status to shares"},{"line_number":28,"context_line":"           called ``updating_configuration``. When such status is set, other"},{"line_number":29,"context_line":"           operations will be blocked by the API, and the ensure shares API"},{"line_number":30,"context_line":"           will reject further calls until all the shares within the given"},{"line_number":31,"context_line":"           storage backend are back to their ``available`` status. At the end"}],"source_content_type":"text/x-rst","patch_set":1,"id":"cc57c3d0_1b304655","line":28,"updated":"2024-05-30 02:10:37.000000000","message":"Will this status change also apply when the ensure_shares routine kicks off if the service is restated?\n\nGenerally; we need to think about what happens when this API call is interrupted by a service restart; how does the service restart pick things up?","commit_id":"92d21e27b0bc4e43cb7dfafaa680809b559df17f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"94fddd79cbb197ef78d3c0798ceb219a1d6f40ed","unresolved":false,"context_lines":[{"line_number":25,"context_line":"           complete, as we will be updating all shares in the given backend. We"},{"line_number":26,"context_line":"           should prevent this operation to be triggered in case there is"},{"line_number":27,"context_line":"           another operation ongoing by introducing a new status to shares"},{"line_number":28,"context_line":"           called ``updating_configuration``. When such status is set, other"},{"line_number":29,"context_line":"           operations will be blocked by the API, and the ensure shares API"},{"line_number":30,"context_line":"           will reject further calls until all the shares within the given"},{"line_number":31,"context_line":"           storage backend are back to their ``available`` status. At the end"}],"source_content_type":"text/x-rst","patch_set":1,"id":"b9c4fa3b_1cb88904","line":28,"range":{"start_line":28,"start_character":20,"end_line":28,"end_character":42},"in_reply_to":"2ac0fd12_db7cdc8c","updated":"2024-06-03 19:33:24.000000000","message":"Done","commit_id":"92d21e27b0bc4e43cb7dfafaa680809b559df17f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"94fddd79cbb197ef78d3c0798ceb219a1d6f40ed","unresolved":false,"context_lines":[{"line_number":25,"context_line":"           complete, as we will be updating all shares in the given backend. We"},{"line_number":26,"context_line":"           should prevent this operation to be triggered in case there is"},{"line_number":27,"context_line":"           another operation ongoing by introducing a new status to shares"},{"line_number":28,"context_line":"           called ``updating_configuration``. When such status is set, other"},{"line_number":29,"context_line":"           operations will be blocked by the API, and the ensure shares API"},{"line_number":30,"context_line":"           will reject further calls until all the shares within the given"},{"line_number":31,"context_line":"           storage backend are back to their ``available`` status. At the end"}],"source_content_type":"text/x-rst","patch_set":1,"id":"882bcbeb_f498c026","line":28,"in_reply_to":"52ebca21_0e9a96e1","updated":"2024-06-03 19:33:24.000000000","message":"\u003e Will this status change also apply when the ensure_shares routine kicks off if the service is restated?\n\nYes. I believe this could be a a nice thing to implement, otherwise we would be allowing the routine to do this twice at the same time.\n\n\u003e Generally; we need to think about what happens when this API call is interrupted by a service restart; how does the service restart pick things up?\n\n\u003e I think we can repeat the ensure share action for a share because this is an action to query the storage backend and update the manila corresponding database. ensure share can be executed again even if a share is in the ensuring state. In this way, even if the process of ensuring shares encounters a service restart, it can be compatible.\n\n^ ++. IMHO the service restart should have a priority. In case the service is restarted while the operation is being run, we should get all shares back to the ensuring  status and start over.","commit_id":"92d21e27b0bc4e43cb7dfafaa680809b559df17f"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"0b903d12f151e657365a748398f9586b8c421437","unresolved":true,"context_lines":[{"line_number":25,"context_line":"           complete, as we will be updating all shares in the given backend. We"},{"line_number":26,"context_line":"           should prevent this operation to be triggered in case there is"},{"line_number":27,"context_line":"           another operation ongoing by introducing a new status to shares"},{"line_number":28,"context_line":"           called ``updating_configuration``. When such status is set, other"},{"line_number":29,"context_line":"           operations will be blocked by the API, and the ensure shares API"},{"line_number":30,"context_line":"           will reject further calls until all the shares within the given"},{"line_number":31,"context_line":"           storage backend are back to their ``available`` status. At the end"}],"source_content_type":"text/x-rst","patch_set":1,"id":"52ebca21_0e9a96e1","line":28,"in_reply_to":"cc57c3d0_1b304655","updated":"2024-06-03 06:13:13.000000000","message":"I think we can repeat the ensure share action for a share because this is an action to query the storage backend and update the manila corresponding database. ensure share can be executed again even if a share is in the ensuring state. In this way, even if the process of ensuring shares encounters a service restart, it can be compatible.","commit_id":"92d21e27b0bc4e43cb7dfafaa680809b559df17f"}]}
