)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use encryption key ref during share create"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- Extra-spec \"encryption_support\" should be set to \"share_server\"."},{"line_number":10,"context_line":"- Use encryption_key_ref from user provided share create API option"},{"line_number":11,"context_line":"- Create ACL for barbican user from current user context, so barbican"},{"line_number":12,"context_line":"user can fetch the secret from secret_ref in backend driver."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":41,"id":"1aeb6dc7_938f73fa","line":9,"range":{"start_line":9,"start_character":33,"end_line":9,"end_character":65},"updated":"2025-07-01 21:22:55.000000000","message":"how would we?","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use encryption key ref during share create"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- Extra-spec \"encryption_support\" should be set to \"share_server\"."},{"line_number":10,"context_line":"- Use encryption_key_ref from user provided share create API option"},{"line_number":11,"context_line":"- Create ACL for barbican user from current user context, so barbican"},{"line_number":12,"context_line":"user can fetch the secret from secret_ref in backend driver."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":41,"id":"69f7773f_58829b3a","line":9,"range":{"start_line":9,"start_character":33,"end_line":9,"end_character":65},"in_reply_to":"1aeb6dc7_938f73fa","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":11,"context_line":"- Create ACL for barbican user from current user context, so barbican"},{"line_number":12,"context_line":"user can fetch the secret from secret_ref in backend driver."},{"line_number":13,"context_line":"- Create server_encryption_keys project level quota which helps to"},{"line_number":14,"context_line":"control the encrypted share servers (specific to NetApp). Such share"},{"line_number":15,"context_line":"servers do not support migration/unmanage etc."},{"line_number":16,"context_line":"- Create application credentials for barbican user during share server"},{"line_number":17,"context_line":"creation and delete during share server deletion."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":41,"id":"07affef7_83dc8076","line":14,"range":{"start_line":14,"start_character":36,"end_line":14,"end_character":56},"updated":"2025-07-01 21:22:55.000000000","message":"all backends can benefit to this, so we can drop this mention here","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":11,"context_line":"- Create ACL for barbican user from current user context, so barbican"},{"line_number":12,"context_line":"user can fetch the secret from secret_ref in backend driver."},{"line_number":13,"context_line":"- Create server_encryption_keys project level quota which helps to"},{"line_number":14,"context_line":"control the encrypted share servers (specific to NetApp). Such share"},{"line_number":15,"context_line":"servers do not support migration/unmanage etc."},{"line_number":16,"context_line":"- Create application credentials for barbican user during share server"},{"line_number":17,"context_line":"creation and delete during share server deletion."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":41,"id":"cea076ca_049a1c08","line":14,"range":{"start_line":14,"start_character":36,"end_line":14,"end_character":56},"in_reply_to":"07affef7_83dc8076","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":12,"context_line":"user can fetch the secret from secret_ref in backend driver."},{"line_number":13,"context_line":"- Create server_encryption_keys project level quota which helps to"},{"line_number":14,"context_line":"control the encrypted share servers (specific to NetApp). Such share"},{"line_number":15,"context_line":"servers do not support migration/unmanage etc."},{"line_number":16,"context_line":"- Create application credentials for barbican user during share server"},{"line_number":17,"context_line":"creation and delete during share server deletion."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":41,"id":"663dc02a_4ba1924d","line":15,"range":{"start_line":15,"start_character":23,"end_line":15,"end_character":45},"updated":"2025-07-01 21:22:55.000000000","message":"can we get doc updates for all of the features this will start blocking? Also, I realized this is not being blocked anywhere in the share/api. Please add the necessary checking and prevent the mentioned operations","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":12,"context_line":"user can fetch the secret from secret_ref in backend driver."},{"line_number":13,"context_line":"- Create server_encryption_keys project level quota which helps to"},{"line_number":14,"context_line":"control the encrypted share servers (specific to NetApp). Such share"},{"line_number":15,"context_line":"servers do not support migration/unmanage etc."},{"line_number":16,"context_line":"- Create application credentials for barbican user during share server"},{"line_number":17,"context_line":"creation and delete during share server deletion."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":41,"id":"c6bc3c9a_57214936","line":15,"range":{"start_line":15,"start_character":23,"end_line":15,"end_character":45},"in_reply_to":"663dc02a_4ba1924d","updated":"2025-07-03 17:59:12.000000000","message":"Added conditions and doc.","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"6bd08f82bf14391d3e62c8e03aa8e5b14f751419","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f7d89907_b1be1a02","updated":"2024-04-16 08:58:54.000000000","message":"hi, Kiran Pawar, some comments inline.","commit_id":"7bb3fca644300dea747504667c54729bb73f7d43"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"a312d8b5a4715b27cd4e7c624842a5d871e01570","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"eeed4d13_5caee18c","updated":"2024-10-24 01:39:00.000000000","message":"hi, Kiran Pawar, please check my comments. thanks.","commit_id":"5565774826c8d239432a143a18a45d0de882510d"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"73d9e0ececd5befd5498816af0c4b739e8102fd5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"c166d6df_7ec64714","updated":"2024-11-11 05:51:01.000000000","message":"code looks good, we also need api doc update about create share with encrypion_key_id. and releasenote. thanks.","commit_id":"09f42b43055f790dc809da7e54d94a8484713939"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"e15e611811cfa8e8cdbb51c3fc26faaa354711eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"f2d8eef7_d6262396","updated":"2025-04-24 10:17:59.000000000","message":"Hi, I did not thoroughly look at the app creds stuff, just tried to follow the flow of the user input.\n\nWe do `uuidutils.is_uuid_like` at several places to distinguish if the input is a UUID or an URL-like secret_ref. Can\u0027t this be handled at a central place in the API layer?\n\nWe plan to just store the UUID anyway (column with 36 chars gives it away) and we just need to pass that UUID to the backend, because it will determine, which endpoint to use by itself (e.g. user chose public endpoint from keystone catalog, but the backend may use the internal endpoint)","commit_id":"41016e4f901d5e4854baad34bdacc7e9aaff9f03"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"6f1f097ba3b5ca1b060c60ef5e30d9ff54492777","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"d11ef4c2_1ba19b11","updated":"2025-05-21 13:58:45.000000000","message":"Hi Kiran,\n\nThe metadata that is carrying encryption-key-ref is not enough for ONTAP driver. ONTAP is strictly expecting complete href link which is called \u0027 Secret href\u0027 in OpenStack terms, could you please populate complete href as discussed. Populating this to share server\u0027s meta data is good enough and it need not to be updated for share instance\u0027s metadata. Thank you!!","commit_id":"965ae6cd5dbafee58fc1f08def31d4e97b4a6408"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"becb24b6d336efb6739748722f8fa9e574b8bdcf","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":27,"id":"d62758fe_ce7addbe","updated":"2025-05-19 15:54:47.000000000","message":"While testing few of my changes, I found that we are not yet populating encryption_key_ref to \u0027openstack share show \u003cshare\u003e\u0027 or \u0027openstack share server show \u003cshare_server\u003e\u0027. This needs to be done.\n\nPlease update both shares and share_servers views. Thank you Kiran.","commit_id":"965ae6cd5dbafee58fc1f08def31d4e97b4a6408"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"f42b56a9b8fd88ec51ba209d3f68e00a229fb051","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"f433f8df_12d0dfb4","in_reply_to":"d62758fe_ce7addbe","updated":"2025-06-09 16:22:30.000000000","message":"Done","commit_id":"965ae6cd5dbafee58fc1f08def31d4e97b4a6408"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"3e5a37d061c919d026354121f89f87cf3f3371ef","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":28,"id":"a7b71c1e_c8b5101b","updated":"2025-05-22 17:40:40.000000000","message":"I think you missed to update method name from \"_create_server_encryption_keys_quota\" to _create_is_server_encryptions_quota\".","commit_id":"568babedc9d618e530e866b0ca4f0769b2f6cc27"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"5f98be3d629bdb7dfc1d3c5fcb93ee70affdea58","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":28,"id":"9949c27d_752356bd","updated":"2025-05-23 08:13:28.000000000","message":"minor find-and-replace mistake, fixed.","commit_id":"568babedc9d618e530e866b0ca4f0769b2f6cc27"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"5f98be3d629bdb7dfc1d3c5fcb93ee70affdea58","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":28,"id":"9ff0b015_12eeace1","in_reply_to":"a7b71c1e_c8b5101b","updated":"2025-05-23 08:13:28.000000000","message":"Done","commit_id":"568babedc9d618e530e866b0ca4f0769b2f6cc27"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"89cbd4b790e271f5172a5c9c53f4339a593e70b0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"81394f3a_349c0eac","updated":"2025-06-02 07:19:30.000000000","message":"Update -\n1. Added keystone_url in server metadata.\n2. Application credentails secret is passed which is nothing but encryption_key_ref UUID. This needs to do since GET call of application credentails returns everything except secrets. So we better know what it should be.\n3. Application credentails GET call path changed to \"/**\" Since /v1/secrets, /v1/secrets/, /v1/secrets/** and other combination does not work. Need guidance from barbican expert on this.\n\nQuota Error is not handled in manila-api due to questions I raised on spec PR.","commit_id":"38658ed14ca866715200d83f955afb00c734536a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e398cd12ca9612244338b0c84adef9d55b6315d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":31,"id":"d05661fb_3a258adc","updated":"2025-06-02 13:19:53.000000000","message":"application creds PATH updated.","commit_id":"59be3ff8d4e15d952e3fdf2e952d3951102d4948"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e6a5cd7ff4a35a287266e5ec414dbe55e60fb9d0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"53c29eb5_aa38586e","updated":"2025-06-03 13:45:53.000000000","message":"Removed all NetApp changes since another dependent PR will be raised catering only driver changes.","commit_id":"7ddab147fcdc88acf897ac9c02b5e195432b4776"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"f42b56a9b8fd88ec51ba209d3f68e00a229fb051","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"f2743a32_0daae94b","updated":"2025-06-09 16:22:30.000000000","message":"Manila-api checks for encryption_key. If present already with some share server, ignore. Otherwise check for quota limit.\n\nAdded more tests for quota. Generic driver is updated as its used for devstack testing. This will be removed before merge.","commit_id":"32cb8af835bd272baf437a0360e365edf94fdddd"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"1ba1cb19d60234416ef1aac058eb82e733f1b335","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":40,"id":"7867425f_74d3dd09","updated":"2025-06-11 16:07:50.000000000","message":"recheck","commit_id":"137f3f6cb3dcbe53fbc523aef87ca67fa8f3bf16"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":41,"id":"9b2a6694_ee591bd1","updated":"2025-07-01 21:22:55.000000000","message":"Thank you for working on this change, Kiran. Please take a look at the comments inline. I\u0027ve also realized that the following are missing a bunch of unit tests:\n\n- APIs\n- SQLalchemy/api\n- Most of the newly introduced keymgr/barbican\n- Share/api\n- Share/manager\n\nCould you please work on coverage for those?","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"6d9bc2fb5509e46940df931cd106999686505187","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":41,"id":"ca92e941_31bc8453","updated":"2025-06-12 08:51:41.000000000","message":"removed generic driver support, added more tests. Removing WIP","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ebd15b9f6f0f614f8511dfb60de73919510db89f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":41,"id":"38f40594_4afb7c66","updated":"2025-07-02 09:21:07.000000000","message":"some comments 😊","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":41,"id":"aa17cc15_c7123ad5","in_reply_to":"9b2a6694_ee591bd1","updated":"2025-07-03 17:59:12.000000000","message":"APis - added\nshare/api - already there\nshare/manager - added\nkeymgr/barbican - few exists\nSQLalchemy/api- added","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"45aba99f2aae0e7ffbfbb40f08283833e5d8b5fa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":43,"id":"f401d45e_82f4bdda","updated":"2025-07-15 12:03:12.000000000","message":"Added check for dhss\u003dtrue in share type extra specs.","commit_id":"6b5cfe08548f90ec78830a738e999e7d17c91603"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"ae2226cd7f9319d4217f2dd7a410c89a3038541a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":44,"id":"30710781_a099d518","updated":"2025-07-16 11:08:34.000000000","message":"fixed unique constraint of encryption key ref.","commit_id":"ca90758b22d39a67f5ad8c539a1803d8df02da9e"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"1ab1bab063509c34fcf1916f4764846405695983","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":45,"id":"d3a1b586_2ae59e0b","updated":"2025-07-16 15:48:41.000000000","message":"instead of encryption_key_ref, share_servers.id is considered as foreign key since unique constraint is needed for PY310 tests. It works for PY39, but for PY310 need to make change as per this patchset.","commit_id":"631b9aea392e5b36aec2606f76c16748e9dd9890"},{"author":{"_account_id":35316,"name":"Keerthivasan S","email":"ksuresh@purestorage.com","username":"keerthivasan"},"change_message_id":"166fc4e347efbc78449eefc278ea8f159283b450","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":46,"id":"d2e78b73_a04a4a4e","updated":"2025-07-24 12:52:36.000000000","message":"run Pure Storage CI","commit_id":"874ec312e31cbe1f968bf0e84410526e464f0897"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"18dee810d15765d741ef4bcdc243af9ed385ac0f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":47,"id":"a5325c29_0d7f52e5","updated":"2025-07-24 16:26:30.000000000","message":"added barbican get call in dummy test as suggested by Carlos.","commit_id":"3aac4dcd5f20428f3b494c6cdfd582aee50f3f9f"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"fcf1e80c8ab2a68eb55e33f2783a64901368ad4c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":47,"id":"b53d4130_95b5a353","updated":"2025-07-25 02:05:34.000000000","message":"recheck","commit_id":"3aac4dcd5f20428f3b494c6cdfd582aee50f3f9f"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"3b78e666b08ffaab9cf76ae051c94f80203472c4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":48,"id":"9c7ea51b_2781fb70","updated":"2025-07-25 14:43:26.000000000","message":"LGTM.","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3662a3b131036b3976a14f4a2861d97eaae26897","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":48,"id":"06cc92c7_cfcdbc08","updated":"2025-07-25 11:34:53.000000000","message":"recheck","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"b17e8317143d9d239a4904a221de66580157ee30","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":48,"id":"f1dfd432_17029cc6","updated":"2025-07-25 06:33:44.000000000","message":"recheck","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":48,"id":"ddbea2bb_c5785a37","updated":"2025-08-05 04:50:31.000000000","message":"still working through this; please don\u0027t update it yet.. feel free to respond to individual comments","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"da3db4402d8384ff1c4dacaad70528b6102429eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":53,"id":"27217a76_2707e170","updated":"2025-08-07 09:15:07.000000000","message":"1. server_encryption_keys quota is changed to encryption_keys. This will include unique keys coming either from share server or share instance.\n2. Barbican ACL creation is moved to share manager where Application creds are created.\n\nTested locally.","commit_id":"f229a97e35d44384146a55734aa77b8ddba154a5"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"0931a43c6e9e87482bcd40e0b8bb6dd367a3b1c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"77dbf565_e36c48f9","updated":"2025-08-14 11:59:26.000000000","message":"Blocked share-replica create if share has encryption key. This will be enhanced in next release as follow-up patches.","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8eb61c659a9e4ae9759cbef4d212cc13baa1622f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"24f08181_70c7a7cf","updated":"2025-08-25 05:09:56.000000000","message":"I\u0027d like to ask what happens when one unmanages a share server that\u0027s got encryption references? \n\nOr, similarly, should someone be able to \"manage\" an existing share server with an encryption key reference?","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"1b3355851fd352efe0c8f1386e39e44681c85754","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"5ebc5145_2516378b","updated":"2025-08-19 06:28:52.000000000","message":"Tested latest change on replica with NetApp driver backend.\n\nstack@ostack-ubuntu-15-sai:~/manila$ openstack share replica create enc_share1\nReplica cannot be created for share \u002761cc8be4-7643-4aed-84b9-3d62f121d121\u0027 since it is encrypted. (HTTP 403) (Request-ID: req-b9456f29-0ca2-4670-9608-59b2792a45e8)\nstack@ostack-ubuntu-15-sai:~/manila$","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"bc271e0745a302b6d7af59895b69d30546020748","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"580f2195_5455b065","updated":"2025-08-21 14:24:31.000000000","message":"Took a while to revisit but LGTM. Thanks for your hard work on this change, Kiran\n@saikumar1016@gmail.com thanks for testing it.","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"413596e0c61a1b274f0a1b8fdd5f190c1d27894d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"d63daacd_936d8777","updated":"2025-08-25 05:10:11.000000000","message":"Vote","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"5f6518f1_9a0974a1","updated":"2025-08-25 05:07:35.000000000","message":"Went through this again with some more perspective, and i see several issues. The API seems flushed out now, but the quota enforcement is wonky. I would like some easy-to-do fixes committed in this patch please, and if you would like to take some time to discuss or land the other fixes, please let me know. Thanks!","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"0d167e0e_604fb03d","in_reply_to":"24f08181_70c7a7cf","updated":"2025-08-25 12:44:23.000000000","message":"We can always create unencrypted share on share server with an encryption key reference. So manage is ok. I have blocked unmanage call in API if it contain encryption key ref.","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"45698ee1e913ae127b619c7abd0a92f930433893","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"35c7b9c3_d221607b","in_reply_to":"5ebc5145_2516378b","updated":"2025-08-19 06:30:06.000000000","message":"Also I have manually tested below workflows with encrypted/non-encrypted shares as discussed in collab meeting to ensure there are no regressions.\n\nEncrypted share:\nShare create (share server created)\nUnmanage share\nManage share\nDelete share\nUnmanage share-server\nManage share-server\nShare create\nSnapshot create\nCreate share from snapshot\nSnapshot delete\nDelete share server\n\nUnencrypted share:\nShare create (Share server created)\nUnmanage share\nManage share\nDelete share\nUnmanage the share server\nManage the share server\nShare create\nSnapshot create\nCreate share from snapshot\nSnapshot delete\nCreate replica\nDelete replica\nDelete share servernage","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"52848aa606137463339c6642a9baf64fb443b310","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":55,"id":"e7f1d158_7b1deb90","updated":"2025-08-25 18:20:08.000000000","message":"Still looking at the Quota enforcement.. -1 because we can\u0027t drop the Apache v2 license - its a legal issue","commit_id":"0d1fa09cd7399ad2b8238903ed162ca813250d6c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"c253d3ce61ace04e4a2e60ff938c6cd241a4f574","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":57,"id":"99244510_da25e6ed","updated":"2025-08-26 09:50:31.000000000","message":"removed earlier suggestion of keystone since tests are failing with conf option.","commit_id":"57d8e9c3c59298dd5a87c10d2bc9a1b3bd002731"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7bdf88a169004d91023ef16eee62633713c8ce9d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":58,"id":"d44fb013_7083ae91","updated":"2025-08-27 00:15:24.000000000","message":"Actually, sorry - DB migrations can\u0027t be edited in patches.. please address that in the same patch","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"040816e279ae321dbba019a966b34fb6be4b8f4b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":58,"id":"aad13e53_da49fa66","updated":"2025-08-26 13:13:25.000000000","message":"Fixed share list with encryption key ref","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4988dbdf386b3e3d774a796e0dcd8ec01d816214","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":58,"id":"34b63c8c_b2dd6c47","updated":"2025-08-27 00:10:32.000000000","message":"Lets get this going - the issues i\u0027ve identified aren\u0027t blockers, just things for discussion and improvement. We can get the improvements made in a separate patch. Allowing this change to merge will help us resolve merge conflicts on other changes waiting to be merged before feature freeze","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e9123ef4f2440a72155907c1f248674033446164","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":59,"id":"d0ea1559_59b4eed9","updated":"2025-08-27 15:40:53.000000000","message":"Hope this is final.","commit_id":"5d93570fe858f565835eb5caa439df9072665b25"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"532741e74a0e7cc96bf16f7f971a8650795e9e1c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":59,"id":"41ae9093_d26bfbd5","updated":"2025-08-27 15:18:34.000000000","message":"Some more changes necessary, but, lets make it in a follow up if necessary","commit_id":"5d93570fe858f565835eb5caa439df9072665b25"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc1e367de5808adb642ee52374c30ba062bba37a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":59,"id":"8651b8cc_416839ec","updated":"2025-08-27 07:37:31.000000000","message":"recheck","commit_id":"5d93570fe858f565835eb5caa439df9072665b25"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e9123ef4f2440a72155907c1f248674033446164","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":59,"id":"51af909a_80c886f2","in_reply_to":"41ae9093_d26bfbd5","updated":"2025-08-27 15:40:53.000000000","message":"Acknowledged","commit_id":"5d93570fe858f565835eb5caa439df9072665b25"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"27743c49c9944c05d92ab250ec57eca40d0beab6","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":59,"id":"c298aedd_d8c680ac","in_reply_to":"d0ea1559_59b4eed9","updated":"2025-08-27 19:34:59.000000000","message":":D it does take a special something to work through major changes like this collaboratively. thank you for keeping up with the reviews and posting patches quickly..","commit_id":"5d93570fe858f565835eb5caa439df9072665b25"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"27743c49c9944c05d92ab250ec57eca40d0beab6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":60,"id":"5d33a671_b3eda229","updated":"2025-08-27 19:34:59.000000000","message":"let’s get this in and fix merge conflicts that will ensue. thanks Kiran!","commit_id":"82a94bbcec496b0c99ebf2aae3a4cfb55b644617"}],"api-ref/source/parameters.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":1371,"context_line":"  type: object"},{"line_number":1372,"context_line":"encryption_key_ref:"},{"line_number":1373,"context_line":"  description: |"},{"line_number":1374,"context_line":"    The encryption key ref is valid barbican secret href that will be used to"},{"line_number":1375,"context_line":"    get encryption key by the storage drivers."},{"line_number":1376,"context_line":"  in: body"},{"line_number":1377,"context_line":"  required: false"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"20b9ed5c_825e6428","line":1374,"range":{"start_line":1374,"start_character":52,"end_line":1374,"end_character":56},"updated":"2025-08-05 04:50:31.000000000","message":"UUID","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":1371,"context_line":"  type: object"},{"line_number":1372,"context_line":"encryption_key_ref:"},{"line_number":1373,"context_line":"  description: |"},{"line_number":1374,"context_line":"    The encryption key ref is valid barbican secret href that will be used to"},{"line_number":1375,"context_line":"    get encryption key by the storage drivers."},{"line_number":1376,"context_line":"  in: body"},{"line_number":1377,"context_line":"  required: false"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"045a744c_2a362914","line":1374,"range":{"start_line":1374,"start_character":52,"end_line":1374,"end_character":56},"in_reply_to":"20b9ed5c_825e6428","updated":"2025-08-06 10:19:45.000000000","message":"Done","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4988dbdf386b3e3d774a796e0dcd8ec01d816214","unresolved":true,"context_lines":[{"line_number":350,"context_line":"    share instances."},{"line_number":351,"context_line":"  in: query"},{"line_number":352,"context_line":"  required: false"},{"line_number":353,"context_line":"  type: object"},{"line_number":354,"context_line":"  min_version: 2.90"},{"line_number":355,"context_line":"export_location_id_query:"},{"line_number":356,"context_line":"  description: |"}],"source_content_type":"text/x-yaml","patch_set":58,"id":"546b3399_66b327f9","line":353,"range":{"start_line":353,"start_character":8,"end_line":353,"end_character":14},"updated":"2025-08-27 00:10:32.000000000","message":"string","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc1e367de5808adb642ee52374c30ba062bba37a","unresolved":false,"context_lines":[{"line_number":350,"context_line":"    share instances."},{"line_number":351,"context_line":"  in: query"},{"line_number":352,"context_line":"  required: false"},{"line_number":353,"context_line":"  type: object"},{"line_number":354,"context_line":"  min_version: 2.90"},{"line_number":355,"context_line":"export_location_id_query:"},{"line_number":356,"context_line":"  description: |"}],"source_content_type":"text/x-yaml","patch_set":58,"id":"09c22c74_6b778369","line":353,"range":{"start_line":353,"start_character":8,"end_line":353,"end_character":14},"in_reply_to":"546b3399_66b327f9","updated":"2025-08-27 07:37:31.000000000","message":"Done","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"}],"api-ref/source/quota-classes.inc":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"52848aa606137463339c6642a9baf64fb443b310","unresolved":true,"context_lines":[{"line_number":63,"context_line":"   - per_share_gigabytes: perShareGigabytes"},{"line_number":64,"context_line":"   - backups: maxTotalShareBackups"},{"line_number":65,"context_line":"   - backup_gigabytes: maxTotalBackupGigabytes"},{"line_number":66,"context_line":"   - encryption_keys: encryptionKeys"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Response Example"},{"line_number":69,"context_line":"----------------"}],"source_content_type":"text/x-c++src","patch_set":55,"id":"49f053d5_67781c48","line":66,"range":{"start_line":66,"start_character":22,"end_line":66,"end_character":36},"updated":"2025-08-25 18:20:08.000000000","message":"nit: maybe call it maxTotalEncryptionKeys for consistency","commit_id":"0d1fa09cd7399ad2b8238903ed162ca813250d6c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"5b2710021be4931e5334b74d49ee1a37b777f1d2","unresolved":false,"context_lines":[{"line_number":63,"context_line":"   - per_share_gigabytes: perShareGigabytes"},{"line_number":64,"context_line":"   - backups: maxTotalShareBackups"},{"line_number":65,"context_line":"   - backup_gigabytes: maxTotalBackupGigabytes"},{"line_number":66,"context_line":"   - encryption_keys: encryptionKeys"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Response Example"},{"line_number":69,"context_line":"----------------"}],"source_content_type":"text/x-c++src","patch_set":55,"id":"01d16ebd_361a4d13","line":66,"range":{"start_line":66,"start_character":22,"end_line":66,"end_character":36},"in_reply_to":"49f053d5_67781c48","updated":"2025-08-26 06:21:54.000000000","message":"Done","commit_id":"0d1fa09cd7399ad2b8238903ed162ca813250d6c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"52848aa606137463339c6642a9baf64fb443b310","unresolved":true,"context_lines":[{"line_number":110,"context_line":"   - per-share-gigabytes: perShareGigabytesOptional"},{"line_number":111,"context_line":"   - backups: maxTotalShareBackupsOptional"},{"line_number":112,"context_line":"   - backup-gigabytes: maxTotalBackupGigabytesOptional"},{"line_number":113,"context_line":"   - encryption_keys: encryptionKeysOptional"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Request Example"},{"line_number":116,"context_line":"---------------"}],"source_content_type":"text/x-c++src","patch_set":55,"id":"dc07eaa6_28f78e09","line":113,"range":{"start_line":113,"start_character":22,"end_line":113,"end_character":44},"updated":"2025-08-25 18:20:08.000000000","message":"maxTotalEncryptionKeysOptional","commit_id":"0d1fa09cd7399ad2b8238903ed162ca813250d6c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"5b2710021be4931e5334b74d49ee1a37b777f1d2","unresolved":false,"context_lines":[{"line_number":110,"context_line":"   - per-share-gigabytes: perShareGigabytesOptional"},{"line_number":111,"context_line":"   - backups: maxTotalShareBackupsOptional"},{"line_number":112,"context_line":"   - backup-gigabytes: maxTotalBackupGigabytesOptional"},{"line_number":113,"context_line":"   - encryption_keys: encryptionKeysOptional"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Request Example"},{"line_number":116,"context_line":"---------------"}],"source_content_type":"text/x-c++src","patch_set":55,"id":"cb89d737_5f1c1a9a","line":113,"range":{"start_line":113,"start_character":22,"end_line":113,"end_character":44},"in_reply_to":"dc07eaa6_28f78e09","updated":"2025-08-26 06:21:54.000000000","message":"Done","commit_id":"0d1fa09cd7399ad2b8238903ed162ca813250d6c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"52848aa606137463339c6642a9baf64fb443b310","unresolved":true,"context_lines":[{"line_number":137,"context_line":"   - per_share_gigabytes: perShareGigabytes"},{"line_number":138,"context_line":"   - backups: maxTotalShareBackups"},{"line_number":139,"context_line":"   - backup_gigabytes: maxTotalBackupGigabytes"},{"line_number":140,"context_line":"   - encryption_keys: encryptionKeys"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Response Example"},{"line_number":143,"context_line":"----------------"}],"source_content_type":"text/x-c++src","patch_set":55,"id":"ff6ce1e7_1b043099","line":140,"range":{"start_line":140,"start_character":22,"end_line":140,"end_character":36},"updated":"2025-08-25 18:20:08.000000000","message":"maxTotalEncryptionKeys","commit_id":"0d1fa09cd7399ad2b8238903ed162ca813250d6c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"5b2710021be4931e5334b74d49ee1a37b777f1d2","unresolved":false,"context_lines":[{"line_number":137,"context_line":"   - per_share_gigabytes: perShareGigabytes"},{"line_number":138,"context_line":"   - backups: maxTotalShareBackups"},{"line_number":139,"context_line":"   - backup_gigabytes: maxTotalBackupGigabytes"},{"line_number":140,"context_line":"   - encryption_keys: encryptionKeys"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Response Example"},{"line_number":143,"context_line":"----------------"}],"source_content_type":"text/x-c++src","patch_set":55,"id":"c923d9bf_da2c886b","line":140,"range":{"start_line":140,"start_character":22,"end_line":140,"end_character":36},"in_reply_to":"ff6ce1e7_1b043099","updated":"2025-08-26 06:21:54.000000000","message":"Done","commit_id":"0d1fa09cd7399ad2b8238903ed162ca813250d6c"}],"api-ref/source/samples/share-create-request.json":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":17,"context_line":"            \"same_host\": \"d9c66489-cf02-4156-b0f2-527f3211b243,4ffee55f-ba98-42d2-a8ce-e7cecb169182\","},{"line_number":18,"context_line":"            \"different_host\": \"903685eb-f242-4105-903d-4bef2db94be4\""},{"line_number":19,"context_line":"        },"},{"line_number":20,"context_line":"        \"encryption_key_ref\": \"http://10.180.1.215/key-manager/v1/secrets/86babe9b-7277-4c3a-a081-6eb3eac9231d\""},{"line_number":21,"context_line":"    }"},{"line_number":22,"context_line":"}"}],"source_content_type":"application/json","patch_set":41,"id":"30e6dc6f_ee997d3b","line":20,"range":{"start_line":20,"start_character":30,"end_line":20,"end_character":111},"updated":"2025-07-01 21:22:55.000000000","message":"how easy would it be to get the key ref? wouldn\u0027t the ID be enough?","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ebd15b9f6f0f614f8511dfb60de73919510db89f","unresolved":true,"context_lines":[{"line_number":17,"context_line":"            \"same_host\": \"d9c66489-cf02-4156-b0f2-527f3211b243,4ffee55f-ba98-42d2-a8ce-e7cecb169182\","},{"line_number":18,"context_line":"            \"different_host\": \"903685eb-f242-4105-903d-4bef2db94be4\""},{"line_number":19,"context_line":"        },"},{"line_number":20,"context_line":"        \"encryption_key_ref\": \"http://10.180.1.215/key-manager/v1/secrets/86babe9b-7277-4c3a-a081-6eb3eac9231d\""},{"line_number":21,"context_line":"    }"},{"line_number":22,"context_line":"}"}],"source_content_type":"application/json","patch_set":41,"id":"7dda5fb8_48c78465","line":20,"range":{"start_line":20,"start_character":30,"end_line":20,"end_character":111},"in_reply_to":"30e6dc6f_ee997d3b","updated":"2025-07-02 09:21:07.000000000","message":"+1\nI think we can treat the endpoint address of the Barbican as a configuration item. Here, the encryption_key_ref only needs to retain the key UUID.","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":true,"context_lines":[{"line_number":17,"context_line":"            \"same_host\": \"d9c66489-cf02-4156-b0f2-527f3211b243,4ffee55f-ba98-42d2-a8ce-e7cecb169182\","},{"line_number":18,"context_line":"            \"different_host\": \"903685eb-f242-4105-903d-4bef2db94be4\""},{"line_number":19,"context_line":"        },"},{"line_number":20,"context_line":"        \"encryption_key_ref\": \"http://10.180.1.215/key-manager/v1/secrets/86babe9b-7277-4c3a-a081-6eb3eac9231d\""},{"line_number":21,"context_line":"    }"},{"line_number":22,"context_line":"}"}],"source_content_type":"application/json","patch_set":41,"id":"39ed02a3_d4e629e8","line":20,"range":{"start_line":20,"start_character":30,"end_line":20,"end_character":111},"in_reply_to":"30e6dc6f_ee997d3b","updated":"2025-07-03 17:59:12.000000000","message":"we have discussed this on spec, it can be full href or UUID. In either case only UUID will be store in Manila db. On the hand hand while handling over encryption_key_ref to backend driver, whole href will be genearated again.\n\nI am fine with keeping this UUID only and having barbican endpoint address as a configuration item. Should it come under barbican section or default section in this case ?","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"e62a4b1f8c191fa2343162f70ff032e32a717e4d","unresolved":true,"context_lines":[{"line_number":17,"context_line":"            \"same_host\": \"d9c66489-cf02-4156-b0f2-527f3211b243,4ffee55f-ba98-42d2-a8ce-e7cecb169182\","},{"line_number":18,"context_line":"            \"different_host\": \"903685eb-f242-4105-903d-4bef2db94be4\""},{"line_number":19,"context_line":"        },"},{"line_number":20,"context_line":"        \"encryption_key_ref\": \"http://10.180.1.215/key-manager/v1/secrets/86babe9b-7277-4c3a-a081-6eb3eac9231d\""},{"line_number":21,"context_line":"    }"},{"line_number":22,"context_line":"}"}],"source_content_type":"application/json","patch_set":41,"id":"82ff6683_9e9084de","line":20,"range":{"start_line":20,"start_character":30,"end_line":20,"end_character":111},"in_reply_to":"39ed02a3_d4e629e8","updated":"2025-07-08 08:40:03.000000000","message":"i think it would be better under barbican section.","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":17,"context_line":"            \"same_host\": \"d9c66489-cf02-4156-b0f2-527f3211b243,4ffee55f-ba98-42d2-a8ce-e7cecb169182\","},{"line_number":18,"context_line":"            \"different_host\": \"903685eb-f242-4105-903d-4bef2db94be4\""},{"line_number":19,"context_line":"        },"},{"line_number":20,"context_line":"        \"encryption_key_ref\": \"http://10.180.1.215/key-manager/v1/secrets/86babe9b-7277-4c3a-a081-6eb3eac9231d\""},{"line_number":21,"context_line":"    }"},{"line_number":22,"context_line":"}"}],"source_content_type":"application/json","patch_set":41,"id":"108e5121_87bb507d","line":20,"range":{"start_line":20,"start_character":30,"end_line":20,"end_character":111},"in_reply_to":"719d3d37_11e72806","updated":"2025-08-06 10:19:45.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":17,"context_line":"            \"same_host\": \"d9c66489-cf02-4156-b0f2-527f3211b243,4ffee55f-ba98-42d2-a8ce-e7cecb169182\","},{"line_number":18,"context_line":"            \"different_host\": \"903685eb-f242-4105-903d-4bef2db94be4\""},{"line_number":19,"context_line":"        },"},{"line_number":20,"context_line":"        \"encryption_key_ref\": \"http://10.180.1.215/key-manager/v1/secrets/86babe9b-7277-4c3a-a081-6eb3eac9231d\""},{"line_number":21,"context_line":"    }"},{"line_number":22,"context_line":"}"}],"source_content_type":"application/json","patch_set":41,"id":"719d3d37_11e72806","line":20,"range":{"start_line":20,"start_character":30,"end_line":20,"end_character":111},"in_reply_to":"82ff6683_9e9084de","updated":"2025-08-05 04:50:31.000000000","message":"The conclusion in the specification was that it would be a UUID always, not a href. We shouldn\u0027t require the user to tell us where the Barbican endpoint is..\n\n\nhttps://specs.openstack.org/openstack/manila-specs/specs/flamingo/share_encryption.html\n\n\nI understand the argument that when a user executes:\n\n\"openstack secret list\"\n\nthey see a complete HREF instead of just the UUID. That\u0027s a design decision for Barbican unfortunately. I don\u0027t think Manila should accept anything but a UUID - if necessary, we can make the optimization available in the client.","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"}],"api-ref/source/shares.inc":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":337,"context_line":"   - export_locations: export_locations"},{"line_number":338,"context_line":"   - is_soft_deleted: is_soft_deleted_response"},{"line_number":339,"context_line":"   - scheduled_to_be_deleted_at: scheduled_to_be_deleted_at_response"},{"line_number":340,"context_line":"   - encryption_key_ref: encryption_key_ref"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"Response example"},{"line_number":343,"context_line":"----------------"}],"source_content_type":"text/x-c++src","patch_set":48,"id":"8d1b40e6_001b11d1","line":340,"range":{"start_line":340,"start_character":25,"end_line":340,"end_character":43},"updated":"2025-08-05 04:50:31.000000000","message":"encryption_key_ref will always be present in the API response from 2.90... so please create two separate entries in parameters.yaml - one that\u0027s mandatory (\"required: true\") and one that\u0027s optional (\"required: false\"). \n\nTypically, on parameters that are optional on request and always present on the response, we use a suffix to differentiate them in parameters.yaml\n\n```\nencryption_key_ref_request\nencryption_key_ref_response\n```","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":337,"context_line":"   - export_locations: export_locations"},{"line_number":338,"context_line":"   - is_soft_deleted: is_soft_deleted_response"},{"line_number":339,"context_line":"   - scheduled_to_be_deleted_at: scheduled_to_be_deleted_at_response"},{"line_number":340,"context_line":"   - encryption_key_ref: encryption_key_ref"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"Response example"},{"line_number":343,"context_line":"----------------"}],"source_content_type":"text/x-c++src","patch_set":48,"id":"0e3b8aa2_5f493d2a","line":340,"range":{"start_line":340,"start_character":25,"end_line":340,"end_character":43},"in_reply_to":"8d1b40e6_001b11d1","updated":"2025-08-06 10:19:45.000000000","message":"Done","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":144,"context_line":"   - offset: offset"},{"line_number":145,"context_line":"   - sort_key: sort_key"},{"line_number":146,"context_line":"   - sort_dir: sort_dir"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"Response parameters"},{"line_number":149,"context_line":"-------------------"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":54,"id":"936289da_d53705e3","line":147,"updated":"2025-08-25 05:07:35.000000000","message":"can you filter by encryption_key_ref?","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"5b2710021be4931e5334b74d49ee1a37b777f1d2","unresolved":false,"context_lines":[{"line_number":144,"context_line":"   - offset: offset"},{"line_number":145,"context_line":"   - sort_key: sort_key"},{"line_number":146,"context_line":"   - sort_dir: sort_dir"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"Response parameters"},{"line_number":149,"context_line":"-------------------"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":54,"id":"be90d879_67ae8f4e","line":147,"in_reply_to":"8af0de99_64690b3c","updated":"2025-08-26 06:21:54.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":144,"context_line":"   - offset: offset"},{"line_number":145,"context_line":"   - sort_key: sort_key"},{"line_number":146,"context_line":"   - sort_dir: sort_dir"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"Response parameters"},{"line_number":149,"context_line":"-------------------"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":54,"id":"b4668058_1f9b562e","line":147,"in_reply_to":"936289da_d53705e3","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"52848aa606137463339c6642a9baf64fb443b310","unresolved":true,"context_lines":[{"line_number":144,"context_line":"   - offset: offset"},{"line_number":145,"context_line":"   - sort_key: sort_key"},{"line_number":146,"context_line":"   - sort_dir: sort_dir"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"Response parameters"},{"line_number":149,"context_line":"-------------------"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":54,"id":"8af0de99_64690b3c","line":147,"in_reply_to":"b4668058_1f9b562e","updated":"2025-08-25 18:20:08.000000000","message":"\"encryption_key_ref_request\" is a body parameter, you\u0027ll need to create \"encryption_key_ref_query\" as a query parameter","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":214,"context_line":"   - offset: offset"},{"line_number":215,"context_line":"   - sort_key: sort_key"},{"line_number":216,"context_line":"   - sort_dir: sort_dir"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"Response parameters"},{"line_number":219,"context_line":"-------------------"},{"line_number":220,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":54,"id":"7f81cd9d_7fd092c5","line":217,"updated":"2025-08-25 05:07:35.000000000","message":"same","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"52848aa606137463339c6642a9baf64fb443b310","unresolved":true,"context_lines":[{"line_number":214,"context_line":"   - offset: offset"},{"line_number":215,"context_line":"   - sort_key: sort_key"},{"line_number":216,"context_line":"   - sort_dir: sort_dir"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"Response parameters"},{"line_number":219,"context_line":"-------------------"},{"line_number":220,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":54,"id":"45d737dc_d3a64837","line":217,"in_reply_to":"27d55806_ee2652ca","updated":"2025-08-25 18:20:08.000000000","message":"same","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"5b2710021be4931e5334b74d49ee1a37b777f1d2","unresolved":false,"context_lines":[{"line_number":214,"context_line":"   - offset: offset"},{"line_number":215,"context_line":"   - sort_key: sort_key"},{"line_number":216,"context_line":"   - sort_dir: sort_dir"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"Response parameters"},{"line_number":219,"context_line":"-------------------"},{"line_number":220,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":54,"id":"8f75fbac_5626c30d","line":217,"in_reply_to":"45d737dc_d3a64837","updated":"2025-08-26 06:21:54.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":214,"context_line":"   - offset: offset"},{"line_number":215,"context_line":"   - sort_key: sort_key"},{"line_number":216,"context_line":"   - sort_dir: sort_dir"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"Response parameters"},{"line_number":219,"context_line":"-------------------"},{"line_number":220,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":54,"id":"27d55806_ee2652ca","line":217,"in_reply_to":"7f81cd9d_7fd092c5","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":257,"context_line":"   - export_locations: export_locations"},{"line_number":258,"context_line":"   - is_soft_deleted: is_soft_deleted_response"},{"line_number":259,"context_line":"   - scheduled_to_be_deleted_at: scheduled_to_be_deleted_at_response"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"Response example"},{"line_number":263,"context_line":"----------------"}],"source_content_type":"text/x-c++src","patch_set":54,"id":"93e4b561_7cc871f2","line":260,"updated":"2025-08-25 05:07:35.000000000","message":"`encryption_key_ref_response` must be added here","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":257,"context_line":"   - export_locations: export_locations"},{"line_number":258,"context_line":"   - is_soft_deleted: is_soft_deleted_response"},{"line_number":259,"context_line":"   - scheduled_to_be_deleted_at: scheduled_to_be_deleted_at_response"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"Response example"},{"line_number":263,"context_line":"----------------"}],"source_content_type":"text/x-c++src","patch_set":54,"id":"20ccb3bc_a34c4457","line":260,"in_reply_to":"93e4b561_7cc871f2","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":406,"context_line":"   - access_rules_status: access_rules_status"},{"line_number":407,"context_line":"   - share_type_id: share_type_id"},{"line_number":408,"context_line":"   - id: id_13"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"Response example"},{"line_number":411,"context_line":"----------------"},{"line_number":412,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":54,"id":"5e4c86b1_29f75628","line":409,"updated":"2025-08-25 05:07:35.000000000","message":"any reason to leave the encryption_key_ref_response from this?","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":406,"context_line":"   - access_rules_status: access_rules_status"},{"line_number":407,"context_line":"   - share_type_id: share_type_id"},{"line_number":408,"context_line":"   - id: id_13"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"Response example"},{"line_number":411,"context_line":"----------------"},{"line_number":412,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":54,"id":"e36292db_1235b51f","line":409,"in_reply_to":"5e4c86b1_29f75628","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":613,"context_line":"   - export_locations: export_locations"},{"line_number":614,"context_line":"   - is_soft_deleted: is_soft_deleted_response"},{"line_number":615,"context_line":"   - scheduled_to_be_deleted_at: scheduled_to_be_deleted_at_response"},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"Response example"},{"line_number":618,"context_line":"----------------"},{"line_number":619,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":54,"id":"3246ab4e_9a8ca281","line":616,"updated":"2025-08-25 05:07:35.000000000","message":"`encryption_key_ref_response` must be added here too","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":613,"context_line":"   - export_locations: export_locations"},{"line_number":614,"context_line":"   - is_soft_deleted: is_soft_deleted_response"},{"line_number":615,"context_line":"   - scheduled_to_be_deleted_at: scheduled_to_be_deleted_at_response"},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"Response example"},{"line_number":618,"context_line":"----------------"},{"line_number":619,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":54,"id":"b0aeeb6e_404c4f0b","line":616,"in_reply_to":"3246ab4e_9a8ca281","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"}],"doc/source/user/create-and-manage-shares.rst":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":63,"context_line":"+------------------------------------+-------------------------+---------------------------------------------------------+"},{"line_number":64,"context_line":"| mount_point_name_support           | true or false           | share can or cannot have customized export location     |"},{"line_number":65,"context_line":"+------------------------------------+-------------------------+---------------------------------------------------------+"},{"line_number":66,"context_line":"| encryption_support                 | share                   | share are encrypted with share encryption key           |"},{"line_number":67,"context_line":"|                                    +-------------------------+---------------------------------------------------------+"},{"line_number":68,"context_line":"|                                    | share_server            | share are encrypted with share server encryption key    |"},{"line_number":69,"context_line":"+------------------------------------+-------------------------+---------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":48,"id":"7bff307e_8e7d4bc5","line":66,"range":{"start_line":66,"start_character":71,"end_line":66,"end_character":74},"updated":"2025-08-05 04:50:31.000000000","message":"is","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":63,"context_line":"+------------------------------------+-------------------------+---------------------------------------------------------+"},{"line_number":64,"context_line":"| mount_point_name_support           | true or false           | share can or cannot have customized export location     |"},{"line_number":65,"context_line":"+------------------------------------+-------------------------+---------------------------------------------------------+"},{"line_number":66,"context_line":"| encryption_support                 | share                   | share are encrypted with share encryption key           |"},{"line_number":67,"context_line":"|                                    +-------------------------+---------------------------------------------------------+"},{"line_number":68,"context_line":"|                                    | share_server            | share are encrypted with share server encryption key    |"},{"line_number":69,"context_line":"+------------------------------------+-------------------------+---------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":48,"id":"9385c872_5d9bdbcc","line":66,"range":{"start_line":66,"start_character":71,"end_line":66,"end_character":74},"in_reply_to":"7bff307e_8e7d4bc5","updated":"2025-08-06 10:19:45.000000000","message":"Done","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":65,"context_line":"+------------------------------------+-------------------------+---------------------------------------------------------+"},{"line_number":66,"context_line":"| encryption_support                 | share                   | share are encrypted with share encryption key           |"},{"line_number":67,"context_line":"|                                    +-------------------------+---------------------------------------------------------+"},{"line_number":68,"context_line":"|                                    | share_server            | share are encrypted with share server encryption key    |"},{"line_number":69,"context_line":"+------------------------------------+-------------------------+---------------------------------------------------------+"},{"line_number":70,"context_line":"| provisioning:mount_point_prefix    | string                  | prefix used for custom export location                  |"},{"line_number":71,"context_line":"+------------------------------------+-------------------------+---------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":48,"id":"0ac9b8ea_610eac90","line":68,"range":{"start_line":68,"start_character":71,"end_line":68,"end_character":74},"updated":"2025-08-05 04:50:31.000000000","message":"is","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":65,"context_line":"+------------------------------------+-------------------------+---------------------------------------------------------+"},{"line_number":66,"context_line":"| encryption_support                 | share                   | share are encrypted with share encryption key           |"},{"line_number":67,"context_line":"|                                    +-------------------------+---------------------------------------------------------+"},{"line_number":68,"context_line":"|                                    | share_server            | share are encrypted with share server encryption key    |"},{"line_number":69,"context_line":"+------------------------------------+-------------------------+---------------------------------------------------------+"},{"line_number":70,"context_line":"| provisioning:mount_point_prefix    | string                  | prefix used for custom export location                  |"},{"line_number":71,"context_line":"+------------------------------------+-------------------------+---------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":48,"id":"88fc909f_c6d2c7bb","line":68,"range":{"start_line":68,"start_character":71,"end_line":68,"end_character":74},"in_reply_to":"0ac9b8ea_610eac90","updated":"2025-08-06 10:19:45.000000000","message":"Done","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":511,"context_line":""},{"line_number":512,"context_line":"* Create a share using encryption key reference."},{"line_number":513,"context_line":""},{"line_number":514,"context_line":"  User can create share using their own encryption key. The key must be stored in key-manager (Openstack Barbican) service."},{"line_number":515,"context_line":"  First create share type and specify extra-spec ``encryption_support``. It can have value ``share`` or ``share_server``"},{"line_number":516,"context_line":"  based on support by backend storage driver. Then use `--encryption-key-ref` option in share create command. Users can use"},{"line_number":517,"context_line":"  encryption key reference or UUID of key reference here."}],"source_content_type":"text/x-rst","patch_set":48,"id":"51084e86_e024872f","line":514,"range":{"start_line":514,"start_character":65,"end_line":514,"end_character":86},"updated":"2025-08-05 04:50:31.000000000","message":"wrap this at 79 characters","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":511,"context_line":""},{"line_number":512,"context_line":"* Create a share using encryption key reference."},{"line_number":513,"context_line":""},{"line_number":514,"context_line":"  User can create share using their own encryption key. The key must be stored in key-manager (Openstack Barbican) service."},{"line_number":515,"context_line":"  First create share type and specify extra-spec ``encryption_support``. It can have value ``share`` or ``share_server``"},{"line_number":516,"context_line":"  based on support by backend storage driver. Then use `--encryption-key-ref` option in share create command. Users can use"},{"line_number":517,"context_line":"  encryption key reference or UUID of key reference here."}],"source_content_type":"text/x-rst","patch_set":48,"id":"54109d8f_8ad32404","line":514,"range":{"start_line":514,"start_character":65,"end_line":514,"end_character":86},"in_reply_to":"51084e86_e024872f","updated":"2025-08-06 10:19:45.000000000","message":"Done","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":520,"context_line":""},{"line_number":521,"context_line":"  .. code-block:: console"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"     $ manila create NFS 1 \\"},{"line_number":524,"context_line":"         --name myshare3 \\"},{"line_number":525,"context_line":"         --description \"My Manila share - Encrypted\" \\"},{"line_number":526,"context_line":"         --share-network mysharenetwork \\"}],"source_content_type":"text/x-rst","patch_set":54,"id":"e004deee_3b9a3a72","line":523,"range":{"start_line":523,"start_character":7,"end_line":523,"end_character":20},"updated":"2025-08-25 05:07:35.000000000","message":"You haven\u0027t implemented support in the manilaclient, just OSC; so this needs to be `openstack share create`","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":520,"context_line":""},{"line_number":521,"context_line":"  .. code-block:: console"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"     $ manila create NFS 1 \\"},{"line_number":524,"context_line":"         --name myshare3 \\"},{"line_number":525,"context_line":"         --description \"My Manila share - Encrypted\" \\"},{"line_number":526,"context_line":"         --share-network mysharenetwork \\"}],"source_content_type":"text/x-rst","patch_set":54,"id":"84eb73a1_28c16fab","line":523,"range":{"start_line":523,"start_character":7,"end_line":523,"end_character":20},"in_reply_to":"e004deee_3b9a3a72","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"}],"manila/api/openstack/api_version_request.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":208,"context_line":"    * 2.88 - Added support for update Share access rule."},{"line_number":209,"context_line":"    * 2.89 - Added support for passing Share network subnet metadata updates"},{"line_number":210,"context_line":"             to driver."},{"line_number":211,"context_line":"    * 2.90 - Added encryption key reference option to share create API"},{"line_number":212,"context_line":"\"\"\""},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":41,"id":"467a9b11_d0a11c0f","line":211,"range":{"start_line":211,"start_character":69,"end_line":211,"end_character":70},"updated":"2025-07-01 21:22:55.000000000","message":"nit: please add a period at the end","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":208,"context_line":"    * 2.88 - Added support for update Share access rule."},{"line_number":209,"context_line":"    * 2.89 - Added support for passing Share network subnet metadata updates"},{"line_number":210,"context_line":"             to driver."},{"line_number":211,"context_line":"    * 2.90 - Added encryption key reference option to share create API"},{"line_number":212,"context_line":"\"\"\""},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":41,"id":"9607d2ee_be513087","line":211,"range":{"start_line":211,"start_character":69,"end_line":211,"end_character":70},"in_reply_to":"467a9b11_d0a11c0f","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"}],"manila/api/v1/share_unmanage.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":46,"context_line":"                msg \u003d _(\"Share %s has replicas. It cannot be unmanaged \""},{"line_number":47,"context_line":"                        \"until all replicas are removed.\") % share[\u0027id\u0027]"},{"line_number":48,"context_line":"                raise exc.HTTPConflict(explanation\u003dmsg)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"            if (not allow_dhss_true and"},{"line_number":51,"context_line":"                    share[\u0027instance\u0027].get(\u0027share_server_id\u0027)):"},{"line_number":52,"context_line":"                msg \u003d _(\"Operation \u0027unmanage\u0027 is not supported for shares \""}],"source_content_type":"text/x-python","patch_set":41,"id":"68f16d64_9787eb72","line":49,"updated":"2025-07-01 21:22:55.000000000","message":"nit: please drop this blank line - it can impact the git history in the future","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":46,"context_line":"                msg \u003d _(\"Share %s has replicas. It cannot be unmanaged \""},{"line_number":47,"context_line":"                        \"until all replicas are removed.\") % share[\u0027id\u0027]"},{"line_number":48,"context_line":"                raise exc.HTTPConflict(explanation\u003dmsg)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"            if (not allow_dhss_true and"},{"line_number":51,"context_line":"                    share[\u0027instance\u0027].get(\u0027share_server_id\u0027)):"},{"line_number":52,"context_line":"                msg \u003d _(\"Operation \u0027unmanage\u0027 is not supported for shares \""}],"source_content_type":"text/x-python","patch_set":41,"id":"d2b4acd3_c5ae109a","line":49,"in_reply_to":"68f16d64_9787eb72","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"}],"manila/api/v1/shares.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":439,"context_line":"                payload \u003d {\u0027type\u0027: type_chosen, \u0027az\u0027: availability_zone}"},{"line_number":440,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg % payload)"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"        if share_type and encryption_key_ref:"},{"line_number":443,"context_line":"            type_enc \u003d share_type.get("},{"line_number":444,"context_line":"                \u0027extra_specs\u0027, {}).get(\u0027encryption_support\u0027)"},{"line_number":445,"context_line":"            if type_enc not in constants.SUPPORTED_ENCRYPTION_TYPES:"}],"source_content_type":"text/x-python","patch_set":41,"id":"e5dde716_2b9d2fdf","line":442,"range":{"start_line":442,"start_character":0,"end_line":442,"end_character":45},"updated":"2025-07-01 21:22:55.000000000","message":"please write unit tests for this","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":439,"context_line":"                payload \u003d {\u0027type\u0027: type_chosen, \u0027az\u0027: availability_zone}"},{"line_number":440,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg % payload)"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"        if share_type and encryption_key_ref:"},{"line_number":443,"context_line":"            type_enc \u003d share_type.get("},{"line_number":444,"context_line":"                \u0027extra_specs\u0027, {}).get(\u0027encryption_support\u0027)"},{"line_number":445,"context_line":"            if type_enc not in constants.SUPPORTED_ENCRYPTION_TYPES:"}],"source_content_type":"text/x-python","patch_set":41,"id":"b79cb1c6_26acd169","line":442,"range":{"start_line":442,"start_character":11,"end_line":442,"end_character":21},"updated":"2025-07-01 21:22:55.000000000","message":"type_chosen?\nThis is updated above, and type_chose will have the content of either share_type or parent_share_type in case this is a creation from snapshot","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":439,"context_line":"                payload \u003d {\u0027type\u0027: type_chosen, \u0027az\u0027: availability_zone}"},{"line_number":440,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg % payload)"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"        if share_type and encryption_key_ref:"},{"line_number":443,"context_line":"            type_enc \u003d share_type.get("},{"line_number":444,"context_line":"                \u0027extra_specs\u0027, {}).get(\u0027encryption_support\u0027)"},{"line_number":445,"context_line":"            if type_enc not in constants.SUPPORTED_ENCRYPTION_TYPES:"}],"source_content_type":"text/x-python","patch_set":41,"id":"d5cf94ec_69fc2cdd","line":442,"range":{"start_line":442,"start_character":11,"end_line":442,"end_character":21},"in_reply_to":"b79cb1c6_26acd169","updated":"2025-07-03 17:59:12.000000000","message":"We are not supporting share from snapshot with encryption. So share type is only considered now.","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":439,"context_line":"                payload \u003d {\u0027type\u0027: type_chosen, \u0027az\u0027: availability_zone}"},{"line_number":440,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg % payload)"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"        if share_type and encryption_key_ref:"},{"line_number":443,"context_line":"            type_enc \u003d share_type.get("},{"line_number":444,"context_line":"                \u0027extra_specs\u0027, {}).get(\u0027encryption_support\u0027)"},{"line_number":445,"context_line":"            if type_enc not in constants.SUPPORTED_ENCRYPTION_TYPES:"}],"source_content_type":"text/x-python","patch_set":41,"id":"14517600_05afb2c5","line":442,"range":{"start_line":442,"start_character":0,"end_line":442,"end_character":45},"in_reply_to":"e5dde716_2b9d2fdf","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":440,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg % payload)"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"        if share_type and encryption_key_ref:"},{"line_number":443,"context_line":"            type_enc \u003d share_type.get("},{"line_number":444,"context_line":"                \u0027extra_specs\u0027, {}).get(\u0027encryption_support\u0027)"},{"line_number":445,"context_line":"            if type_enc not in constants.SUPPORTED_ENCRYPTION_TYPES:"},{"line_number":446,"context_line":"                msg \u003d _(\"Share type %(type)s is missing encryption support.\")"}],"source_content_type":"text/x-python","patch_set":41,"id":"1ff89a5a_f30e07e8","line":443,"range":{"start_line":443,"start_character":23,"end_line":443,"end_character":33},"updated":"2025-07-01 21:22:55.000000000","message":"same","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":440,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg % payload)"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"        if share_type and encryption_key_ref:"},{"line_number":443,"context_line":"            type_enc \u003d share_type.get("},{"line_number":444,"context_line":"                \u0027extra_specs\u0027, {}).get(\u0027encryption_support\u0027)"},{"line_number":445,"context_line":"            if type_enc not in constants.SUPPORTED_ENCRYPTION_TYPES:"},{"line_number":446,"context_line":"                msg \u003d _(\"Share type %(type)s is missing encryption support.\")"}],"source_content_type":"text/x-python","patch_set":41,"id":"e1e11d24_38ac8c33","line":443,"range":{"start_line":443,"start_character":23,"end_line":443,"end_character":33},"in_reply_to":"1ff89a5a_f30e07e8","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":443,"context_line":"            type_enc \u003d share_type.get("},{"line_number":444,"context_line":"                \u0027extra_specs\u0027, {}).get(\u0027encryption_support\u0027)"},{"line_number":445,"context_line":"            if type_enc not in constants.SUPPORTED_ENCRYPTION_TYPES:"},{"line_number":446,"context_line":"                msg \u003d _(\"Share type %(type)s is missing encryption support.\")"},{"line_number":447,"context_line":"                payload \u003d {\u0027type\u0027: share_type}"},{"line_number":448,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg % payload)"},{"line_number":449,"context_line":""}],"source_content_type":"text/x-python","patch_set":41,"id":"1c819012_b8288678","line":446,"range":{"start_line":446,"start_character":56,"end_line":446,"end_character":74},"updated":"2025-07-01 21:22:55.000000000","message":"\u0027encryption_support\u0027","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":443,"context_line":"            type_enc \u003d share_type.get("},{"line_number":444,"context_line":"                \u0027extra_specs\u0027, {}).get(\u0027encryption_support\u0027)"},{"line_number":445,"context_line":"            if type_enc not in constants.SUPPORTED_ENCRYPTION_TYPES:"},{"line_number":446,"context_line":"                msg \u003d _(\"Share type %(type)s is missing encryption support.\")"},{"line_number":447,"context_line":"                payload \u003d {\u0027type\u0027: share_type}"},{"line_number":448,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg % payload)"},{"line_number":449,"context_line":""}],"source_content_type":"text/x-python","patch_set":41,"id":"e7d2de17_2827d0f8","line":446,"range":{"start_line":446,"start_character":56,"end_line":446,"end_character":74},"in_reply_to":"1c819012_b8288678","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":442,"context_line":"        if share_type and encryption_key_ref:"},{"line_number":443,"context_line":"            type_enc \u003d share_type.get("},{"line_number":444,"context_line":"                \u0027extra_specs\u0027, {}).get(\u0027encryption_support\u0027)"},{"line_number":445,"context_line":"            if type_enc not in constants.SUPPORTED_ENCRYPTION_TYPES:"},{"line_number":446,"context_line":"                msg \u003d _(\"Share type %(type)s extra-specs \u0027encryption_support\u0027 \""},{"line_number":447,"context_line":"                        \"is missing valid value e.g. share, share_server.\")"},{"line_number":448,"context_line":"                payload \u003d {\u0027type\u0027: share_type}"},{"line_number":449,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg % payload)"},{"line_number":450,"context_line":""}],"source_content_type":"text/x-python","patch_set":48,"id":"601c5e96_68f11048","line":447,"range":{"start_line":445,"start_character":0,"end_line":447,"end_character":75},"updated":"2025-08-05 04:50:31.000000000","message":"This validation must be done in the share types API.. not here. \nThere\u0027s nothing a user can do about a misconfigured share type, except complain to the cloud administrator.","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":442,"context_line":"        if share_type and encryption_key_ref:"},{"line_number":443,"context_line":"            type_enc \u003d share_type.get("},{"line_number":444,"context_line":"                \u0027extra_specs\u0027, {}).get(\u0027encryption_support\u0027)"},{"line_number":445,"context_line":"            if type_enc not in constants.SUPPORTED_ENCRYPTION_TYPES:"},{"line_number":446,"context_line":"                msg \u003d _(\"Share type %(type)s extra-specs \u0027encryption_support\u0027 \""},{"line_number":447,"context_line":"                        \"is missing valid value e.g. share, share_server.\")"},{"line_number":448,"context_line":"                payload \u003d {\u0027type\u0027: share_type}"},{"line_number":449,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg % payload)"},{"line_number":450,"context_line":""}],"source_content_type":"text/x-python","patch_set":48,"id":"3171968c_975fbeb4","line":447,"range":{"start_line":445,"start_character":0,"end_line":447,"end_character":75},"in_reply_to":"601c5e96_68f11048","updated":"2025-08-06 10:19:45.000000000","message":"The validation is already done in share_types while create/update. But consider a scenario where share type is old and then share is created for encryption using that old share type (which is missign encryption_support extra-spec), we should raise error, so that admin can modify share type.","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":448,"context_line":"                payload \u003d {\u0027type\u0027: share_type}"},{"line_number":449,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg % payload)"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"            dhss \u003d share_types.parse_boolean_extra_spec("},{"line_number":452,"context_line":"                \u0027driver_handles_share_servers\u0027, share_type.get("},{"line_number":453,"context_line":"                    \u0027extra_specs\u0027, {}).get(\u0027driver_handles_share_servers\u0027))"},{"line_number":454,"context_line":"            if not dhss:"},{"line_number":455,"context_line":"                msg \u003d _(\"Share type %(type)s must set dhss\u003dTrue for share \""},{"line_number":456,"context_line":"                        \"encryption.\")"}],"source_content_type":"text/x-python","patch_set":48,"id":"cbd1f94b_ddde44e9","line":453,"range":{"start_line":451,"start_character":0,"end_line":453,"end_character":75},"updated":"2025-08-05 04:50:31.000000000","message":"looks like this is being parsed earlier too, can you optimize this by only extracting this once, and using it from a variable?","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":448,"context_line":"                payload \u003d {\u0027type\u0027: share_type}"},{"line_number":449,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg % payload)"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"            dhss \u003d share_types.parse_boolean_extra_spec("},{"line_number":452,"context_line":"                \u0027driver_handles_share_servers\u0027, share_type.get("},{"line_number":453,"context_line":"                    \u0027extra_specs\u0027, {}).get(\u0027driver_handles_share_servers\u0027))"},{"line_number":454,"context_line":"            if not dhss:"},{"line_number":455,"context_line":"                msg \u003d _(\"Share type %(type)s must set dhss\u003dTrue for share \""},{"line_number":456,"context_line":"                        \"encryption.\")"}],"source_content_type":"text/x-python","patch_set":48,"id":"01e22151_11c8c9ad","line":453,"range":{"start_line":451,"start_character":0,"end_line":453,"end_character":75},"in_reply_to":"cbd1f94b_ddde44e9","updated":"2025-08-06 10:19:45.000000000","message":"Done","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":448,"context_line":"                payload \u003d {\u0027type\u0027: share_type}"},{"line_number":449,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg % payload)"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"            dhss \u003d share_types.parse_boolean_extra_spec("},{"line_number":452,"context_line":"                \u0027driver_handles_share_servers\u0027, share_type.get("},{"line_number":453,"context_line":"                    \u0027extra_specs\u0027, {}).get(\u0027driver_handles_share_servers\u0027))"},{"line_number":454,"context_line":"            if not dhss:"},{"line_number":455,"context_line":"                msg \u003d _(\"Share type %(type)s must set dhss\u003dTrue for share \""},{"line_number":456,"context_line":"                        \"encryption.\")"},{"line_number":457,"context_line":"                payload \u003d {\u0027type\u0027: share_type}"},{"line_number":458,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg % payload)"},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"        if share_type:"},{"line_number":461,"context_line":"            kwargs[\u0027share_type\u0027] \u003d share_type"}],"source_content_type":"text/x-python","patch_set":48,"id":"d7a00896_63838255","line":458,"range":{"start_line":451,"start_character":0,"end_line":458,"end_character":67},"updated":"2025-08-05 04:50:31.000000000","message":"This may be redundant? If the driver supports it, the share will get scheduled, else, it\u0027ll fail to be created.. why the early warning for this special case?","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":448,"context_line":"                payload \u003d {\u0027type\u0027: share_type}"},{"line_number":449,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg % payload)"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"            dhss \u003d share_types.parse_boolean_extra_spec("},{"line_number":452,"context_line":"                \u0027driver_handles_share_servers\u0027, share_type.get("},{"line_number":453,"context_line":"                    \u0027extra_specs\u0027, {}).get(\u0027driver_handles_share_servers\u0027))"},{"line_number":454,"context_line":"            if not dhss:"},{"line_number":455,"context_line":"                msg \u003d _(\"Share type %(type)s must set dhss\u003dTrue for share \""},{"line_number":456,"context_line":"                        \"encryption.\")"},{"line_number":457,"context_line":"                payload \u003d {\u0027type\u0027: share_type}"},{"line_number":458,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg % payload)"},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"        if share_type:"},{"line_number":461,"context_line":"            kwargs[\u0027share_type\u0027] \u003d share_type"}],"source_content_type":"text/x-python","patch_set":48,"id":"a653b2bb_16b0bf63","line":458,"range":{"start_line":451,"start_character":0,"end_line":458,"end_character":67},"in_reply_to":"d7a00896_63838255","updated":"2025-08-06 10:19:45.000000000","message":"the encyrption is supported only for dhss\u003dtrue case of netapp, so added this check beforehand of scheduling and other things.","commit_id":"81f784615b75e24203b70089e604557a94015d98"}],"manila/api/v2/share_replicas.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":175,"context_line":"            msg \u003d _(\"Replica cannot be created for share \u0027%s\u0027 \""},{"line_number":176,"context_line":"                    \"since it has been soft deleted.\") % share_id"},{"line_number":177,"context_line":"            raise exc.HTTPForbidden(explanation\u003dmsg)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        if share_ref.get(\u0027instance\u0027):"},{"line_number":180,"context_line":"            share_instance_id \u003d share_ref.instance.get(\u0027id\u0027)"},{"line_number":181,"context_line":"            if share_instance_id:"},{"line_number":182,"context_line":"                instance \u003d db.share_instance_get(context, share_instance_id)"},{"line_number":183,"context_line":"                if instance.get(\u0027encryption_key_ref\u0027):"},{"line_number":184,"context_line":"                    msg \u003d _(\"Replica cannot be created for share \u0027%s\u0027 \""},{"line_number":185,"context_line":"                            \"since it is encrypted.\") % share_id"}],"source_content_type":"text/x-python","patch_set":54,"id":"73017b0b_178cecfa","line":182,"range":{"start_line":178,"start_character":0,"end_line":182,"end_character":76},"updated":"2025-08-25 05:07:35.000000000","message":"This is inefficient - \"share_get\" has already fetched a lot of data, this trip to the DB isn\u0027t necessary, please create `encryption_key_ref` as a property on the share, like: https://github.com/openstack/manila/blob/d49fbdc9b798df19bc84960a55f4a0956a7c0fc6/manila/db/sqlalchemy/models.py#L201-L204","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":175,"context_line":"            msg \u003d _(\"Replica cannot be created for share \u0027%s\u0027 \""},{"line_number":176,"context_line":"                    \"since it has been soft deleted.\") % share_id"},{"line_number":177,"context_line":"            raise exc.HTTPForbidden(explanation\u003dmsg)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        if share_ref.get(\u0027instance\u0027):"},{"line_number":180,"context_line":"            share_instance_id \u003d share_ref.instance.get(\u0027id\u0027)"},{"line_number":181,"context_line":"            if share_instance_id:"},{"line_number":182,"context_line":"                instance \u003d db.share_instance_get(context, share_instance_id)"},{"line_number":183,"context_line":"                if instance.get(\u0027encryption_key_ref\u0027):"},{"line_number":184,"context_line":"                    msg \u003d _(\"Replica cannot be created for share \u0027%s\u0027 \""},{"line_number":185,"context_line":"                            \"since it is encrypted.\") % share_id"}],"source_content_type":"text/x-python","patch_set":54,"id":"bc7cfed5_9e7c4f3e","line":182,"range":{"start_line":178,"start_character":0,"end_line":182,"end_character":76},"in_reply_to":"73017b0b_178cecfa","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"}],"manila/api/v2/share_servers.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":109,"context_line":"        except exception.ShareServerNotFound as e:"},{"line_number":110,"context_line":"            raise exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        if share_server[\u0027encryption_key_ref\u0027]:"},{"line_number":113,"context_line":"            msg \u003d _(\"Cannot unmanage the share server containing encryption \""},{"line_number":114,"context_line":"                    \"key reference\")"},{"line_number":115,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        if len(share_server[\u0027share_network_subnets\u0027]) \u003e 1:"},{"line_number":118,"context_line":"            msg \u003d _(\"Cannot unmanage the share server containing multiple \""}],"source_content_type":"text/x-python","patch_set":48,"id":"2b787d3e_ef47c170","line":115,"range":{"start_line":112,"start_character":0,"end_line":115,"end_character":53},"updated":"2025-08-05 04:50:31.000000000","message":"What\u0027s the problem with doing this?","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        except exception.ShareServerNotFound as e:"},{"line_number":110,"context_line":"            raise exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        if share_server[\u0027encryption_key_ref\u0027]:"},{"line_number":113,"context_line":"            msg \u003d _(\"Cannot unmanage the share server containing encryption \""},{"line_number":114,"context_line":"                    \"key reference\")"},{"line_number":115,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        if len(share_server[\u0027share_network_subnets\u0027]) \u003e 1:"},{"line_number":118,"context_line":"            msg \u003d _(\"Cannot unmanage the share server containing multiple \""}],"source_content_type":"text/x-python","patch_set":48,"id":"f8887699_0f14d5b4","line":115,"range":{"start_line":112,"start_character":0,"end_line":115,"end_character":53},"in_reply_to":"2b787d3e_ef47c170","updated":"2025-08-06 10:19:45.000000000","message":"We are targeting basic use case of share creation for Flamingo. encryption for replica, snapshots, migration all will be considered in future releases. But unmanage is something I can remove, so removed.","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":247,"context_line":"        if not params:"},{"line_number":248,"context_line":"            raise exc.HTTPBadRequest(explanation\u003d_(\"Request is missing body.\"))"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        if share_server[\u0027encryption_key_ref\u0027]:"},{"line_number":251,"context_line":"            msg \u003d _(\"Cannot migrate the share server containing encryption \""},{"line_number":252,"context_line":"                    \"key reference\")"},{"line_number":253,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"        bool_params \u003d [\u0027writable\u0027, \u0027nondisruptive\u0027, \u0027preserve_snapshots\u0027]"},{"line_number":256,"context_line":"        mandatory_params \u003d bool_params + [\u0027host\u0027]"}],"source_content_type":"text/x-python","patch_set":48,"id":"dd2c5995_7034eef3","line":253,"range":{"start_line":250,"start_character":0,"end_line":253,"end_character":53},"updated":"2025-08-05 04:50:31.000000000","message":"why?","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":247,"context_line":"        if not params:"},{"line_number":248,"context_line":"            raise exc.HTTPBadRequest(explanation\u003d_(\"Request is missing body.\"))"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        if share_server[\u0027encryption_key_ref\u0027]:"},{"line_number":251,"context_line":"            msg \u003d _(\"Cannot migrate the share server containing encryption \""},{"line_number":252,"context_line":"                    \"key reference\")"},{"line_number":253,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"        bool_params \u003d [\u0027writable\u0027, \u0027nondisruptive\u0027, \u0027preserve_snapshots\u0027]"},{"line_number":256,"context_line":"        mandatory_params \u003d bool_params + [\u0027host\u0027]"}],"source_content_type":"text/x-python","patch_set":48,"id":"1ece9a63_ee9bd2ab","line":253,"range":{"start_line":250,"start_character":0,"end_line":253,"end_character":53},"in_reply_to":"dd2c5995_7034eef3","updated":"2025-08-06 10:19:45.000000000","message":"same as above","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":380,"context_line":"        if not params:"},{"line_number":381,"context_line":"            raise exc.HTTPBadRequest(explanation\u003d_(\"Request is missing body.\"))"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"        if share_server.get(\u0027encryption_key_ref\u0027):"},{"line_number":384,"context_line":"            msg \u003d _(\"Cannot migrate the share server containing encryption \""},{"line_number":385,"context_line":"                    \"key reference\")"},{"line_number":386,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"        bool_params \u003d [\u0027writable\u0027, \u0027nondisruptive\u0027, \u0027preserve_snapshots\u0027]"},{"line_number":389,"context_line":"        mandatory_params \u003d bool_params + [\u0027host\u0027]"}],"source_content_type":"text/x-python","patch_set":48,"id":"f4de09c4_3208ed05","line":386,"range":{"start_line":383,"start_character":0,"end_line":386,"end_character":53},"updated":"2025-08-05 04:50:31.000000000","message":"does NetApp not support this feature? Why block this?","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":380,"context_line":"        if not params:"},{"line_number":381,"context_line":"            raise exc.HTTPBadRequest(explanation\u003d_(\"Request is missing body.\"))"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"        if share_server.get(\u0027encryption_key_ref\u0027):"},{"line_number":384,"context_line":"            msg \u003d _(\"Cannot migrate the share server containing encryption \""},{"line_number":385,"context_line":"                    \"key reference\")"},{"line_number":386,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"        bool_params \u003d [\u0027writable\u0027, \u0027nondisruptive\u0027, \u0027preserve_snapshots\u0027]"},{"line_number":389,"context_line":"        mandatory_params \u003d bool_params + [\u0027host\u0027]"}],"source_content_type":"text/x-python","patch_set":48,"id":"316e6b1e_93d613b9","line":386,"range":{"start_line":383,"start_character":0,"end_line":386,"end_character":53},"in_reply_to":"f4de09c4_3208ed05","updated":"2025-08-06 10:19:45.000000000","message":"Yes, this not supported yet and will be considered in future ONTAP versions.","commit_id":"81f784615b75e24203b70089e604557a94015d98"}],"manila/api/v2/shares.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":205,"context_line":"            if scheduler_hints:"},{"line_number":206,"context_line":"                scheduler_hints.pop(\u0027only_host\u0027, None)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        encryption_key_ref \u003d None"},{"line_number":209,"context_line":"        if req.api_version_request \u003e\u003d api_version.APIVersionRequest(\"2.90\"):"},{"line_number":210,"context_line":"            encryption_key_ref \u003d share.pop(\u0027encryption_key_ref\u0027, None)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        return self._create("},{"line_number":213,"context_line":"            req, body,"},{"line_number":214,"context_line":"            check_create_share_from_snapshot_support\u003dTrue,"},{"line_number":215,"context_line":"            check_availability_zones_extra_spec\u003dTrue,"},{"line_number":216,"context_line":"            scheduler_hints\u003dscheduler_hints,"},{"line_number":217,"context_line":"            encryption_key_ref\u003dencryption_key_ref)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    @wsgi.Controller.api_version(\"2.48\", \"2.64\") # noqa"},{"line_number":220,"context_line":"    def create(self, req, body):  # pylint: disable\u003dfunction-redefined  # noqa F811"}],"source_content_type":"text/x-python","patch_set":48,"id":"01117532_f5d7569f","line":217,"range":{"start_line":208,"start_character":0,"end_line":217,"end_character":50},"updated":"2025-08-05 04:50:31.000000000","message":"please use the same format for consistency\u0027s sake.. i.e., define a new create method for API version 2.90 and beyond","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":205,"context_line":"            if scheduler_hints:"},{"line_number":206,"context_line":"                scheduler_hints.pop(\u0027only_host\u0027, None)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        encryption_key_ref \u003d None"},{"line_number":209,"context_line":"        if req.api_version_request \u003e\u003d api_version.APIVersionRequest(\"2.90\"):"},{"line_number":210,"context_line":"            encryption_key_ref \u003d share.pop(\u0027encryption_key_ref\u0027, None)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        return self._create("},{"line_number":213,"context_line":"            req, body,"},{"line_number":214,"context_line":"            check_create_share_from_snapshot_support\u003dTrue,"},{"line_number":215,"context_line":"            check_availability_zones_extra_spec\u003dTrue,"},{"line_number":216,"context_line":"            scheduler_hints\u003dscheduler_hints,"},{"line_number":217,"context_line":"            encryption_key_ref\u003dencryption_key_ref)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    @wsgi.Controller.api_version(\"2.48\", \"2.64\") # noqa"},{"line_number":220,"context_line":"    def create(self, req, body):  # pylint: disable\u003dfunction-redefined  # noqa F811"}],"source_content_type":"text/x-python","patch_set":48,"id":"f1ba0583_5797568e","line":217,"range":{"start_line":208,"start_character":0,"end_line":217,"end_character":50},"in_reply_to":"01117532_f5d7569f","updated":"2025-08-06 10:19:45.000000000","message":"Done","commit_id":"81f784615b75e24203b70089e604557a94015d98"}],"manila/api/views/quota_class_sets.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    @common.ViewBuilder.versioned_method(\"2.90\")"},{"line_number":70,"context_line":"    def add_encryption_keys_quotas(self, context, view, quota_class_set):"},{"line_number":71,"context_line":"        view[\u0027encryption_keys\u0027] \u003d quota_class_set.get(\u0027encryption_keys\u0027)"}],"source_content_type":"text/x-python","patch_set":54,"id":"269ae3dd_cc6f0f11","line":71,"range":{"start_line":71,"start_character":0,"end_line":71,"end_character":72},"updated":"2025-08-25 05:07:35.000000000","message":"these changes are missing from the API Reference","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    @common.ViewBuilder.versioned_method(\"2.90\")"},{"line_number":70,"context_line":"    def add_encryption_keys_quotas(self, context, view, quota_class_set):"},{"line_number":71,"context_line":"        view[\u0027encryption_keys\u0027] \u003d quota_class_set.get(\u0027encryption_keys\u0027)"}],"source_content_type":"text/x-python","patch_set":54,"id":"9d46a72a_ca8270bd","line":71,"range":{"start_line":71,"start_character":0,"end_line":71,"end_character":72},"in_reply_to":"269ae3dd_cc6f0f11","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"}],"manila/api/views/quota_sets.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":72,"context_line":"        view[\u0027backups\u0027] \u003d quota_set.get(\u0027backups\u0027)"},{"line_number":73,"context_line":"        view[\u0027backup_gigabytes\u0027] \u003d quota_set.get(\u0027backup_gigabytes\u0027)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    @common.ViewBuilder.versioned_method(\"2.90\")"},{"line_number":76,"context_line":"    def add_encryption_keys_quotas(self, context, view, quota_set):"},{"line_number":77,"context_line":"        view[\u0027encryption_keys\u0027] \u003d quota_set.get(\u0027encryption_keys\u0027)"}],"source_content_type":"text/x-python","patch_set":54,"id":"e1600398_d652ce5c","line":77,"range":{"start_line":75,"start_character":0,"end_line":77,"end_character":66},"updated":"2025-08-25 05:07:35.000000000","message":"this change is missing in the API Ref","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        view[\u0027backups\u0027] \u003d quota_set.get(\u0027backups\u0027)"},{"line_number":73,"context_line":"        view[\u0027backup_gigabytes\u0027] \u003d quota_set.get(\u0027backup_gigabytes\u0027)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    @common.ViewBuilder.versioned_method(\"2.90\")"},{"line_number":76,"context_line":"    def add_encryption_keys_quotas(self, context, view, quota_set):"},{"line_number":77,"context_line":"        view[\u0027encryption_keys\u0027] \u003d quota_set.get(\u0027encryption_keys\u0027)"}],"source_content_type":"text/x-python","patch_set":54,"id":"246b7ccc_a40bd002","line":77,"range":{"start_line":75,"start_character":0,"end_line":77,"end_character":66},"in_reply_to":"e1600398_d652ce5c","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"}],"manila/api/views/share_servers.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":26,"context_line":"        \"add_task_state_and_source_server_fields\","},{"line_number":27,"context_line":"        \"add_sec_service_update_fields\","},{"line_number":28,"context_line":"        \"add_share_network_subnet_ids_and_network_allocation_update_support\","},{"line_number":29,"context_line":"        \"add_encryption_key_ref_field\""},{"line_number":30,"context_line":"    ]"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def build_share_server(self, request, share_server):"}],"source_content_type":"text/x-python","patch_set":48,"id":"7148e8cf_9d2b0ee7","line":29,"range":{"start_line":29,"start_character":37,"end_line":29,"end_character":38},"updated":"2025-08-05 04:50:31.000000000","message":"trailing comma","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        \"add_task_state_and_source_server_fields\","},{"line_number":27,"context_line":"        \"add_sec_service_update_fields\","},{"line_number":28,"context_line":"        \"add_share_network_subnet_ids_and_network_allocation_update_support\","},{"line_number":29,"context_line":"        \"add_encryption_key_ref_field\""},{"line_number":30,"context_line":"    ]"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def build_share_server(self, request, share_server):"}],"source_content_type":"text/x-python","patch_set":48,"id":"82b4af44_b53c63a9","line":29,"range":{"start_line":29,"start_character":37,"end_line":29,"end_character":38},"in_reply_to":"7148e8cf_9d2b0ee7","updated":"2025-08-06 10:19:45.000000000","message":"Done","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":101,"context_line":"            share_server[\u0027share_network_subnet_ids\u0027])"},{"line_number":102,"context_line":"        share_server_dict[\u0027network_allocation_update_support\u0027] \u003d ("},{"line_number":103,"context_line":"            share_server[\u0027network_allocation_update_support\u0027])"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    @common.ViewBuilder.versioned_method(\"2.90\")"},{"line_number":106,"context_line":"    def add_encryption_key_ref_field("},{"line_number":107,"context_line":"            self, context, share_server_dict, share_server):"},{"line_number":108,"context_line":"        share_server_dict[\u0027encryption_key_ref\u0027] \u003d share_server["},{"line_number":109,"context_line":"            \u0027encryption_key_ref\u0027]"}],"source_content_type":"text/x-python","patch_set":54,"id":"99b06727_2a4113dc","line":109,"range":{"start_line":104,"start_character":0,"end_line":109,"end_character":33},"updated":"2025-08-25 05:07:35.000000000","message":"This change is missing in the API Ref","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":101,"context_line":"            share_server[\u0027share_network_subnet_ids\u0027])"},{"line_number":102,"context_line":"        share_server_dict[\u0027network_allocation_update_support\u0027] \u003d ("},{"line_number":103,"context_line":"            share_server[\u0027network_allocation_update_support\u0027])"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    @common.ViewBuilder.versioned_method(\"2.90\")"},{"line_number":106,"context_line":"    def add_encryption_key_ref_field("},{"line_number":107,"context_line":"            self, context, share_server_dict, share_server):"},{"line_number":108,"context_line":"        share_server_dict[\u0027encryption_key_ref\u0027] \u003d share_server["},{"line_number":109,"context_line":"            \u0027encryption_key_ref\u0027]"}],"source_content_type":"text/x-python","patch_set":54,"id":"92fbf927_97da116b","line":109,"range":{"start_line":104,"start_character":0,"end_line":109,"end_character":33},"in_reply_to":"99b06727_2a4113dc","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"}],"manila/api/views/shares.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    @common.ViewBuilder.versioned_method(\"2.90\")"},{"line_number":216,"context_line":"    def add_encryption_key_ref_field(self, context, share_dict, share):"},{"line_number":217,"context_line":"        share_dict[\u0027encryption_key_ref\u0027] \u003d share.get(\u0027instance\u0027, {}).get("},{"line_number":218,"context_line":"            \u0027encryption_key_ref\u0027)"}],"source_content_type":"text/x-python","patch_set":48,"id":"d3dca1a1_4bfcaedc","line":217,"range":{"start_line":217,"start_character":43,"end_line":217,"end_character":62},"updated":"2025-08-05 04:50:31.000000000","message":"do we anticipate a share to have instances that have different encryption key refs? i.e., why is this a property of the share instance, and not the share?","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    @common.ViewBuilder.versioned_method(\"2.90\")"},{"line_number":216,"context_line":"    def add_encryption_key_ref_field(self, context, share_dict, share):"},{"line_number":217,"context_line":"        share_dict[\u0027encryption_key_ref\u0027] \u003d share.get(\u0027instance\u0027, {}).get("},{"line_number":218,"context_line":"            \u0027encryption_key_ref\u0027)"}],"source_content_type":"text/x-python","patch_set":48,"id":"a1cdf839_2fee90a9","line":217,"range":{"start_line":217,"start_character":43,"end_line":217,"end_character":62},"in_reply_to":"d3dca1a1_4bfcaedc","updated":"2025-08-06 10:19:45.000000000","message":"yes, share is higher level abstraction and netapp inturn dealing with share-instance. This will open use case of replica to have different encryption key since it will land on different share server.","commit_id":"81f784615b75e24203b70089e604557a94015d98"}],"manila/db/migrations/alembic/versions/e975ea83b712_add_share_server_encryption.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":45,"context_line":"                      nullable\u003dTrue, unique\u003dTrue))"},{"line_number":46,"context_line":"        op.add_column("},{"line_number":47,"context_line":"            share_servers_table,"},{"line_number":48,"context_line":"            sa.Column(\u0027app_cred_id\u0027, sa.String(36), nullable\u003dTrue))"},{"line_number":49,"context_line":"    except Exception:"},{"line_number":50,"context_line":"        LOG.error(\"Column can not be added for \u0027share_servers\u0027 table!\")"},{"line_number":51,"context_line":"        raise"}],"source_content_type":"text/x-python","patch_set":41,"id":"07f3afa2_68f95d8c","line":48,"range":{"start_line":48,"start_character":23,"end_line":48,"end_character":34},"updated":"2025-07-01 21:22:55.000000000","message":"can we make this columns a bit more descriptive?","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":45,"context_line":"                      nullable\u003dTrue, unique\u003dTrue))"},{"line_number":46,"context_line":"        op.add_column("},{"line_number":47,"context_line":"            share_servers_table,"},{"line_number":48,"context_line":"            sa.Column(\u0027app_cred_id\u0027, sa.String(36), nullable\u003dTrue))"},{"line_number":49,"context_line":"    except Exception:"},{"line_number":50,"context_line":"        LOG.error(\"Column can not be added for \u0027share_servers\u0027 table!\")"},{"line_number":51,"context_line":"        raise"}],"source_content_type":"text/x-python","patch_set":41,"id":"75af65de_dd9777f6","line":48,"range":{"start_line":48,"start_character":23,"end_line":48,"end_character":34},"in_reply_to":"0383b94d_680df9a8","updated":"2025-08-05 04:50:31.000000000","message":"I like it expanded too, please, since Keystone calls the endpoints and the objects it stores as \"/application_credential\" or \"application_credentials\": https://github.com/openstack/keystone/blob/e066e18abf5dc9a061fe2fc479a851aa0b65c794/keystone/application_credential/schema.py#L293-L298","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":true,"context_lines":[{"line_number":45,"context_line":"                      nullable\u003dTrue, unique\u003dTrue))"},{"line_number":46,"context_line":"        op.add_column("},{"line_number":47,"context_line":"            share_servers_table,"},{"line_number":48,"context_line":"            sa.Column(\u0027app_cred_id\u0027, sa.String(36), nullable\u003dTrue))"},{"line_number":49,"context_line":"    except Exception:"},{"line_number":50,"context_line":"        LOG.error(\"Column can not be added for \u0027share_servers\u0027 table!\")"},{"line_number":51,"context_line":"        raise"}],"source_content_type":"text/x-python","patch_set":41,"id":"0383b94d_680df9a8","line":48,"range":{"start_line":48,"start_character":23,"end_line":48,"end_character":34},"in_reply_to":"07f3afa2_68f95d8c","updated":"2025-07-03 17:59:12.000000000","message":"We can rename to application_cred_id. But app is short form of application and cred is short form of credentials. so app_cred_id looks ok. Let me know if you think otherwise.","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                      nullable\u003dTrue, unique\u003dTrue))"},{"line_number":46,"context_line":"        op.add_column("},{"line_number":47,"context_line":"            share_servers_table,"},{"line_number":48,"context_line":"            sa.Column(\u0027app_cred_id\u0027, sa.String(36), nullable\u003dTrue))"},{"line_number":49,"context_line":"    except Exception:"},{"line_number":50,"context_line":"        LOG.error(\"Column can not be added for \u0027share_servers\u0027 table!\")"},{"line_number":51,"context_line":"        raise"}],"source_content_type":"text/x-python","patch_set":41,"id":"a416ac2d_c4c0d624","line":48,"range":{"start_line":48,"start_character":23,"end_line":48,"end_character":34},"in_reply_to":"75af65de_dd9777f6","updated":"2025-08-06 10:19:45.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":47,"context_line":"            share_servers_table,"},{"line_number":48,"context_line":"            sa.Column(\u0027app_cred_id\u0027, sa.String(36), nullable\u003dTrue))"},{"line_number":49,"context_line":"    except Exception:"},{"line_number":50,"context_line":"        LOG.error(\"Column can not be added for \u0027share_servers\u0027 table!\")"},{"line_number":51,"context_line":"        raise"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":41,"id":"059ec0bb_0c26df96","line":50,"range":{"start_line":50,"start_character":8,"end_line":50,"end_character":71},"updated":"2025-07-01 21:22:55.000000000","message":"if it fails in the second column that is being added, it means that the first worked, so should we have two try/catch blocks to prevent it?","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ebd15b9f6f0f614f8511dfb60de73919510db89f","unresolved":true,"context_lines":[{"line_number":47,"context_line":"            share_servers_table,"},{"line_number":48,"context_line":"            sa.Column(\u0027app_cred_id\u0027, sa.String(36), nullable\u003dTrue))"},{"line_number":49,"context_line":"    except Exception:"},{"line_number":50,"context_line":"        LOG.error(\"Column can not be added for \u0027share_servers\u0027 table!\")"},{"line_number":51,"context_line":"        raise"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":41,"id":"b96c6a4c_00e81de2","line":50,"range":{"start_line":50,"start_character":8,"end_line":50,"end_character":71},"in_reply_to":"059ec0bb_0c26df96","updated":"2025-07-02 09:21:07.000000000","message":"Even if two try/catch blocks are used, the first worked and second column failed add will still occur. i think it is ok for me.","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            share_servers_table,"},{"line_number":48,"context_line":"            sa.Column(\u0027app_cred_id\u0027, sa.String(36), nullable\u003dTrue))"},{"line_number":49,"context_line":"    except Exception:"},{"line_number":50,"context_line":"        LOG.error(\"Column can not be added for \u0027share_servers\u0027 table!\")"},{"line_number":51,"context_line":"        raise"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":41,"id":"6262bcbf_c03e888d","line":50,"range":{"start_line":50,"start_character":8,"end_line":50,"end_character":71},"in_reply_to":"059ec0bb_0c26df96","updated":"2025-07-03 17:59:12.000000000","message":"I just referred earlier implmentations e.g. manila/db/migrations/alembic/versions/dda6de06349_add_export_locations_metadata.py","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":75,"context_line":"        raise"},{"line_number":76,"context_line":"    try:"},{"line_number":77,"context_line":"        op.create_index(\u0027ix_share_servers_encryption_key_ref\u0027,"},{"line_number":78,"context_line":"                        \u0027share_servers\u0027, [\u0027encryption_key_ref\u0027])"},{"line_number":79,"context_line":"        op.create_table("},{"line_number":80,"context_line":"            share_server_encryption_ref_table,"},{"line_number":81,"context_line":"            sa.Column(\u0027id\u0027, sa.String(36), primary_key\u003dTrue, nullable\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":41,"id":"a124a555_9820ac14","line":78,"range":{"start_line":78,"start_character":26,"end_line":78,"end_character":39},"updated":"2025-07-01 21:22:55.000000000","message":"share_servers_table_name","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        raise"},{"line_number":76,"context_line":"    try:"},{"line_number":77,"context_line":"        op.create_index(\u0027ix_share_servers_encryption_key_ref\u0027,"},{"line_number":78,"context_line":"                        \u0027share_servers\u0027, [\u0027encryption_key_ref\u0027])"},{"line_number":79,"context_line":"        op.create_table("},{"line_number":80,"context_line":"            share_server_encryption_ref_table,"},{"line_number":81,"context_line":"            sa.Column(\u0027id\u0027, sa.String(36), primary_key\u003dTrue, nullable\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":41,"id":"2577bdc8_39da9591","line":78,"range":{"start_line":78,"start_character":26,"end_line":78,"end_character":39},"in_reply_to":"a124a555_9820ac14","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ebd15b9f6f0f614f8511dfb60de73919510db89f","unresolved":true,"context_lines":[{"line_number":75,"context_line":"        raise"},{"line_number":76,"context_line":"    try:"},{"line_number":77,"context_line":"        op.create_index(\u0027ix_share_servers_encryption_key_ref\u0027,"},{"line_number":78,"context_line":"                        \u0027share_servers\u0027, [\u0027encryption_key_ref\u0027])"},{"line_number":79,"context_line":"        op.create_table("},{"line_number":80,"context_line":"            share_server_encryption_ref_table,"},{"line_number":81,"context_line":"            sa.Column(\u0027id\u0027, sa.String(36), primary_key\u003dTrue, nullable\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":41,"id":"7ce71d09_3044ed4a","line":78,"range":{"start_line":78,"start_character":26,"end_line":78,"end_character":39},"in_reply_to":"a124a555_9820ac14","updated":"2025-07-02 09:21:07.000000000","message":"share_servers_table","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":104,"context_line":"        raise"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    try:"},{"line_number":107,"context_line":"        op.drop_column(share_servers_table, \u0027encryption_key_ref\u0027)"},{"line_number":108,"context_line":"        op.drop_column(share_servers_table, \u0027app_cred_id\u0027)"},{"line_number":109,"context_line":"    except Exception:"},{"line_number":110,"context_line":"        LOG.error(\"Column can not be dropped for \u0027share_servers\u0027 table!\")"}],"source_content_type":"text/x-python","patch_set":41,"id":"1d905dc5_62032b0c","line":107,"range":{"start_line":107,"start_character":8,"end_line":107,"end_character":65},"updated":"2025-07-01 21:22:55.000000000","message":"does this automatically drop the index?","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        raise"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    try:"},{"line_number":107,"context_line":"        op.drop_column(share_servers_table, \u0027encryption_key_ref\u0027)"},{"line_number":108,"context_line":"        op.drop_column(share_servers_table, \u0027app_cred_id\u0027)"},{"line_number":109,"context_line":"    except Exception:"},{"line_number":110,"context_line":"        LOG.error(\"Column can not be dropped for \u0027share_servers\u0027 table!\")"}],"source_content_type":"text/x-python","patch_set":41,"id":"6e9f560d_0ffe919e","line":107,"range":{"start_line":107,"start_character":8,"end_line":107,"end_character":65},"in_reply_to":"1d905dc5_62032b0c","updated":"2025-07-03 17:59:12.000000000","message":"since index dependent on this column, it will dropped automatically I believe.","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":46,"context_line":"            share_servers_table,"},{"line_number":47,"context_line":"            sa.Column(\u0027app_cred_id\u0027, sa.String(36), nullable\u003dTrue))"},{"line_number":48,"context_line":"    except Exception:"},{"line_number":49,"context_line":"        LOG.error(\"Column can not be added for \u0027share_servers\u0027 table!\")"},{"line_number":50,"context_line":"        raise"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":48,"id":"bf9449ea_59ea5863","line":49,"range":{"start_line":49,"start_character":43,"end_line":49,"end_character":46},"updated":"2025-08-05 04:50:31.000000000","message":"to the","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            share_servers_table,"},{"line_number":47,"context_line":"            sa.Column(\u0027app_cred_id\u0027, sa.String(36), nullable\u003dTrue))"},{"line_number":48,"context_line":"    except Exception:"},{"line_number":49,"context_line":"        LOG.error(\"Column can not be added for \u0027share_servers\u0027 table!\")"},{"line_number":50,"context_line":"        raise"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":48,"id":"9a17a3dd_f7cba693","line":49,"range":{"start_line":49,"start_character":43,"end_line":49,"end_character":46},"in_reply_to":"bf9449ea_59ea5863","updated":"2025-08-06 10:19:45.000000000","message":"Done","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":52,"context_line":"    try:"},{"line_number":53,"context_line":"        op.add_column("},{"line_number":54,"context_line":"            share_instances_table,"},{"line_number":55,"context_line":"            sa.Column(\u0027encryption_key_ref\u0027, sa.String(36), nullable\u003dTrue))"},{"line_number":56,"context_line":"    except Exception:"},{"line_number":57,"context_line":"        LOG.error(\"Column can not be added for \u0027share_instances\u0027 table!\")"},{"line_number":58,"context_line":"        raise"}],"source_content_type":"text/x-python","patch_set":48,"id":"fbecdc20_426e67ab","line":55,"range":{"start_line":55,"start_character":12,"end_line":55,"end_character":74},"updated":"2025-08-05 04:50:31.000000000","message":"Why not in the \"shares\" table?","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    try:"},{"line_number":53,"context_line":"        op.add_column("},{"line_number":54,"context_line":"            share_instances_table,"},{"line_number":55,"context_line":"            sa.Column(\u0027encryption_key_ref\u0027, sa.String(36), nullable\u003dTrue))"},{"line_number":56,"context_line":"    except Exception:"},{"line_number":57,"context_line":"        LOG.error(\"Column can not be added for \u0027share_instances\u0027 table!\")"},{"line_number":58,"context_line":"        raise"}],"source_content_type":"text/x-python","patch_set":48,"id":"f54666a7_2f9f4a18","line":55,"range":{"start_line":55,"start_character":12,"end_line":55,"end_character":74},"in_reply_to":"fbecdc20_426e67ab","updated":"2025-08-06 10:19:45.000000000","message":"as explained above.","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":54,"context_line":"            share_instances_table,"},{"line_number":55,"context_line":"            sa.Column(\u0027encryption_key_ref\u0027, sa.String(36), nullable\u003dTrue))"},{"line_number":56,"context_line":"    except Exception:"},{"line_number":57,"context_line":"        LOG.error(\"Column can not be added for \u0027share_instances\u0027 table!\")"},{"line_number":58,"context_line":"        raise"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    connection \u003d op.get_bind()"}],"source_content_type":"text/x-python","patch_set":48,"id":"a1474705_4a2835fd","line":57,"range":{"start_line":57,"start_character":43,"end_line":57,"end_character":46},"updated":"2025-08-05 04:50:31.000000000","message":"to the","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            share_instances_table,"},{"line_number":55,"context_line":"            sa.Column(\u0027encryption_key_ref\u0027, sa.String(36), nullable\u003dTrue))"},{"line_number":56,"context_line":"    except Exception:"},{"line_number":57,"context_line":"        LOG.error(\"Column can not be added for \u0027share_instances\u0027 table!\")"},{"line_number":58,"context_line":"        raise"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    connection \u003d op.get_bind()"}],"source_content_type":"text/x-python","patch_set":48,"id":"3a4c5690_86807a98","line":57,"range":{"start_line":57,"start_character":43,"end_line":57,"end_character":46},"in_reply_to":"a1474705_4a2835fd","updated":"2025-08-06 10:19:45.000000000","message":"Done","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"58cfaa2b09c710ef7b88f7f39d0f06cdd53dd1f0","unresolved":true,"context_lines":[{"line_number":60,"context_line":"    connection \u003d op.get_bind()"},{"line_number":61,"context_line":"    quota_classes_table \u003d utils.load_table(\u0027quota_classes\u0027, connection)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    try:"},{"line_number":64,"context_line":"        op.bulk_insert"},{"line_number":65,"context_line":"        (quota_classes_table,"},{"line_number":66,"context_line":"         [{\u0027created_at\u0027: timeutils.utcnow(),"},{"line_number":67,"context_line":"           \u0027class_name\u0027: \u0027default\u0027,"},{"line_number":68,"context_line":"           \u0027resource\u0027: \u0027server_encryption_keys\u0027,"},{"line_number":69,"context_line":"           \u0027hard_limit\u0027: 100,"},{"line_number":70,"context_line":"           \u0027deleted\u0027: False, }])"},{"line_number":71,"context_line":"    except Exception:"},{"line_number":72,"context_line":"        LOG.error(\"Default server_encryption_keys row not inserted \""},{"line_number":73,"context_line":"                  \"into the quota_classes.\")"},{"line_number":74,"context_line":"        raise"},{"line_number":75,"context_line":"    try:"},{"line_number":76,"context_line":"        op.create_table("},{"line_number":77,"context_line":"            share_server_encryption_ref_table,"}],"source_content_type":"text/x-python","patch_set":48,"id":"3f847927_3ba5b5f9","line":74,"range":{"start_line":63,"start_character":0,"end_line":74,"end_character":13},"updated":"2025-08-05 04:50:31.000000000","message":"a default value should be configured, not added into each quota object.. if the quota doesn\u0027t exist, default kicks in..","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    connection \u003d op.get_bind()"},{"line_number":61,"context_line":"    quota_classes_table \u003d utils.load_table(\u0027quota_classes\u0027, connection)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    try:"},{"line_number":64,"context_line":"        op.bulk_insert"},{"line_number":65,"context_line":"        (quota_classes_table,"},{"line_number":66,"context_line":"         [{\u0027created_at\u0027: timeutils.utcnow(),"},{"line_number":67,"context_line":"           \u0027class_name\u0027: \u0027default\u0027,"},{"line_number":68,"context_line":"           \u0027resource\u0027: \u0027server_encryption_keys\u0027,"},{"line_number":69,"context_line":"           \u0027hard_limit\u0027: 100,"},{"line_number":70,"context_line":"           \u0027deleted\u0027: False, }])"},{"line_number":71,"context_line":"    except Exception:"},{"line_number":72,"context_line":"        LOG.error(\"Default server_encryption_keys row not inserted \""},{"line_number":73,"context_line":"                  \"into the quota_classes.\")"},{"line_number":74,"context_line":"        raise"},{"line_number":75,"context_line":"    try:"},{"line_number":76,"context_line":"        op.create_table("},{"line_number":77,"context_line":"            share_server_encryption_ref_table,"}],"source_content_type":"text/x-python","patch_set":48,"id":"e3197443_19a26aa4","line":74,"range":{"start_line":63,"start_character":0,"end_line":74,"end_character":13},"in_reply_to":"04067864_91970658","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":true,"context_lines":[{"line_number":60,"context_line":"    connection \u003d op.get_bind()"},{"line_number":61,"context_line":"    quota_classes_table \u003d utils.load_table(\u0027quota_classes\u0027, connection)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    try:"},{"line_number":64,"context_line":"        op.bulk_insert"},{"line_number":65,"context_line":"        (quota_classes_table,"},{"line_number":66,"context_line":"         [{\u0027created_at\u0027: timeutils.utcnow(),"},{"line_number":67,"context_line":"           \u0027class_name\u0027: \u0027default\u0027,"},{"line_number":68,"context_line":"           \u0027resource\u0027: \u0027server_encryption_keys\u0027,"},{"line_number":69,"context_line":"           \u0027hard_limit\u0027: 100,"},{"line_number":70,"context_line":"           \u0027deleted\u0027: False, }])"},{"line_number":71,"context_line":"    except Exception:"},{"line_number":72,"context_line":"        LOG.error(\"Default server_encryption_keys row not inserted \""},{"line_number":73,"context_line":"                  \"into the quota_classes.\")"},{"line_number":74,"context_line":"        raise"},{"line_number":75,"context_line":"    try:"},{"line_number":76,"context_line":"        op.create_table("},{"line_number":77,"context_line":"            share_server_encryption_ref_table,"}],"source_content_type":"text/x-python","patch_set":48,"id":"04067864_91970658","line":74,"range":{"start_line":63,"start_character":0,"end_line":74,"end_character":13},"in_reply_to":"3f847927_3ba5b5f9","updated":"2025-08-06 10:19:45.000000000","message":"during db migrations the row will be added, if we keep hard_limit to 0, the quota will exist and default value wont be applied. Correct ?","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bf2499cb79a4eeeceaaf2ccb274a1083792659de","unresolved":true,"context_lines":[{"line_number":73,"context_line":"                  \"into the quota_classes.\")"},{"line_number":74,"context_line":"        raise"},{"line_number":75,"context_line":"    try:"},{"line_number":76,"context_line":"        op.create_table("},{"line_number":77,"context_line":"            share_server_encryption_ref_table,"},{"line_number":78,"context_line":"            sa.Column(\u0027id\u0027, sa.String(36), primary_key\u003dTrue, nullable\u003dFalse),"},{"line_number":79,"context_line":"            sa.Column(\u0027share_server_id\u0027, sa.String(length\u003d36),"},{"line_number":80,"context_line":"                      sa.ForeignKey(\u0027share_servers.id\u0027),"},{"line_number":81,"context_line":"                      nullable\u003dFalse, unique\u003dTrue),"},{"line_number":82,"context_line":"            sa.Column(\u0027encryption_key_ref\u0027, sa.String(length\u003d36),"},{"line_number":83,"context_line":"                      nullable\u003dFalse),"},{"line_number":84,"context_line":"            sa.Column(\u0027project_id\u0027, sa.String(length\u003d255), nullable\u003dFalse),"},{"line_number":85,"context_line":"            sa.Column(\u0027deleted\u0027, sa.String(36), default\u003d\u0027False\u0027),"},{"line_number":86,"context_line":"            sa.Column(\u0027created_at\u0027, sa.DateTime, nullable\u003dTrue),"},{"line_number":87,"context_line":"            sa.Column(\u0027updated_at\u0027, sa.DateTime, nullable\u003dTrue),"},{"line_number":88,"context_line":"            sa.Column(\u0027deleted_at\u0027, sa.DateTime, nullable\u003dTrue),"},{"line_number":89,"context_line":"            mysql_engine\u003d\u0027InnoDB\u0027,"},{"line_number":90,"context_line":"            mysql_charset\u003d\u0027utf8\u0027"},{"line_number":91,"context_line":"        )"},{"line_number":92,"context_line":"    except Exception:"},{"line_number":93,"context_line":"        LOG.error(\"Table |%s| not created!\","},{"line_number":94,"context_line":"                  share_server_encryption_ref_table)"},{"line_number":95,"context_line":"        raise"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"def downgrade():"}],"source_content_type":"text/x-python","patch_set":48,"id":"56d4090c_e01b1471","line":95,"range":{"start_line":76,"start_character":8,"end_line":95,"end_character":13},"updated":"2025-08-06 05:42:19.000000000","message":"I think we can generalize quota for \"share_server\" and future \"share\" implementations. \n\nI think administrators will want to limit the number of encryption keys possible per project or per share type, regardless of whether share/share_server encryption is occurring.. \n\nso, here if you replaced \"share_server_id\" with \"resource_id\", you could store the appropriate share or server ID.\n\nAlso, wouldn\u0027t it make sense to store the \"application_credential_id\" in this table rather than in the share servers table?","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":true,"context_lines":[{"line_number":73,"context_line":"                  \"into the quota_classes.\")"},{"line_number":74,"context_line":"        raise"},{"line_number":75,"context_line":"    try:"},{"line_number":76,"context_line":"        op.create_table("},{"line_number":77,"context_line":"            share_server_encryption_ref_table,"},{"line_number":78,"context_line":"            sa.Column(\u0027id\u0027, sa.String(36), primary_key\u003dTrue, nullable\u003dFalse),"},{"line_number":79,"context_line":"            sa.Column(\u0027share_server_id\u0027, sa.String(length\u003d36),"},{"line_number":80,"context_line":"                      sa.ForeignKey(\u0027share_servers.id\u0027),"},{"line_number":81,"context_line":"                      nullable\u003dFalse, unique\u003dTrue),"},{"line_number":82,"context_line":"            sa.Column(\u0027encryption_key_ref\u0027, sa.String(length\u003d36),"},{"line_number":83,"context_line":"                      nullable\u003dFalse),"},{"line_number":84,"context_line":"            sa.Column(\u0027project_id\u0027, sa.String(length\u003d255), nullable\u003dFalse),"},{"line_number":85,"context_line":"            sa.Column(\u0027deleted\u0027, sa.String(36), default\u003d\u0027False\u0027),"},{"line_number":86,"context_line":"            sa.Column(\u0027created_at\u0027, sa.DateTime, nullable\u003dTrue),"},{"line_number":87,"context_line":"            sa.Column(\u0027updated_at\u0027, sa.DateTime, nullable\u003dTrue),"},{"line_number":88,"context_line":"            sa.Column(\u0027deleted_at\u0027, sa.DateTime, nullable\u003dTrue),"},{"line_number":89,"context_line":"            mysql_engine\u003d\u0027InnoDB\u0027,"},{"line_number":90,"context_line":"            mysql_charset\u003d\u0027utf8\u0027"},{"line_number":91,"context_line":"        )"},{"line_number":92,"context_line":"    except Exception:"},{"line_number":93,"context_line":"        LOG.error(\"Table |%s| not created!\","},{"line_number":94,"context_line":"                  share_server_encryption_ref_table)"},{"line_number":95,"context_line":"        raise"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"def downgrade():"}],"source_content_type":"text/x-python","patch_set":48,"id":"9ed9aa2a_3b2ed8b4","line":95,"range":{"start_line":76,"start_character":8,"end_line":95,"end_character":13},"in_reply_to":"56d4090c_e01b1471","updated":"2025-08-06 10:19:45.000000000","message":"The only reason to put it under share_servers was to have restriction to not get new share server servers created everytime for new share, which will use resources like LIF. I dont think share will need this quota as we already have shares, per_share_gigabytes, share_gigabytes etc.\n\nAlso application_credentail_id can be put in that table, but another table is more of project based counting of share server having non-null encryption keys, so we better have fields in shareServer table. Also removed encryption_key_ref from new table. Let me know if you think otherwise.","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"b16a876f52b3fd0ce161edc79f6373545f216821","unresolved":false,"context_lines":[{"line_number":73,"context_line":"                  \"into the quota_classes.\")"},{"line_number":74,"context_line":"        raise"},{"line_number":75,"context_line":"    try:"},{"line_number":76,"context_line":"        op.create_table("},{"line_number":77,"context_line":"            share_server_encryption_ref_table,"},{"line_number":78,"context_line":"            sa.Column(\u0027id\u0027, sa.String(36), primary_key\u003dTrue, nullable\u003dFalse),"},{"line_number":79,"context_line":"            sa.Column(\u0027share_server_id\u0027, sa.String(length\u003d36),"},{"line_number":80,"context_line":"                      sa.ForeignKey(\u0027share_servers.id\u0027),"},{"line_number":81,"context_line":"                      nullable\u003dFalse, unique\u003dTrue),"},{"line_number":82,"context_line":"            sa.Column(\u0027encryption_key_ref\u0027, sa.String(length\u003d36),"},{"line_number":83,"context_line":"                      nullable\u003dFalse),"},{"line_number":84,"context_line":"            sa.Column(\u0027project_id\u0027, sa.String(length\u003d255), nullable\u003dFalse),"},{"line_number":85,"context_line":"            sa.Column(\u0027deleted\u0027, sa.String(36), default\u003d\u0027False\u0027),"},{"line_number":86,"context_line":"            sa.Column(\u0027created_at\u0027, sa.DateTime, nullable\u003dTrue),"},{"line_number":87,"context_line":"            sa.Column(\u0027updated_at\u0027, sa.DateTime, nullable\u003dTrue),"},{"line_number":88,"context_line":"            sa.Column(\u0027deleted_at\u0027, sa.DateTime, nullable\u003dTrue),"},{"line_number":89,"context_line":"            mysql_engine\u003d\u0027InnoDB\u0027,"},{"line_number":90,"context_line":"            mysql_charset\u003d\u0027utf8\u0027"},{"line_number":91,"context_line":"        )"},{"line_number":92,"context_line":"    except Exception:"},{"line_number":93,"context_line":"        LOG.error(\"Table |%s| not created!\","},{"line_number":94,"context_line":"                  share_server_encryption_ref_table)"},{"line_number":95,"context_line":"        raise"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"def downgrade():"}],"source_content_type":"text/x-python","patch_set":48,"id":"0b385f7e_cddadd08","line":95,"range":{"start_line":76,"start_character":8,"end_line":95,"end_character":13},"in_reply_to":"9ed9aa2a_3b2ed8b4","updated":"2025-08-07 09:26:27.000000000","message":"Changed this table to consider both share and share server encryption keys as quota control.","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":47,"context_line":"            sa.Column(\u0027application_credential_id\u0027,"},{"line_number":48,"context_line":"                      sa.String(36), nullable\u003dTrue))"},{"line_number":49,"context_line":"    except Exception:"},{"line_number":50,"context_line":"        LOG.error(\"Column can not be added to the \u0027share_servers\u0027 table!\")"},{"line_number":51,"context_line":"        raise"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":54,"id":"3f110f78_215e7cb8","line":50,"range":{"start_line":50,"start_character":25,"end_line":50,"end_character":26},"updated":"2025-08-25 05:07:35.000000000","message":"log the column names perhaps?","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            sa.Column(\u0027application_credential_id\u0027,"},{"line_number":48,"context_line":"                      sa.String(36), nullable\u003dTrue))"},{"line_number":49,"context_line":"    except Exception:"},{"line_number":50,"context_line":"        LOG.error(\"Column can not be added to the \u0027share_servers\u0027 table!\")"},{"line_number":51,"context_line":"        raise"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":54,"id":"4342f784_00d2ac79","line":50,"range":{"start_line":50,"start_character":25,"end_line":50,"end_character":26},"in_reply_to":"3f110f78_215e7cb8","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":58,"context_line":"        LOG.error(\"Column can not be added to the \u0027share_instances\u0027 table!\")"},{"line_number":59,"context_line":"        raise"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    connection \u003d op.get_bind()"},{"line_number":62,"context_line":"    quota_classes_table \u003d utils.load_table(\u0027quota_classes\u0027, connection)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    try:"},{"line_number":65,"context_line":"        op.bulk_insert"},{"line_number":66,"context_line":"        (quota_classes_table,"},{"line_number":67,"context_line":"         [{\u0027created_at\u0027: timeutils.utcnow(),"},{"line_number":68,"context_line":"           \u0027class_name\u0027: \u0027default\u0027,"},{"line_number":69,"context_line":"           \u0027resource\u0027: \u0027encryption_keys\u0027,"},{"line_number":70,"context_line":"           \u0027hard_limit\u0027: 100,"},{"line_number":71,"context_line":"           \u0027deleted\u0027: False, }])"},{"line_number":72,"context_line":"    except Exception:"},{"line_number":73,"context_line":"        LOG.error(\"Default encryption_keys row not inserted \""},{"line_number":74,"context_line":"                  \"into the quota_classes.\")"},{"line_number":75,"context_line":"        raise"},{"line_number":76,"context_line":"    try:"},{"line_number":77,"context_line":"        op.create_table("},{"line_number":78,"context_line":"            encryption_refs_table,"}],"source_content_type":"text/x-python","patch_set":54,"id":"02bbdda3_38ab92ed","line":75,"range":{"start_line":61,"start_character":0,"end_line":75,"end_character":13},"updated":"2025-08-25 05:07:35.000000000","message":"Continuing https://review.opendev.org/c/openstack/manila/+/911089/comment/3f847927_3ba5b5f9/ here:\n\nWhen we introduce a new quota, there\u0027s no need to set a default via data migrations; if a quota doesn\u0027t exist - the hard limit comes from configuration, it isn\u0027t assumed to be 0.","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        LOG.error(\"Column can not be added to the \u0027share_instances\u0027 table!\")"},{"line_number":59,"context_line":"        raise"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    connection \u003d op.get_bind()"},{"line_number":62,"context_line":"    quota_classes_table \u003d utils.load_table(\u0027quota_classes\u0027, connection)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    try:"},{"line_number":65,"context_line":"        op.bulk_insert"},{"line_number":66,"context_line":"        (quota_classes_table,"},{"line_number":67,"context_line":"         [{\u0027created_at\u0027: timeutils.utcnow(),"},{"line_number":68,"context_line":"           \u0027class_name\u0027: \u0027default\u0027,"},{"line_number":69,"context_line":"           \u0027resource\u0027: \u0027encryption_keys\u0027,"},{"line_number":70,"context_line":"           \u0027hard_limit\u0027: 100,"},{"line_number":71,"context_line":"           \u0027deleted\u0027: False, }])"},{"line_number":72,"context_line":"    except Exception:"},{"line_number":73,"context_line":"        LOG.error(\"Default encryption_keys row not inserted \""},{"line_number":74,"context_line":"                  \"into the quota_classes.\")"},{"line_number":75,"context_line":"        raise"},{"line_number":76,"context_line":"    try:"},{"line_number":77,"context_line":"        op.create_table("},{"line_number":78,"context_line":"            encryption_refs_table,"}],"source_content_type":"text/x-python","patch_set":54,"id":"71027f14_a8f8be9f","line":75,"range":{"start_line":61,"start_character":0,"end_line":75,"end_character":13},"in_reply_to":"02bbdda3_38ab92ed","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4988dbdf386b3e3d774a796e0dcd8ec01d816214","unresolved":true,"context_lines":[{"line_number":58,"context_line":"        LOG.error(\"Column can not be added to the \u0027share_instances\u0027 table!\")"},{"line_number":59,"context_line":"        raise"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    connection \u003d op.get_bind()"},{"line_number":62,"context_line":"    quota_classes_table \u003d utils.load_table(\u0027quota_classes\u0027, connection)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    try:"},{"line_number":65,"context_line":"        op.bulk_insert"},{"line_number":66,"context_line":"        (quota_classes_table,"},{"line_number":67,"context_line":"         [{\u0027created_at\u0027: timeutils.utcnow(),"},{"line_number":68,"context_line":"           \u0027class_name\u0027: \u0027default\u0027,"},{"line_number":69,"context_line":"           \u0027resource\u0027: \u0027encryption_keys\u0027,"},{"line_number":70,"context_line":"           \u0027hard_limit\u0027: 100,"},{"line_number":71,"context_line":"           \u0027deleted\u0027: False, }])"},{"line_number":72,"context_line":"    except Exception:"},{"line_number":73,"context_line":"        LOG.error(\"Default encryption_keys row not inserted \""},{"line_number":74,"context_line":"                  \"into the quota_classes.\")"},{"line_number":75,"context_line":"        raise"},{"line_number":76,"context_line":"    try:"},{"line_number":77,"context_line":"        op.create_table("},{"line_number":78,"context_line":"            encryption_refs_table,"}],"source_content_type":"text/x-python","patch_set":54,"id":"74b8e839_85ab53c8","line":75,"range":{"start_line":61,"start_character":0,"end_line":75,"end_character":13},"in_reply_to":"71027f14_a8f8be9f","updated":"2025-08-27 00:10:32.000000000","message":"Hey Kiran, \n\nThere\u0027s no need to insert anything into the quota_classes table, please delete this","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc1e367de5808adb642ee52374c30ba062bba37a","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        LOG.error(\"Column can not be added to the \u0027share_instances\u0027 table!\")"},{"line_number":59,"context_line":"        raise"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    connection \u003d op.get_bind()"},{"line_number":62,"context_line":"    quota_classes_table \u003d utils.load_table(\u0027quota_classes\u0027, connection)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    try:"},{"line_number":65,"context_line":"        op.bulk_insert"},{"line_number":66,"context_line":"        (quota_classes_table,"},{"line_number":67,"context_line":"         [{\u0027created_at\u0027: timeutils.utcnow(),"},{"line_number":68,"context_line":"           \u0027class_name\u0027: \u0027default\u0027,"},{"line_number":69,"context_line":"           \u0027resource\u0027: \u0027encryption_keys\u0027,"},{"line_number":70,"context_line":"           \u0027hard_limit\u0027: 100,"},{"line_number":71,"context_line":"           \u0027deleted\u0027: False, }])"},{"line_number":72,"context_line":"    except Exception:"},{"line_number":73,"context_line":"        LOG.error(\"Default encryption_keys row not inserted \""},{"line_number":74,"context_line":"                  \"into the quota_classes.\")"},{"line_number":75,"context_line":"        raise"},{"line_number":76,"context_line":"    try:"},{"line_number":77,"context_line":"        op.create_table("},{"line_number":78,"context_line":"            encryption_refs_table,"}],"source_content_type":"text/x-python","patch_set":54,"id":"a648a4d6_d2cd73c1","line":75,"range":{"start_line":61,"start_character":0,"end_line":75,"end_character":13},"in_reply_to":"74b8e839_85ab53c8","updated":"2025-08-27 07:37:31.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":84,"context_line":"            sa.Column(\u0027encryption_key_ref\u0027, sa.String(36), nullable\u003dTrue),"},{"line_number":85,"context_line":"            sa.Column(\u0027project_id\u0027, sa.String(length\u003d255), nullable\u003dFalse),"},{"line_number":86,"context_line":"            sa.Column(\u0027deleted\u0027, sa.String(36), default\u003d\u0027False\u0027),"},{"line_number":87,"context_line":"            sa.Column(\u0027created_at\u0027, sa.DateTime, nullable\u003dTrue),"},{"line_number":88,"context_line":"            sa.Column(\u0027updated_at\u0027, sa.DateTime, nullable\u003dTrue),"},{"line_number":89,"context_line":"            sa.Column(\u0027deleted_at\u0027, sa.DateTime, nullable\u003dTrue),"},{"line_number":90,"context_line":"            mysql_engine\u003d\u0027InnoDB\u0027,"}],"source_content_type":"text/x-python","patch_set":54,"id":"daeeab2b_f4b2a1f6","line":87,"range":{"start_line":87,"start_character":36,"end_line":87,"end_character":47},"updated":"2025-08-25 05:07:35.000000000","message":"please set \"fsp\" (precision) for mysql:\n\nhttps://opendev.org/openstack/manila/src/commit/d49fbdc9b798df19bc84960a55f4a0956a7c0fc6/manila/db/migrations/alembic/versions/1e2d600bf972_add_transfers.py#L35-L36","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            sa.Column(\u0027encryption_key_ref\u0027, sa.String(36), nullable\u003dTrue),"},{"line_number":85,"context_line":"            sa.Column(\u0027project_id\u0027, sa.String(length\u003d255), nullable\u003dFalse),"},{"line_number":86,"context_line":"            sa.Column(\u0027deleted\u0027, sa.String(36), default\u003d\u0027False\u0027),"},{"line_number":87,"context_line":"            sa.Column(\u0027created_at\u0027, sa.DateTime, nullable\u003dTrue),"},{"line_number":88,"context_line":"            sa.Column(\u0027updated_at\u0027, sa.DateTime, nullable\u003dTrue),"},{"line_number":89,"context_line":"            sa.Column(\u0027deleted_at\u0027, sa.DateTime, nullable\u003dTrue),"},{"line_number":90,"context_line":"            mysql_engine\u003d\u0027InnoDB\u0027,"}],"source_content_type":"text/x-python","patch_set":54,"id":"251671cc_c3351f68","line":87,"range":{"start_line":87,"start_character":36,"end_line":87,"end_character":47},"in_reply_to":"daeeab2b_f4b2a1f6","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4988dbdf386b3e3d774a796e0dcd8ec01d816214","unresolved":true,"context_lines":[{"line_number":68,"context_line":"    connection \u003d op.get_bind()"},{"line_number":69,"context_line":"    quota_classes_table \u003d utils.load_table(\u0027quota_classes\u0027, connection)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    try:"},{"line_number":72,"context_line":"        op.bulk_insert"},{"line_number":73,"context_line":"        (quota_classes_table,"},{"line_number":74,"context_line":"         [{\u0027created_at\u0027: timeutils.utcnow(),"},{"line_number":75,"context_line":"           \u0027class_name\u0027: \u0027default\u0027,"},{"line_number":76,"context_line":"           \u0027resource\u0027: \u0027encryption_keys\u0027,"},{"line_number":77,"context_line":"           \u0027deleted\u0027: False, }])"},{"line_number":78,"context_line":"    except Exception:"},{"line_number":79,"context_line":"        LOG.error(\"Default encryption_keys row not inserted \""},{"line_number":80,"context_line":"                  \"into the quota_classes.\")"},{"line_number":81,"context_line":"        raise"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    context \u003d op.get_context()"},{"line_number":84,"context_line":"    mysql_dl \u003d context.bind.dialect.name \u003d\u003d \u0027mysql\u0027"}],"source_content_type":"text/x-python","patch_set":58,"id":"694f4c8b_939607bd","line":81,"range":{"start_line":71,"start_character":4,"end_line":81,"end_character":13},"updated":"2025-08-27 00:10:32.000000000","message":"There;s no need for this; please remove.","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc1e367de5808adb642ee52374c30ba062bba37a","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    connection \u003d op.get_bind()"},{"line_number":69,"context_line":"    quota_classes_table \u003d utils.load_table(\u0027quota_classes\u0027, connection)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    try:"},{"line_number":72,"context_line":"        op.bulk_insert"},{"line_number":73,"context_line":"        (quota_classes_table,"},{"line_number":74,"context_line":"         [{\u0027created_at\u0027: timeutils.utcnow(),"},{"line_number":75,"context_line":"           \u0027class_name\u0027: \u0027default\u0027,"},{"line_number":76,"context_line":"           \u0027resource\u0027: \u0027encryption_keys\u0027,"},{"line_number":77,"context_line":"           \u0027deleted\u0027: False, }])"},{"line_number":78,"context_line":"    except Exception:"},{"line_number":79,"context_line":"        LOG.error(\"Default encryption_keys row not inserted \""},{"line_number":80,"context_line":"                  \"into the quota_classes.\")"},{"line_number":81,"context_line":"        raise"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    context \u003d op.get_context()"},{"line_number":84,"context_line":"    mysql_dl \u003d context.bind.dialect.name \u003d\u003d \u0027mysql\u0027"}],"source_content_type":"text/x-python","patch_set":58,"id":"cf4e9eab_933823c5","line":81,"range":{"start_line":71,"start_character":4,"end_line":81,"end_character":13},"in_reply_to":"694f4c8b_939607bd","updated":"2025-08-27 07:37:31.000000000","message":"Done","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"}],"manila/db/sqlalchemy/api.py":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"e15e611811cfa8e8cdbb51c3fc26faaa354711eb","unresolved":true,"context_lines":[{"line_number":1627,"context_line":"        \u0027status\u0027, \u0027host\u0027, \u0027scheduled_at\u0027, \u0027launched_at\u0027, \u0027terminated_at\u0027,"},{"line_number":1628,"context_line":"        \u0027share_server_id\u0027, \u0027share_network_id\u0027, \u0027availability_zone_id\u0027,"},{"line_number":1629,"context_line":"        \u0027replica_state\u0027, \u0027share_type_id\u0027, \u0027share_type\u0027, \u0027access_rules_status\u0027,"},{"line_number":1630,"context_line":"        \u0027mount_point_name\u0027, \u0027encryption_key_ref\u0027"},{"line_number":1631,"context_line":"    ]"},{"line_number":1632,"context_line":"    share_instance_values, share_values \u003d ("},{"line_number":1633,"context_line":"        _extract_subdict_by_fields(values, share_instance_model_fields)"}],"source_content_type":"text/x-python","patch_set":24,"id":"b9898a3b_ae2b5609","line":1630,"range":{"start_line":1630,"start_character":27,"end_line":1630,"end_character":48},"updated":"2025-04-24 10:17:59.000000000","message":"This should not be here","commit_id":"41016e4f901d5e4854baad34bdacc7e9aaff9f03"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"f926f68524b8e108a5b708e4cef9ec55baaabbfd","unresolved":false,"context_lines":[{"line_number":1627,"context_line":"        \u0027status\u0027, \u0027host\u0027, \u0027scheduled_at\u0027, \u0027launched_at\u0027, \u0027terminated_at\u0027,"},{"line_number":1628,"context_line":"        \u0027share_server_id\u0027, \u0027share_network_id\u0027, \u0027availability_zone_id\u0027,"},{"line_number":1629,"context_line":"        \u0027replica_state\u0027, \u0027share_type_id\u0027, \u0027share_type\u0027, \u0027access_rules_status\u0027,"},{"line_number":1630,"context_line":"        \u0027mount_point_name\u0027, \u0027encryption_key_ref\u0027"},{"line_number":1631,"context_line":"    ]"},{"line_number":1632,"context_line":"    share_instance_values, share_values \u003d ("},{"line_number":1633,"context_line":"        _extract_subdict_by_fields(values, share_instance_model_fields)"}],"source_content_type":"text/x-python","patch_set":24,"id":"8b5252e7_3f62a84f","line":1630,"range":{"start_line":1630,"start_character":27,"end_line":1630,"end_character":48},"in_reply_to":"b9898a3b_ae2b5609","updated":"2025-04-24 12:58:08.000000000","message":"Done","commit_id":"41016e4f901d5e4854baad34bdacc7e9aaff9f03"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":5429,"context_line":"            encryption_key_ref\u003dencryption_key_ref,"},{"line_number":5430,"context_line":"            project_id\u003dcontext.project_id,"},{"line_number":5431,"context_line":"        )"},{"line_number":5432,"context_line":"        server_ref.encryption_ref_entry \u003d encryption_ref"},{"line_number":5433,"context_line":""},{"line_number":5434,"context_line":"    server_ref.save(session\u003dcontext.session)"},{"line_number":5435,"context_line":""}],"source_content_type":"text/x-python","patch_set":41,"id":"deff2e40_73c413a6","line":5432,"range":{"start_line":5432,"start_character":42,"end_line":5432,"end_character":56},"updated":"2025-07-01 21:22:55.000000000","message":"isn\u0027t this an object? shouldn\u0027t this only be the ID?","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":5429,"context_line":"            encryption_key_ref\u003dencryption_key_ref,"},{"line_number":5430,"context_line":"            project_id\u003dcontext.project_id,"},{"line_number":5431,"context_line":"        )"},{"line_number":5432,"context_line":"        server_ref.encryption_ref_entry \u003d encryption_ref"},{"line_number":5433,"context_line":""},{"line_number":5434,"context_line":"    server_ref.save(session\u003dcontext.session)"},{"line_number":5435,"context_line":""}],"source_content_type":"text/x-python","patch_set":41,"id":"d52251d3_95b13695","line":5432,"range":{"start_line":5432,"start_character":19,"end_line":5432,"end_character":39},"updated":"2025-07-01 21:22:55.000000000","message":"where does this match to the share server\u0027s encryption_key_ref?","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"be2ee52572795337b4a86ea8dabdd9ee3ab2c762","unresolved":true,"context_lines":[{"line_number":5429,"context_line":"            encryption_key_ref\u003dencryption_key_ref,"},{"line_number":5430,"context_line":"            project_id\u003dcontext.project_id,"},{"line_number":5431,"context_line":"        )"},{"line_number":5432,"context_line":"        server_ref.encryption_ref_entry \u003d encryption_ref"},{"line_number":5433,"context_line":""},{"line_number":5434,"context_line":"    server_ref.save(session\u003dcontext.session)"},{"line_number":5435,"context_line":""}],"source_content_type":"text/x-python","patch_set":41,"id":"89937272_1e2dee60","line":5432,"range":{"start_line":5432,"start_character":19,"end_line":5432,"end_character":39},"in_reply_to":"0886b097_cdc562a0","updated":"2025-08-06 13:40:18.000000000","message":"I missed the detail that you named the backref as `encryption_ref_entry`, that\u0027s why I asked","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"be2ee52572795337b4a86ea8dabdd9ee3ab2c762","unresolved":true,"context_lines":[{"line_number":5429,"context_line":"            encryption_key_ref\u003dencryption_key_ref,"},{"line_number":5430,"context_line":"            project_id\u003dcontext.project_id,"},{"line_number":5431,"context_line":"        )"},{"line_number":5432,"context_line":"        server_ref.encryption_ref_entry \u003d encryption_ref"},{"line_number":5433,"context_line":""},{"line_number":5434,"context_line":"    server_ref.save(session\u003dcontext.session)"},{"line_number":5435,"context_line":""}],"source_content_type":"text/x-python","patch_set":41,"id":"93fe6d8a_fb9e9966","line":5432,"range":{"start_line":5432,"start_character":42,"end_line":5432,"end_character":56},"in_reply_to":"24f2a3ac_2c61a539","updated":"2025-08-06 13:40:18.000000000","message":"I was thinking of it being an ID because it would have the reference of the key in Barbican","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"42d773f1f9c85b40ca2ab77d8efea6f1ced1619f","unresolved":false,"context_lines":[{"line_number":5429,"context_line":"            encryption_key_ref\u003dencryption_key_ref,"},{"line_number":5430,"context_line":"            project_id\u003dcontext.project_id,"},{"line_number":5431,"context_line":"        )"},{"line_number":5432,"context_line":"        server_ref.encryption_ref_entry \u003d encryption_ref"},{"line_number":5433,"context_line":""},{"line_number":5434,"context_line":"    server_ref.save(session\u003dcontext.session)"},{"line_number":5435,"context_line":""}],"source_content_type":"text/x-python","patch_set":41,"id":"33d0af05_f49b76fe","line":5432,"range":{"start_line":5432,"start_character":19,"end_line":5432,"end_character":39},"in_reply_to":"89937272_1e2dee60","updated":"2025-08-06 15:36:50.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"42d773f1f9c85b40ca2ab77d8efea6f1ced1619f","unresolved":false,"context_lines":[{"line_number":5429,"context_line":"            encryption_key_ref\u003dencryption_key_ref,"},{"line_number":5430,"context_line":"            project_id\u003dcontext.project_id,"},{"line_number":5431,"context_line":"        )"},{"line_number":5432,"context_line":"        server_ref.encryption_ref_entry \u003d encryption_ref"},{"line_number":5433,"context_line":""},{"line_number":5434,"context_line":"    server_ref.save(session\u003dcontext.session)"},{"line_number":5435,"context_line":""}],"source_content_type":"text/x-python","patch_set":41,"id":"6528c59b_3ce684d8","line":5432,"range":{"start_line":5432,"start_character":42,"end_line":5432,"end_character":56},"in_reply_to":"93fe6d8a_fb9e9966","updated":"2025-08-06 15:36:50.000000000","message":"Acknowledged","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":true,"context_lines":[{"line_number":5429,"context_line":"            encryption_key_ref\u003dencryption_key_ref,"},{"line_number":5430,"context_line":"            project_id\u003dcontext.project_id,"},{"line_number":5431,"context_line":"        )"},{"line_number":5432,"context_line":"        server_ref.encryption_ref_entry \u003d encryption_ref"},{"line_number":5433,"context_line":""},{"line_number":5434,"context_line":"    server_ref.save(session\u003dcontext.session)"},{"line_number":5435,"context_line":""}],"source_content_type":"text/x-python","patch_set":41,"id":"0886b097_cdc562a0","line":5432,"range":{"start_line":5432,"start_character":19,"end_line":5432,"end_character":39},"in_reply_to":"d52251d3_95b13695","updated":"2025-07-03 17:59:12.000000000","message":"why it needs to match ? it save operation, when share server is created, if encryption_key_ref is present we also create encryption object and save both in db.","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":true,"context_lines":[{"line_number":5429,"context_line":"            encryption_key_ref\u003dencryption_key_ref,"},{"line_number":5430,"context_line":"            project_id\u003dcontext.project_id,"},{"line_number":5431,"context_line":"        )"},{"line_number":5432,"context_line":"        server_ref.encryption_ref_entry \u003d encryption_ref"},{"line_number":5433,"context_line":""},{"line_number":5434,"context_line":"    server_ref.save(session\u003dcontext.session)"},{"line_number":5435,"context_line":""}],"source_content_type":"text/x-python","patch_set":41,"id":"24f2a3ac_2c61a539","line":5432,"range":{"start_line":5432,"start_character":42,"end_line":5432,"end_character":56},"in_reply_to":"deff2e40_73c413a6","updated":"2025-07-03 17:59:12.000000000","message":"this is backref, so should take model/table and not id. Why you think this should be ID. Please elaborate.","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":1627,"context_line":"        \u0027status\u0027, \u0027host\u0027, \u0027scheduled_at\u0027, \u0027launched_at\u0027, \u0027terminated_at\u0027,"},{"line_number":1628,"context_line":"        \u0027share_server_id\u0027, \u0027share_network_id\u0027, \u0027availability_zone_id\u0027,"},{"line_number":1629,"context_line":"        \u0027replica_state\u0027, \u0027share_type_id\u0027, \u0027share_type\u0027, \u0027access_rules_status\u0027,"},{"line_number":1630,"context_line":"        \u0027mount_point_name\u0027, \u0027encryption_key_ref\u0027"},{"line_number":1631,"context_line":"    ]"},{"line_number":1632,"context_line":"    share_instance_values, share_values \u003d ("},{"line_number":1633,"context_line":"        _extract_subdict_by_fields(values, share_instance_model_fields)"}],"source_content_type":"text/x-python","patch_set":54,"id":"c4268c52_ce1123f3","line":1630,"range":{"start_line":1630,"start_character":47,"end_line":1630,"end_character":48},"updated":"2025-08-25 05:07:35.000000000","message":"trailing comma","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":1627,"context_line":"        \u0027status\u0027, \u0027host\u0027, \u0027scheduled_at\u0027, \u0027launched_at\u0027, \u0027terminated_at\u0027,"},{"line_number":1628,"context_line":"        \u0027share_server_id\u0027, \u0027share_network_id\u0027, \u0027availability_zone_id\u0027,"},{"line_number":1629,"context_line":"        \u0027replica_state\u0027, \u0027share_type_id\u0027, \u0027share_type\u0027, \u0027access_rules_status\u0027,"},{"line_number":1630,"context_line":"        \u0027mount_point_name\u0027, \u0027encryption_key_ref\u0027"},{"line_number":1631,"context_line":"    ]"},{"line_number":1632,"context_line":"    share_instance_values, share_values \u003d ("},{"line_number":1633,"context_line":"        _extract_subdict_by_fields(values, share_instance_model_fields)"}],"source_content_type":"text/x-python","patch_set":54,"id":"b5fbc3a7_ff69c26f","line":1630,"range":{"start_line":1630,"start_character":47,"end_line":1630,"end_character":48},"in_reply_to":"c4268c52_ce1123f3","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"}],"manila/db/sqlalchemy/models.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":1129,"context_line":"    share_replicas_migration_support \u003d Column("},{"line_number":1130,"context_line":"        Boolean, nullable\u003dFalse, default\u003dFalse)"},{"line_number":1131,"context_line":"    encryption_key_ref \u003d Column(String(36), nullable\u003dTrue, unique\u003dTrue)"},{"line_number":1132,"context_line":"    app_cred_id \u003d Column(String(36), nullable\u003dTrue)"},{"line_number":1133,"context_line":"    status \u003d Column(Enum("},{"line_number":1134,"context_line":"        constants.STATUS_INACTIVE, constants.STATUS_ACTIVE,"},{"line_number":1135,"context_line":"        constants.STATUS_ERROR, constants.STATUS_DELETING,"}],"source_content_type":"text/x-python","patch_set":41,"id":"a703b3c9_86737ba4","line":1132,"range":{"start_line":1132,"start_character":4,"end_line":1132,"end_character":15},"updated":"2025-07-01 21:22:55.000000000","message":"can we name this more suggestively?","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":true,"context_lines":[{"line_number":1129,"context_line":"    share_replicas_migration_support \u003d Column("},{"line_number":1130,"context_line":"        Boolean, nullable\u003dFalse, default\u003dFalse)"},{"line_number":1131,"context_line":"    encryption_key_ref \u003d Column(String(36), nullable\u003dTrue, unique\u003dTrue)"},{"line_number":1132,"context_line":"    app_cred_id \u003d Column(String(36), nullable\u003dTrue)"},{"line_number":1133,"context_line":"    status \u003d Column(Enum("},{"line_number":1134,"context_line":"        constants.STATUS_INACTIVE, constants.STATUS_ACTIVE,"},{"line_number":1135,"context_line":"        constants.STATUS_ERROR, constants.STATUS_DELETING,"}],"source_content_type":"text/x-python","patch_set":41,"id":"fa72be6c_c54d1731","line":1132,"range":{"start_line":1132,"start_character":4,"end_line":1132,"end_character":15},"in_reply_to":"a703b3c9_86737ba4","updated":"2025-07-03 17:59:12.000000000","message":"same as above, I can change to application_cred_id. But app_cred_id seems short and simple.","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":1129,"context_line":"    share_replicas_migration_support \u003d Column("},{"line_number":1130,"context_line":"        Boolean, nullable\u003dFalse, default\u003dFalse)"},{"line_number":1131,"context_line":"    encryption_key_ref \u003d Column(String(36), nullable\u003dTrue, unique\u003dTrue)"},{"line_number":1132,"context_line":"    app_cred_id \u003d Column(String(36), nullable\u003dTrue)"},{"line_number":1133,"context_line":"    status \u003d Column(Enum("},{"line_number":1134,"context_line":"        constants.STATUS_INACTIVE, constants.STATUS_ACTIVE,"},{"line_number":1135,"context_line":"        constants.STATUS_ERROR, constants.STATUS_DELETING,"}],"source_content_type":"text/x-python","patch_set":41,"id":"a30a9015_50d767a0","line":1132,"range":{"start_line":1132,"start_character":4,"end_line":1132,"end_character":15},"in_reply_to":"c443c732_d566e031","updated":"2025-08-06 10:19:45.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bf2499cb79a4eeeceaaf2ccb274a1083792659de","unresolved":true,"context_lines":[{"line_number":1129,"context_line":"    share_replicas_migration_support \u003d Column("},{"line_number":1130,"context_line":"        Boolean, nullable\u003dFalse, default\u003dFalse)"},{"line_number":1131,"context_line":"    encryption_key_ref \u003d Column(String(36), nullable\u003dTrue, unique\u003dTrue)"},{"line_number":1132,"context_line":"    app_cred_id \u003d Column(String(36), nullable\u003dTrue)"},{"line_number":1133,"context_line":"    status \u003d Column(Enum("},{"line_number":1134,"context_line":"        constants.STATUS_INACTIVE, constants.STATUS_ACTIVE,"},{"line_number":1135,"context_line":"        constants.STATUS_ERROR, constants.STATUS_DELETING,"}],"source_content_type":"text/x-python","patch_set":41,"id":"c443c732_d566e031","line":1132,"range":{"start_line":1132,"start_character":4,"end_line":1132,"end_character":15},"in_reply_to":"fa72be6c_c54d1731","updated":"2025-08-06 05:42:19.000000000","message":"\"application_credential_id\" is definitely better, and consistent. I don\u0027t see barbican and other projects abbreviate this","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":386,"context_line":"    scheduled_at \u003d Column(DateTime)"},{"line_number":387,"context_line":"    launched_at \u003d Column(DateTime)"},{"line_number":388,"context_line":"    terminated_at \u003d Column(DateTime)"},{"line_number":389,"context_line":"    encryption_key_ref \u003d Column(String(36), nullable\u003dTrue)"},{"line_number":390,"context_line":"    replica_state \u003d Column(String(255), nullable\u003dTrue)"},{"line_number":391,"context_line":"    cast_rules_to_readonly \u003d Column(Boolean, default\u003dFalse, nullable\u003dFalse)"},{"line_number":392,"context_line":"    share_type_id \u003d Column(String(36), ForeignKey(\u0027share_types.id\u0027),"}],"source_content_type":"text/x-python","patch_set":54,"id":"1d01a1ce_8621cae6","line":389,"range":{"start_line":389,"start_character":4,"end_line":389,"end_character":58},"updated":"2025-08-25 05:07:35.000000000","message":"This should be a foreign key reference to the encryption ref table\u0027s ID.. and not a duplication of the encryption_ref which is stored as an entry into the encryption refs table","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":386,"context_line":"    scheduled_at \u003d Column(DateTime)"},{"line_number":387,"context_line":"    launched_at \u003d Column(DateTime)"},{"line_number":388,"context_line":"    terminated_at \u003d Column(DateTime)"},{"line_number":389,"context_line":"    encryption_key_ref \u003d Column(String(36), nullable\u003dTrue)"},{"line_number":390,"context_line":"    replica_state \u003d Column(String(255), nullable\u003dTrue)"},{"line_number":391,"context_line":"    cast_rules_to_readonly \u003d Column(Boolean, default\u003dFalse, nullable\u003dFalse)"},{"line_number":392,"context_line":"    share_type_id \u003d Column(String(36), ForeignKey(\u0027share_types.id\u0027),"}],"source_content_type":"text/x-python","patch_set":54,"id":"9c7e287c_b192975a","line":389,"range":{"start_line":389,"start_character":4,"end_line":389,"end_character":58},"in_reply_to":"1d01a1ce_8621cae6","updated":"2025-08-25 12:44:23.000000000","message":"the encryption_key_ref refers to server_id from share_server table. this creates circular dependancy.","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":1133,"context_line":"        Boolean, nullable\u003dFalse, default\u003dFalse)"},{"line_number":1134,"context_line":"    share_replicas_migration_support \u003d Column("},{"line_number":1135,"context_line":"        Boolean, nullable\u003dFalse, default\u003dFalse)"},{"line_number":1136,"context_line":"    encryption_key_ref \u003d Column(String(36), nullable\u003dTrue)"},{"line_number":1137,"context_line":"    application_credential_id \u003d Column(String(36), nullable\u003dTrue)"},{"line_number":1138,"context_line":"    status \u003d Column(Enum("},{"line_number":1139,"context_line":"        constants.STATUS_INACTIVE, constants.STATUS_ACTIVE,"}],"source_content_type":"text/x-python","patch_set":54,"id":"dab09aac_461bbd11","line":1136,"range":{"start_line":1136,"start_character":4,"end_line":1136,"end_character":58},"updated":"2025-08-25 05:07:35.000000000","message":"This should be a foreign key reference to the encryption ref table\u0027s ID.. and not a duplication of the encryption_ref which is stored as an entry into the encryption refs table","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":1133,"context_line":"        Boolean, nullable\u003dFalse, default\u003dFalse)"},{"line_number":1134,"context_line":"    share_replicas_migration_support \u003d Column("},{"line_number":1135,"context_line":"        Boolean, nullable\u003dFalse, default\u003dFalse)"},{"line_number":1136,"context_line":"    encryption_key_ref \u003d Column(String(36), nullable\u003dTrue)"},{"line_number":1137,"context_line":"    application_credential_id \u003d Column(String(36), nullable\u003dTrue)"},{"line_number":1138,"context_line":"    status \u003d Column(Enum("},{"line_number":1139,"context_line":"        constants.STATUS_INACTIVE, constants.STATUS_ACTIVE,"}],"source_content_type":"text/x-python","patch_set":54,"id":"18accb43_fe130e2a","line":1136,"range":{"start_line":1136,"start_character":4,"end_line":1136,"end_character":58},"in_reply_to":"dab09aac_461bbd11","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":1215,"context_line":"    share_server \u003d orm.relationship("},{"line_number":1216,"context_line":"        ShareServer,"},{"line_number":1217,"context_line":"        backref\u003dorm.backref("},{"line_number":1218,"context_line":"            \u0027server_encryption_ref_entry\u0027, lazy\u003d\u0027immediate\u0027, uselist\u003dFalse),"},{"line_number":1219,"context_line":"        foreign_keys\u003dshare_server_id,"},{"line_number":1220,"context_line":"        primaryjoin\u003d\u0027and_(\u0027"},{"line_number":1221,"context_line":"        \u0027EncryptionRef.share_server_id \u003d\u003d ShareServer.id,\u0027"}],"source_content_type":"text/x-python","patch_set":54,"id":"0c0e5d4b_7ac21e66","line":1218,"range":{"start_line":1218,"start_character":43,"end_line":1218,"end_character":59},"updated":"2025-08-25 05:07:35.000000000","message":"lazy\u003dselectin would do i think over here, or \"joined\" if you always want to load the encryption ref table\u0027s entry each time you load a share server.. \n\nthe deal with \"immediate\" is that if you load a bunch of share servers (\"share_server_get_all* queries), \"immediate\" causes a separate query to the EncryptionRefs table for each share server - hugely inefficient, when batch loading is better\n\nhttps://docs.sqlalchemy.org/en/20/orm/relationship_api.html#sqlalchemy.orm.relationship.params.lazy","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":1215,"context_line":"    share_server \u003d orm.relationship("},{"line_number":1216,"context_line":"        ShareServer,"},{"line_number":1217,"context_line":"        backref\u003dorm.backref("},{"line_number":1218,"context_line":"            \u0027server_encryption_ref_entry\u0027, lazy\u003d\u0027immediate\u0027, uselist\u003dFalse),"},{"line_number":1219,"context_line":"        foreign_keys\u003dshare_server_id,"},{"line_number":1220,"context_line":"        primaryjoin\u003d\u0027and_(\u0027"},{"line_number":1221,"context_line":"        \u0027EncryptionRef.share_server_id \u003d\u003d ShareServer.id,\u0027"}],"source_content_type":"text/x-python","patch_set":54,"id":"4806554b_6c389a30","line":1218,"range":{"start_line":1218,"start_character":43,"end_line":1218,"end_character":59},"in_reply_to":"0c0e5d4b_7ac21e66","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":1218,"context_line":"            \u0027server_encryption_ref_entry\u0027, lazy\u003d\u0027immediate\u0027, uselist\u003dFalse),"},{"line_number":1219,"context_line":"        foreign_keys\u003dshare_server_id,"},{"line_number":1220,"context_line":"        primaryjoin\u003d\u0027and_(\u0027"},{"line_number":1221,"context_line":"        \u0027EncryptionRef.share_server_id \u003d\u003d ShareServer.id,\u0027"},{"line_number":1222,"context_line":"        \u0027EncryptionRef.deleted \u003d\u003d \"False\")\u0027"},{"line_number":1223,"context_line":"    )"},{"line_number":1224,"context_line":""},{"line_number":1225,"context_line":"    share_instance \u003d orm.relationship("}],"source_content_type":"text/x-python","patch_set":54,"id":"79d3d09d_d578344d","line":1222,"range":{"start_line":1221,"start_character":9,"end_line":1222,"end_character":41},"updated":"2025-08-25 05:07:35.000000000","message":"having these strings here is a bit weird when the columns are referable easily?\n\n```\n(share_server_id \u003d\u003d ShareServer.id, deleted \u003d\u003d \n\u0027False\u0027)\n```","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":1218,"context_line":"            \u0027server_encryption_ref_entry\u0027, lazy\u003d\u0027immediate\u0027, uselist\u003dFalse),"},{"line_number":1219,"context_line":"        foreign_keys\u003dshare_server_id,"},{"line_number":1220,"context_line":"        primaryjoin\u003d\u0027and_(\u0027"},{"line_number":1221,"context_line":"        \u0027EncryptionRef.share_server_id \u003d\u003d ShareServer.id,\u0027"},{"line_number":1222,"context_line":"        \u0027EncryptionRef.deleted \u003d\u003d \"False\")\u0027"},{"line_number":1223,"context_line":"    )"},{"line_number":1224,"context_line":""},{"line_number":1225,"context_line":"    share_instance \u003d orm.relationship("}],"source_content_type":"text/x-python","patch_set":54,"id":"6e617611_d8cb2b46","line":1222,"range":{"start_line":1221,"start_character":9,"end_line":1222,"end_character":41},"in_reply_to":"79d3d09d_d578344d","updated":"2025-08-25 12:44:23.000000000","message":"This does not work, I see reference of table on most places i same file.\n\nError - sqlalchemy.exc.InvalidRequestError: One or more mappers failed to initialize - can\u0027t proceed with initialization of other mappers. Triggering mapper: \u0027Mapper[EncryptionRef(encryption_refs)]\u0027. Original exception was: When initializing mapper Mapper[EncryptionRef(encryption_refs)], expression \u0027and_(share_server_id \u003d\u003d ShareServer.id, deleted \u003d\u003d \"False\")\u0027 failed to locate a name (\"name \u0027share_server_id\u0027 is not defined\"). If this is a class name, consider adding this relationship() to the \u003cclass \u0027manila.db.sqlalchemy.models.EncryptionRef\u0027\u003e class after both dependent classes have been defined.","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":1225,"context_line":"    share_instance \u003d orm.relationship("},{"line_number":1226,"context_line":"        ShareInstance,"},{"line_number":1227,"context_line":"        backref\u003dorm.backref("},{"line_number":1228,"context_line":"            \u0027instance_encryption_ref_entry\u0027, lazy\u003d\u0027immediate\u0027, uselist\u003dFalse),"},{"line_number":1229,"context_line":"        foreign_keys\u003dshare_instance_id,"},{"line_number":1230,"context_line":"        primaryjoin\u003d\u0027and_(\u0027"},{"line_number":1231,"context_line":"        \u0027EncryptionRef.share_instance_id \u003d\u003d ShareInstance.id,\u0027"}],"source_content_type":"text/x-python","patch_set":54,"id":"3f5cc56b_e584f9dd","line":1228,"range":{"start_line":1228,"start_character":50,"end_line":1228,"end_character":61},"updated":"2025-08-25 05:07:35.000000000","message":"same issue","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":1225,"context_line":"    share_instance \u003d orm.relationship("},{"line_number":1226,"context_line":"        ShareInstance,"},{"line_number":1227,"context_line":"        backref\u003dorm.backref("},{"line_number":1228,"context_line":"            \u0027instance_encryption_ref_entry\u0027, lazy\u003d\u0027immediate\u0027, uselist\u003dFalse),"},{"line_number":1229,"context_line":"        foreign_keys\u003dshare_instance_id,"},{"line_number":1230,"context_line":"        primaryjoin\u003d\u0027and_(\u0027"},{"line_number":1231,"context_line":"        \u0027EncryptionRef.share_instance_id \u003d\u003d ShareInstance.id,\u0027"}],"source_content_type":"text/x-python","patch_set":54,"id":"8dd0e5be_384f84ab","line":1228,"range":{"start_line":1228,"start_character":50,"end_line":1228,"end_character":61},"in_reply_to":"3f5cc56b_e584f9dd","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":1228,"context_line":"            \u0027instance_encryption_ref_entry\u0027, lazy\u003d\u0027immediate\u0027, uselist\u003dFalse),"},{"line_number":1229,"context_line":"        foreign_keys\u003dshare_instance_id,"},{"line_number":1230,"context_line":"        primaryjoin\u003d\u0027and_(\u0027"},{"line_number":1231,"context_line":"        \u0027EncryptionRef.share_instance_id \u003d\u003d ShareInstance.id,\u0027"},{"line_number":1232,"context_line":"        \u0027EncryptionRef.deleted \u003d\u003d \"False\")\u0027"},{"line_number":1233,"context_line":"    )"},{"line_number":1234,"context_line":""},{"line_number":1235,"context_line":""}],"source_content_type":"text/x-python","patch_set":54,"id":"873fb371_682e929e","line":1232,"range":{"start_line":1231,"start_character":8,"end_line":1232,"end_character":43},"updated":"2025-08-25 05:07:35.000000000","message":"```\n(share_instance_id \u003d\u003d ShareInstance.id,\n                         deleted \u003d\u003d \u0027False\u0027)\n```","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":1228,"context_line":"            \u0027instance_encryption_ref_entry\u0027, lazy\u003d\u0027immediate\u0027, uselist\u003dFalse),"},{"line_number":1229,"context_line":"        foreign_keys\u003dshare_instance_id,"},{"line_number":1230,"context_line":"        primaryjoin\u003d\u0027and_(\u0027"},{"line_number":1231,"context_line":"        \u0027EncryptionRef.share_instance_id \u003d\u003d ShareInstance.id,\u0027"},{"line_number":1232,"context_line":"        \u0027EncryptionRef.deleted \u003d\u003d \"False\")\u0027"},{"line_number":1233,"context_line":"    )"},{"line_number":1234,"context_line":""},{"line_number":1235,"context_line":""}],"source_content_type":"text/x-python","patch_set":54,"id":"104efbf9_34fb6228","line":1232,"range":{"start_line":1231,"start_character":8,"end_line":1232,"end_character":43},"in_reply_to":"873fb371_682e929e","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"}],"manila/exception.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":789,"context_line":""},{"line_number":790,"context_line":""},{"line_number":791,"context_line":"class ManilaBarbicanACLError(ManilaException):"},{"line_number":792,"context_line":"    message \u003d _(\"Error occured while dealing with barbican for secrets.\")"},{"line_number":793,"context_line":""},{"line_number":794,"context_line":""},{"line_number":795,"context_line":"class ManilaBarbicanAppCredsError(ManilaException):"}],"source_content_type":"text/x-python","patch_set":41,"id":"6e7242e7_8770c815","line":792,"range":{"start_line":792,"start_character":16,"end_line":792,"end_character":72},"updated":"2025-07-01 21:22:55.000000000","message":"```suggestion\n    message \u003d _(\"Failed while communicating to Barbican. Please check the provided credentials.\")\n```","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":789,"context_line":""},{"line_number":790,"context_line":""},{"line_number":791,"context_line":"class ManilaBarbicanACLError(ManilaException):"},{"line_number":792,"context_line":"    message \u003d _(\"Error occured while dealing with barbican for secrets.\")"},{"line_number":793,"context_line":""},{"line_number":794,"context_line":""},{"line_number":795,"context_line":"class ManilaBarbicanAppCredsError(ManilaException):"}],"source_content_type":"text/x-python","patch_set":41,"id":"f5a62711_d4b35bbd","line":792,"range":{"start_line":792,"start_character":16,"end_line":792,"end_character":72},"in_reply_to":"6e7242e7_8770c815","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":793,"context_line":""},{"line_number":794,"context_line":""},{"line_number":795,"context_line":"class ManilaBarbicanAppCredsError(ManilaException):"},{"line_number":796,"context_line":"    message \u003d _(\"Error occured while dealing with barbican for App Creds.\")"},{"line_number":797,"context_line":""},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"class ShareGroupTypeCreateFailed(ManilaException):"}],"source_content_type":"text/x-python","patch_set":41,"id":"52582089_9c2080db","line":796,"range":{"start_line":796,"start_character":17,"end_line":796,"end_character":73},"updated":"2025-07-01 21:22:55.000000000","message":"```suggestion\n    message \u003d _(\"Failed to fetch Barbican application credentials.\")\n```","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":793,"context_line":""},{"line_number":794,"context_line":""},{"line_number":795,"context_line":"class ManilaBarbicanAppCredsError(ManilaException):"},{"line_number":796,"context_line":"    message \u003d _(\"Error occured while dealing with barbican for App Creds.\")"},{"line_number":797,"context_line":""},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"class ShareGroupTypeCreateFailed(ManilaException):"}],"source_content_type":"text/x-python","patch_set":41,"id":"b713f26c_63751f75","line":796,"range":{"start_line":796,"start_character":17,"end_line":796,"end_character":73},"in_reply_to":"52582089_9c2080db","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"}],"manila/keymgr/__init__.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":54,"id":"a0d3b91c_1bc30ee3","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":1},"updated":"2025-08-25 05:07:35.000000000","message":"please drop; not part of the Apache v2 license.","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"52848aa606137463339c6642a9baf64fb443b310","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":54,"id":"9dc124b9_98c53be6","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":1},"in_reply_to":"9a753442_d7ac705a","updated":"2025-08-25 18:20:08.000000000","message":"I meant, just drop the \"\"\" # All Rights Reserved \"\"\" line, please add the Apache v2 license back.","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"5b2710021be4931e5334b74d49ee1a37b777f1d2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":54,"id":"21128740_01c82213","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":1},"in_reply_to":"9dc124b9_98c53be6","updated":"2025-08-26 06:21:54.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"5b2710021be4931e5334b74d49ee1a37b777f1d2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":54,"id":"355b481e_91caf76a","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":1},"in_reply_to":"9dc124b9_98c53be6","updated":"2025-08-26 06:21:54.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":54,"id":"9a753442_d7ac705a","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":1},"in_reply_to":"a0d3b91c_1bc30ee3","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"}],"manila/keymgr/barbican.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":43,"context_line":"        backend \u003d self.conf.key_manager.backend or \u0027\u0027"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        backend \u003d backend.split(\u0027.\u0027)[-1]"},{"line_number":46,"context_line":"        if backend !\u003d \u0027barbican\u0027:"},{"line_number":47,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":48,"context_line":"                        \" use barbican key_manager backend.\", backend)"},{"line_number":49,"context_line":"            raise exception.ManilaBarbicanACLError()"}],"source_content_type":"text/x-python","patch_set":41,"id":"68cb0f67_415692f1","line":46,"range":{"start_line":46,"start_character":11,"end_line":46,"end_character":32},"updated":"2025-07-01 21:22:55.000000000","message":"```suggestion\n        if backend !\u003d \u0027barbican\u0027 and backend !\u003d \u0027BarbicanKeyManager\u0027:\n```","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":true,"context_lines":[{"line_number":43,"context_line":"        backend \u003d self.conf.key_manager.backend or \u0027\u0027"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        backend \u003d backend.split(\u0027.\u0027)[-1]"},{"line_number":46,"context_line":"        if backend !\u003d \u0027barbican\u0027:"},{"line_number":47,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":48,"context_line":"                        \" use barbican key_manager backend.\", backend)"},{"line_number":49,"context_line":"            raise exception.ManilaBarbicanACLError()"}],"source_content_type":"text/x-python","patch_set":41,"id":"ec598a54_c62d9849","line":46,"range":{"start_line":46,"start_character":11,"end_line":46,"end_character":32},"in_reply_to":"68cb0f67_415692f1","updated":"2025-07-03 17:59:12.000000000","message":"how can we have two backend and should be using both ? So far so good, we need only barbican as backend and not BarbicanKeyManager.","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"42d773f1f9c85b40ca2ab77d8efea6f1ced1619f","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        backend \u003d self.conf.key_manager.backend or \u0027\u0027"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        backend \u003d backend.split(\u0027.\u0027)[-1]"},{"line_number":46,"context_line":"        if backend !\u003d \u0027barbican\u0027:"},{"line_number":47,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":48,"context_line":"                        \" use barbican key_manager backend.\", backend)"},{"line_number":49,"context_line":"            raise exception.ManilaBarbicanACLError()"}],"source_content_type":"text/x-python","patch_set":41,"id":"6b744403_e97c86f8","line":46,"range":{"start_line":46,"start_character":11,"end_line":46,"end_character":32},"in_reply_to":"b7804e25_7c60ae34","updated":"2025-08-06 15:36:50.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"be2ee52572795337b4a86ea8dabdd9ee3ab2c762","unresolved":true,"context_lines":[{"line_number":43,"context_line":"        backend \u003d self.conf.key_manager.backend or \u0027\u0027"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        backend \u003d backend.split(\u0027.\u0027)[-1]"},{"line_number":46,"context_line":"        if backend !\u003d \u0027barbican\u0027:"},{"line_number":47,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":48,"context_line":"                        \" use barbican key_manager backend.\", backend)"},{"line_number":49,"context_line":"            raise exception.ManilaBarbicanACLError()"}],"source_content_type":"text/x-python","patch_set":41,"id":"b7804e25_7c60ae34","line":46,"range":{"start_line":46,"start_character":11,"end_line":46,"end_character":32},"in_reply_to":"ec598a54_c62d9849","updated":"2025-08-06 13:40:18.000000000","message":"that is incorrect\nApparently, you can have barbican named in two different ways, even if it is barbican itself: https://opendev.org/openstack/cinder/src/branch/master/cinder/keymgr/migration.py#L65\n\nThat is why I asked, I did the research and found different ways that barbican can be named. Please update this","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":45,"context_line":"        backend \u003d backend.split(\u0027.\u0027)[-1]"},{"line_number":46,"context_line":"        if backend !\u003d \u0027barbican\u0027:"},{"line_number":47,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":48,"context_line":"                        \" use barbican key_manager backend.\", backend)"},{"line_number":49,"context_line":"            raise exception.ManilaBarbicanACLError()"},{"line_number":50,"context_line":"        else:"},{"line_number":51,"context_line":"            if not self.conf.barbican.auth_endpoint:"}],"source_content_type":"text/x-python","patch_set":41,"id":"7ad6c255_ac43ff6b","line":48,"range":{"start_line":48,"start_character":30,"end_line":48,"end_character":58},"updated":"2025-07-01 21:22:55.000000000","message":"```suggestion\n                        \" barbican as key_manager.\", backend)\n```","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        backend \u003d backend.split(\u0027.\u0027)[-1]"},{"line_number":46,"context_line":"        if backend !\u003d \u0027barbican\u0027:"},{"line_number":47,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":48,"context_line":"                        \" use barbican key_manager backend.\", backend)"},{"line_number":49,"context_line":"            raise exception.ManilaBarbicanACLError()"},{"line_number":50,"context_line":"        else:"},{"line_number":51,"context_line":"            if not self.conf.barbican.auth_endpoint:"}],"source_content_type":"text/x-python","patch_set":41,"id":"b81ed296_6c03dfc3","line":48,"range":{"start_line":48,"start_character":30,"end_line":48,"end_character":58},"in_reply_to":"7ad6c255_ac43ff6b","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":49,"context_line":"            raise exception.ManilaBarbicanACLError()"},{"line_number":50,"context_line":"        else:"},{"line_number":51,"context_line":"            if not self.conf.barbican.auth_endpoint:"},{"line_number":52,"context_line":"                LOG.warning(\"Missing auth_endpoint for barbican connection\")"},{"line_number":53,"context_line":"                raise exception.ManilaBarbicanACLError()"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        if not secret_ref:"}],"source_content_type":"text/x-python","patch_set":41,"id":"167e3a9a_37d70b15","line":52,"range":{"start_line":52,"start_character":20,"end_line":52,"end_character":27},"updated":"2025-07-01 21:22:55.000000000","message":"error","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            raise exception.ManilaBarbicanACLError()"},{"line_number":50,"context_line":"        else:"},{"line_number":51,"context_line":"            if not self.conf.barbican.auth_endpoint:"},{"line_number":52,"context_line":"                LOG.warning(\"Missing auth_endpoint for barbican connection\")"},{"line_number":53,"context_line":"                raise exception.ManilaBarbicanACLError()"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        if not secret_ref:"}],"source_content_type":"text/x-python","patch_set":41,"id":"40bca07a_274a8653","line":52,"range":{"start_line":52,"start_character":20,"end_line":52,"end_character":27},"in_reply_to":"167e3a9a_37d70b15","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":53,"context_line":"                raise exception.ManilaBarbicanACLError()"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        if not secret_ref:"},{"line_number":56,"context_line":"            LOG.warning(\"Missing secret_ref provided in current user context.\")"},{"line_number":57,"context_line":"            raise exception.ManilaBarbicanACLError()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        # Establish a Barbican client session of current user and keystone"}],"source_content_type":"text/x-python","patch_set":41,"id":"041112a8_b20d01fa","line":56,"range":{"start_line":56,"start_character":16,"end_line":56,"end_character":23},"updated":"2025-07-01 21:22:55.000000000","message":"error","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":53,"context_line":"                raise exception.ManilaBarbicanACLError()"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        if not secret_ref:"},{"line_number":56,"context_line":"            LOG.warning(\"Missing secret_ref provided in current user context.\")"},{"line_number":57,"context_line":"            raise exception.ManilaBarbicanACLError()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        # Establish a Barbican client session of current user and keystone"}],"source_content_type":"text/x-python","patch_set":41,"id":"f5e0caaa_e4c73147","line":56,"range":{"start_line":56,"start_character":16,"end_line":56,"end_character":23},"in_reply_to":"041112a8_b20d01fa","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":60,"context_line":"        # session of barbican user to get its user_id. Grant ACL to barbican"},{"line_number":61,"context_line":"        # user that it will be used for the key_ref handover process."},{"line_number":62,"context_line":"        try:"},{"line_number":63,"context_line":"            c_auth \u003d ks_identity.V3Token("},{"line_number":64,"context_line":"                auth_url\u003dself.conf.barbican.auth_endpoint,"},{"line_number":65,"context_line":"                token\u003dcontext.auth_token,"},{"line_number":66,"context_line":"                project_id\u003dcontext.project_id)"}],"source_content_type":"text/x-python","patch_set":41,"id":"e7ec958a_d07775d9","line":63,"range":{"start_line":63,"start_character":12,"end_line":63,"end_character":18},"updated":"2025-07-01 21:22:55.000000000","message":"please name this more descriptively","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        # session of barbican user to get its user_id. Grant ACL to barbican"},{"line_number":61,"context_line":"        # user that it will be used for the key_ref handover process."},{"line_number":62,"context_line":"        try:"},{"line_number":63,"context_line":"            c_auth \u003d ks_identity.V3Token("},{"line_number":64,"context_line":"                auth_url\u003dself.conf.barbican.auth_endpoint,"},{"line_number":65,"context_line":"                token\u003dcontext.auth_token,"},{"line_number":66,"context_line":"                project_id\u003dcontext.project_id)"}],"source_content_type":"text/x-python","patch_set":41,"id":"f409cebe_ce2a561b","line":63,"range":{"start_line":63,"start_character":12,"end_line":63,"end_character":18},"in_reply_to":"e7ec958a_d07775d9","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":64,"context_line":"                auth_url\u003dself.conf.barbican.auth_endpoint,"},{"line_number":65,"context_line":"                token\u003dcontext.auth_token,"},{"line_number":66,"context_line":"                project_id\u003dcontext.project_id)"},{"line_number":67,"context_line":"            c_sess \u003d ks_session.Session(auth\u003dc_auth)"},{"line_number":68,"context_line":"            c_barbican_client \u003d barbican_client.Client(session\u003dc_sess)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"            if uuidutils.is_uuid_like(secret_ref):"}],"source_content_type":"text/x-python","patch_set":41,"id":"6775a696_6d3acc6c","line":67,"range":{"start_line":67,"start_character":12,"end_line":67,"end_character":18},"updated":"2025-07-01 21:22:55.000000000","message":"same as above","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                auth_url\u003dself.conf.barbican.auth_endpoint,"},{"line_number":65,"context_line":"                token\u003dcontext.auth_token,"},{"line_number":66,"context_line":"                project_id\u003dcontext.project_id)"},{"line_number":67,"context_line":"            c_sess \u003d ks_session.Session(auth\u003dc_auth)"},{"line_number":68,"context_line":"            c_barbican_client \u003d barbican_client.Client(session\u003dc_sess)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"            if uuidutils.is_uuid_like(secret_ref):"}],"source_content_type":"text/x-python","patch_set":41,"id":"3eac062d_463c9a91","line":67,"range":{"start_line":67,"start_character":12,"end_line":67,"end_character":18},"in_reply_to":"6775a696_6d3acc6c","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":86,"context_line":"            c_barbican_client, secret_href \u003d self.get_client_and_href("},{"line_number":87,"context_line":"                context, secret_ref)"},{"line_number":88,"context_line":"            ks_loading.register_auth_conf_options(self.conf, BARBICAN_GROUP)"},{"line_number":89,"context_line":"            b_auth \u003d ks_loading.load_auth_from_conf_options(self.conf,"},{"line_number":90,"context_line":"                                                            BARBICAN_GROUP)"},{"line_number":91,"context_line":"            b_sess \u003d ks_session.Session(auth\u003db_auth)"},{"line_number":92,"context_line":"            b_ks_client \u003d ks_client.Client(session\u003db_sess)"}],"source_content_type":"text/x-python","patch_set":41,"id":"7f5a1f12_c3fb3530","line":89,"range":{"start_line":89,"start_character":12,"end_line":89,"end_character":18},"updated":"2025-07-01 21:22:55.000000000","message":"please name variables more descriptively","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            c_barbican_client, secret_href \u003d self.get_client_and_href("},{"line_number":87,"context_line":"                context, secret_ref)"},{"line_number":88,"context_line":"            ks_loading.register_auth_conf_options(self.conf, BARBICAN_GROUP)"},{"line_number":89,"context_line":"            b_auth \u003d ks_loading.load_auth_from_conf_options(self.conf,"},{"line_number":90,"context_line":"                                                            BARBICAN_GROUP)"},{"line_number":91,"context_line":"            b_sess \u003d ks_session.Session(auth\u003db_auth)"},{"line_number":92,"context_line":"            b_ks_client \u003d ks_client.Client(session\u003db_sess)"}],"source_content_type":"text/x-python","patch_set":41,"id":"f4811e9e_ec96e8a1","line":89,"range":{"start_line":89,"start_character":12,"end_line":89,"end_character":18},"in_reply_to":"7f5a1f12_c3fb3530","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":175,"context_line":"        backend \u003d self.conf.key_manager.backend or \u0027\u0027"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        backend \u003d backend.split(\u0027.\u0027)[-1]"},{"line_number":178,"context_line":"        if backend !\u003d \u0027barbican\u0027:"},{"line_number":179,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":180,"context_line":"                        \" use barbican key_manager backend.\", backend)"},{"line_number":181,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":41,"id":"4342241c_f4ad11cc","line":178,"range":{"start_line":178,"start_character":11,"end_line":178,"end_character":32},"updated":"2025-07-01 21:22:55.000000000","message":"same as above, please use the two forms of checking if backend is barbican","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":true,"context_lines":[{"line_number":175,"context_line":"        backend \u003d self.conf.key_manager.backend or \u0027\u0027"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        backend \u003d backend.split(\u0027.\u0027)[-1]"},{"line_number":178,"context_line":"        if backend !\u003d \u0027barbican\u0027:"},{"line_number":179,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":180,"context_line":"                        \" use barbican key_manager backend.\", backend)"},{"line_number":181,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":41,"id":"8efc8d14_42901e5d","line":178,"range":{"start_line":178,"start_character":11,"end_line":178,"end_character":32},"in_reply_to":"4342241c_f4ad11cc","updated":"2025-07-03 17:59:12.000000000","message":"please elaborate. I am using barbican. How it will work with barbicanKeyManager. Is it for legacy ?","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"b16a876f52b3fd0ce161edc79f6373545f216821","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        backend \u003d self.conf.key_manager.backend or \u0027\u0027"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        backend \u003d backend.split(\u0027.\u0027)[-1]"},{"line_number":178,"context_line":"        if backend !\u003d \u0027barbican\u0027:"},{"line_number":179,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":180,"context_line":"                        \" use barbican key_manager backend.\", backend)"},{"line_number":181,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":41,"id":"32318129_2159b436","line":178,"range":{"start_line":178,"start_character":11,"end_line":178,"end_character":32},"in_reply_to":"8efc8d14_42901e5d","updated":"2025-08-07 09:26:27.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"344d3fd4b9eec9b00ce911fe1b3536c9d3064477","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"# a copy of the License at"}],"source_content_type":"text/x-python","patch_set":48,"id":"32d05f68_2b1084ed","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":1},"updated":"2025-08-05 20:21:15.000000000","message":"this line isn\u0027t part of the license..","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"# a copy of the License at"}],"source_content_type":"text/x-python","patch_set":48,"id":"e3d3a4b3_aba14101","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":1},"in_reply_to":"32d05f68_2b1084ed","updated":"2025-08-06 10:19:45.000000000","message":"Done","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"344d3fd4b9eec9b00ce911fe1b3536c9d3064477","unresolved":true,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import urllib"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from barbicanclient import client as barbican_client"},{"line_number":18,"context_line":"from castellan import options as castellan_options"},{"line_number":19,"context_line":"from keystoneauth1 import identity as ks_identity"},{"line_number":20,"context_line":"from keystoneauth1 import loading as ks_loading"}],"source_content_type":"text/x-python","patch_set":48,"id":"91e362eb_5a613518","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":52},"updated":"2025-08-05 20:21:15.000000000","message":"if castellan is used, you don\u0027t need barbicanclient iiuc, you can use castellan\u0027s API","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import urllib"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from barbicanclient import client as barbican_client"},{"line_number":18,"context_line":"from castellan import options as castellan_options"},{"line_number":19,"context_line":"from keystoneauth1 import identity as ks_identity"},{"line_number":20,"context_line":"from keystoneauth1 import loading as ks_loading"}],"source_content_type":"text/x-python","patch_set":48,"id":"ee99d229_3efd84da","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":52},"in_reply_to":"91e362eb_5a613518","updated":"2025-08-06 10:19:45.000000000","message":"we use castellan API to parse the config option under barbican section. While Barbicanclient is used for actual communication with barbican since we need more granular calls. Cinder also does that way.","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":39,"context_line":"    def __init__(self, conf):"},{"line_number":40,"context_line":"        self.conf \u003d conf"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def get_client_and_href(self, context, secret_ref):"},{"line_number":43,"context_line":"        castellan_options.set_defaults(self.conf)"},{"line_number":44,"context_line":"        backend \u003d self.conf.key_manager.backend or \u0027\u0027"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":54,"id":"199727c0_bb0688d4","line":42,"updated":"2025-08-25 05:07:35.000000000","message":"can you add some context here as a doc:\n\n\"\"\"Get user barbican client and a secret href\"\"\"\n\nor, call this \"get_user_barbican_client_and_secret_href\"","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    def __init__(self, conf):"},{"line_number":40,"context_line":"        self.conf \u003d conf"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def get_client_and_href(self, context, secret_ref):"},{"line_number":43,"context_line":"        castellan_options.set_defaults(self.conf)"},{"line_number":44,"context_line":"        backend \u003d self.conf.key_manager.backend or \u0027\u0027"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":54,"id":"c34a5097_594391e7","line":42,"in_reply_to":"199727c0_bb0688d4","updated":"2025-08-25 12:44:23.000000000","message":"added context as doc","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":44,"context_line":"        backend \u003d self.conf.key_manager.backend or \u0027\u0027"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        backend \u003d backend.split(\u0027.\u0027)[-1]"},{"line_number":47,"context_line":"        if backend !\u003d \u0027barbican\u0027 and backend !\u003d \u0027BarbicanKeyManager\u0027:"},{"line_number":48,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":49,"context_line":"                        \" use barbican as key_manager.\", backend)"},{"line_number":50,"context_line":"            raise exception.ManilaBarbicanACLError()"}],"source_content_type":"text/x-python","patch_set":54,"id":"3a3a6c63_531eff2e","line":47,"range":{"start_line":47,"start_character":8,"end_line":47,"end_character":68},"updated":"2025-08-25 05:07:35.000000000","message":"nit:\n\n        if backend not in (\u0027barbican\u0027, \u0027BarbicanKeyManager\u0027):","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        backend \u003d self.conf.key_manager.backend or \u0027\u0027"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        backend \u003d backend.split(\u0027.\u0027)[-1]"},{"line_number":47,"context_line":"        if backend !\u003d \u0027barbican\u0027 and backend !\u003d \u0027BarbicanKeyManager\u0027:"},{"line_number":48,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":49,"context_line":"                        \" use barbican as key_manager.\", backend)"},{"line_number":50,"context_line":"            raise exception.ManilaBarbicanACLError()"}],"source_content_type":"text/x-python","patch_set":54,"id":"f58e47c0_1e8f5eba","line":47,"range":{"start_line":47,"start_character":8,"end_line":47,"end_character":68},"in_reply_to":"3a3a6c63_531eff2e","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":48,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":49,"context_line":"                        \" use barbican as key_manager.\", backend)"},{"line_number":50,"context_line":"            raise exception.ManilaBarbicanACLError()"},{"line_number":51,"context_line":"        else:"},{"line_number":52,"context_line":"            if not self.conf.barbican.auth_endpoint:"},{"line_number":53,"context_line":"                LOG.error(\"Missing auth_endpoint for barbican connection\")"},{"line_number":54,"context_line":"                raise exception.ManilaBarbicanACLError()"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":54,"id":"ee346638_83116df6","line":52,"range":{"start_line":51,"start_character":8,"end_line":52,"end_character":12},"updated":"2025-08-25 05:07:35.000000000","message":"no need for the else here.. you want to make sure the conf.barbican section has an auth_endpoint always:\n\n```\n        if not getattr(self.conf, \u0027barbican\u0027, None) or \\\n           not getattr(self.conf.barbican, \u0027auth_endpoint\u0027, None):\n            LOG.error(\"Missing auth_endpoint for barbican connection\")\n            raise exception.ManilaBarbicanACLError()\n```","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":49,"context_line":"                        \" use barbican as key_manager.\", backend)"},{"line_number":50,"context_line":"            raise exception.ManilaBarbicanACLError()"},{"line_number":51,"context_line":"        else:"},{"line_number":52,"context_line":"            if not self.conf.barbican.auth_endpoint:"},{"line_number":53,"context_line":"                LOG.error(\"Missing auth_endpoint for barbican connection\")"},{"line_number":54,"context_line":"                raise exception.ManilaBarbicanACLError()"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":54,"id":"93c53ad2_5d1c8701","line":52,"range":{"start_line":51,"start_character":8,"end_line":52,"end_character":12},"in_reply_to":"ee346638_83116df6","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":167,"context_line":"            latest_version \u003d raw_data[-1]"},{"line_number":168,"context_line":"            api_version \u003d latest_version.get(\u0027id\u0027)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        if endpoint[-1] !\u003d \u0027/\u0027:"},{"line_number":171,"context_line":"            endpoint +\u003d \u0027/\u0027"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        base_url \u003d urllib.parse.urljoin(endpoint, api_version)"}],"source_content_type":"text/x-python","patch_set":54,"id":"5ed43c77_a60a3a82","line":170,"range":{"start_line":170,"start_character":8,"end_line":170,"end_character":30},"updated":"2025-08-25 05:07:35.000000000","message":"not a good practice to index strings like this, use \"endswith\"\n\n```\n  if not endpoint.endswith(\u0027/\u0027):\n```","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":167,"context_line":"            latest_version \u003d raw_data[-1]"},{"line_number":168,"context_line":"            api_version \u003d latest_version.get(\u0027id\u0027)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        if endpoint[-1] !\u003d \u0027/\u0027:"},{"line_number":171,"context_line":"            endpoint +\u003d \u0027/\u0027"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        base_url \u003d urllib.parse.urljoin(endpoint, api_version)"}],"source_content_type":"text/x-python","patch_set":54,"id":"2a1699cc_3d0f4ccf","line":170,"range":{"start_line":170,"start_character":8,"end_line":170,"end_character":30},"in_reply_to":"5ed43c77_a60a3a82","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":177,"context_line":"        if not object_id:"},{"line_number":178,"context_line":"            msg \u003d _(\"Key ID is None\")"},{"line_number":179,"context_line":"            raise exception.KeyManagerError(reason\u003dmsg)"},{"line_number":180,"context_line":"        if base_url[-1] !\u003d \u0027/\u0027:"},{"line_number":181,"context_line":"            base_url +\u003d \u0027/\u0027"},{"line_number":182,"context_line":"        return urllib.parse.urljoin(base_url, \"secrets/\" + object_id)"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":54,"id":"453b0627_b1a2b373","line":180,"range":{"start_line":180,"start_character":8,"end_line":180,"end_character":31},"updated":"2025-08-25 05:07:35.000000000","message":"same as above","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        if not object_id:"},{"line_number":178,"context_line":"            msg \u003d _(\"Key ID is None\")"},{"line_number":179,"context_line":"            raise exception.KeyManagerError(reason\u003dmsg)"},{"line_number":180,"context_line":"        if base_url[-1] !\u003d \u0027/\u0027:"},{"line_number":181,"context_line":"            base_url +\u003d \u0027/\u0027"},{"line_number":182,"context_line":"        return urllib.parse.urljoin(base_url, \"secrets/\" + object_id)"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":54,"id":"d3e1262f_30219c24","line":180,"range":{"start_line":180,"start_character":8,"end_line":180,"end_character":31},"in_reply_to":"453b0627_b1a2b373","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":195,"context_line":"        backend \u003d self.conf.key_manager.backend or \u0027\u0027"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        backend \u003d backend.split(\u0027.\u0027)[-1]"},{"line_number":198,"context_line":"        if backend !\u003d \u0027barbican\u0027 and backend !\u003d \u0027BarbicanKeyManager\u0027:"},{"line_number":199,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":200,"context_line":"                        \" use barbican key_manager backend.\", backend)"},{"line_number":201,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":54,"id":"6bae5f24_947aa859","line":198,"range":{"start_line":198,"start_character":0,"end_line":198,"end_character":69},"updated":"2025-08-25 05:07:35.000000000","message":"if backend not in (\u0027barbican\u0027, \u0027BarbicanKeyManager\u0027):","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        backend \u003d self.conf.key_manager.backend or \u0027\u0027"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        backend \u003d backend.split(\u0027.\u0027)[-1]"},{"line_number":198,"context_line":"        if backend !\u003d \u0027barbican\u0027 and backend !\u003d \u0027BarbicanKeyManager\u0027:"},{"line_number":199,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":200,"context_line":"                        \" use barbican key_manager backend.\", backend)"},{"line_number":201,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":54,"id":"a5939828_bac9e666","line":198,"range":{"start_line":198,"start_character":0,"end_line":198,"end_character":69},"in_reply_to":"6bae5f24_947aa859","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":198,"context_line":"        if backend !\u003d \u0027barbican\u0027 and backend !\u003d \u0027BarbicanKeyManager\u0027:"},{"line_number":199,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":200,"context_line":"                        \" use barbican key_manager backend.\", backend)"},{"line_number":201,"context_line":"        else:"},{"line_number":202,"context_line":"            if not self.conf.barbican.auth_endpoint:"},{"line_number":203,"context_line":"                LOG.error(\"Missing auth_endpoint for keystone connection\")"},{"line_number":204,"context_line":"                raise exception.ManilaBarbicanAppCredsError()"}],"source_content_type":"text/x-python","patch_set":54,"id":"66fd33af_eafc4cea","line":201,"range":{"start_line":201,"start_character":0,"end_line":201,"end_character":13},"updated":"2025-08-25 05:07:35.000000000","message":"no need for the else here.. you want to make sure the conf.barbican section has an auth_endpoint always","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        if backend !\u003d \u0027barbican\u0027 and backend !\u003d \u0027BarbicanKeyManager\u0027:"},{"line_number":199,"context_line":"            LOG.warning(\"The \u0027%s\u0027 key_manager backend is not supported. Please\""},{"line_number":200,"context_line":"                        \" use barbican key_manager backend.\", backend)"},{"line_number":201,"context_line":"        else:"},{"line_number":202,"context_line":"            if not self.conf.barbican.auth_endpoint:"},{"line_number":203,"context_line":"                LOG.error(\"Missing auth_endpoint for keystone connection\")"},{"line_number":204,"context_line":"                raise exception.ManilaBarbicanAppCredsError()"}],"source_content_type":"text/x-python","patch_set":54,"id":"f9df1b81_0e7cb996","line":201,"range":{"start_line":201,"start_character":0,"end_line":201,"end_character":13},"in_reply_to":"66fd33af_eafc4cea","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"}],"manila/quota.py":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"e15e611811cfa8e8cdbb51c3fc26faaa354711eb","unresolved":true,"context_lines":[{"line_number":113,"context_line":"               default\u003d100,"},{"line_number":114,"context_line":"               help\u003d\u0027Number of encrypted keys and so encrypted share servers \u0027"},{"line_number":115,"context_line":"                    \u0027allowed per project.\u0027,"},{"line_number":116,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027,"},{"line_number":117,"context_line":"               deprecated_name\u003d\u0027quota_server_encryption_keys\u0027), ]"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"CONF \u003d cfg.CONF"},{"line_number":120,"context_line":"CONF.register_opts(quota_opts, QUOTA_GROUP)"}],"source_content_type":"text/x-python","patch_set":24,"id":"fae9152f_96b6117d","line":117,"range":{"start_line":116,"start_character":0,"end_line":117,"end_character":62},"updated":"2025-04-24 10:17:59.000000000","message":"I think for new implementations the deprecated options are not needed.","commit_id":"41016e4f901d5e4854baad34bdacc7e9aaff9f03"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"f926f68524b8e108a5b708e4cef9ec55baaabbfd","unresolved":false,"context_lines":[{"line_number":113,"context_line":"               default\u003d100,"},{"line_number":114,"context_line":"               help\u003d\u0027Number of encrypted keys and so encrypted share servers \u0027"},{"line_number":115,"context_line":"                    \u0027allowed per project.\u0027,"},{"line_number":116,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027,"},{"line_number":117,"context_line":"               deprecated_name\u003d\u0027quota_server_encryption_keys\u0027), ]"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"CONF \u003d cfg.CONF"},{"line_number":120,"context_line":"CONF.register_opts(quota_opts, QUOTA_GROUP)"}],"source_content_type":"text/x-python","patch_set":24,"id":"dae292ef_e851fd5a","line":117,"range":{"start_line":116,"start_character":0,"end_line":117,"end_character":62},"in_reply_to":"fae9152f_96b6117d","updated":"2025-04-24 12:58:08.000000000","message":"Done","commit_id":"41016e4f901d5e4854baad34bdacc7e9aaff9f03"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":111,"context_line":"               deprecated_name\u003d\u0027quota_backup_gigabytes\u0027),"},{"line_number":112,"context_line":"    cfg.IntOpt(\u0027encryption_keys\u0027,"},{"line_number":113,"context_line":"               default\u003d100,"},{"line_number":114,"context_line":"               help\u003d\u0027Number of encrypted keys allowed per project.\u0027), ]"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"CONF \u003d cfg.CONF"},{"line_number":117,"context_line":"CONF.register_opts(quota_opts, QUOTA_GROUP)"}],"source_content_type":"text/x-python","patch_set":54,"id":"43a0428b_25e2c339","line":114,"range":{"start_line":114,"start_character":46,"end_line":114,"end_character":66},"updated":"2025-08-25 05:07:35.000000000","message":"drop \"per project\"\n\nThe quota can be applied per-user, and per-share-type too","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":111,"context_line":"               deprecated_name\u003d\u0027quota_backup_gigabytes\u0027),"},{"line_number":112,"context_line":"    cfg.IntOpt(\u0027encryption_keys\u0027,"},{"line_number":113,"context_line":"               default\u003d100,"},{"line_number":114,"context_line":"               help\u003d\u0027Number of encrypted keys allowed per project.\u0027), ]"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"CONF \u003d cfg.CONF"},{"line_number":117,"context_line":"CONF.register_opts(quota_opts, QUOTA_GROUP)"}],"source_content_type":"text/x-python","patch_set":54,"id":"52458f37_8cb6b839","line":114,"range":{"start_line":114,"start_character":31,"end_line":114,"end_character":40},"updated":"2025-08-25 05:07:35.000000000","message":"encryption","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":111,"context_line":"               deprecated_name\u003d\u0027quota_backup_gigabytes\u0027),"},{"line_number":112,"context_line":"    cfg.IntOpt(\u0027encryption_keys\u0027,"},{"line_number":113,"context_line":"               default\u003d100,"},{"line_number":114,"context_line":"               help\u003d\u0027Number of encrypted keys allowed per project.\u0027), ]"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"CONF \u003d cfg.CONF"},{"line_number":117,"context_line":"CONF.register_opts(quota_opts, QUOTA_GROUP)"}],"source_content_type":"text/x-python","patch_set":54,"id":"cded7b2e_17f13543","line":114,"range":{"start_line":114,"start_character":46,"end_line":114,"end_character":66},"in_reply_to":"43a0428b_25e2c339","updated":"2025-08-25 12:44:23.000000000","message":"this quota is per project only like few other quotas mentioned in same cfg section.","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":111,"context_line":"               deprecated_name\u003d\u0027quota_backup_gigabytes\u0027),"},{"line_number":112,"context_line":"    cfg.IntOpt(\u0027encryption_keys\u0027,"},{"line_number":113,"context_line":"               default\u003d100,"},{"line_number":114,"context_line":"               help\u003d\u0027Number of encrypted keys allowed per project.\u0027), ]"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"CONF \u003d cfg.CONF"},{"line_number":117,"context_line":"CONF.register_opts(quota_opts, QUOTA_GROUP)"}],"source_content_type":"text/x-python","patch_set":54,"id":"d780a873_0250625e","line":114,"range":{"start_line":114,"start_character":31,"end_line":114,"end_character":40},"in_reply_to":"52458f37_8cb6b839","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"}],"manila/scheduler/host_manager.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":412,"context_line":"            \u0027share_server_multiple_subnet_support\u0027, False)"},{"line_number":413,"context_line":"        self.share_replicas_migration_support \u003d capability.get("},{"line_number":414,"context_line":"            \u0027share_replicas_migration_support\u0027, False)"},{"line_number":415,"context_line":"        self.encryption_support \u003d capability.get(\u0027encryption_support\u0027)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def consume_from_share(self, share):"},{"line_number":418,"context_line":"        \"\"\"Incrementally update host state from an share.\"\"\""}],"source_content_type":"text/x-python","patch_set":41,"id":"8a8d8f3f_31e4656e","line":415,"range":{"start_line":415,"start_character":48,"end_line":415,"end_character":70},"updated":"2025-07-01 21:22:55.000000000","message":"please add a default","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"be2ee52572795337b4a86ea8dabdd9ee3ab2c762","unresolved":true,"context_lines":[{"line_number":412,"context_line":"            \u0027share_server_multiple_subnet_support\u0027, False)"},{"line_number":413,"context_line":"        self.share_replicas_migration_support \u003d capability.get("},{"line_number":414,"context_line":"            \u0027share_replicas_migration_support\u0027, False)"},{"line_number":415,"context_line":"        self.encryption_support \u003d capability.get(\u0027encryption_support\u0027)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def consume_from_share(self, share):"},{"line_number":418,"context_line":"        \"\"\"Incrementally update host state from an share.\"\"\""}],"source_content_type":"text/x-python","patch_set":41,"id":"737b6204_d0326018","line":415,"range":{"start_line":415,"start_character":48,"end_line":415,"end_character":70},"in_reply_to":"4d580d45_f0becf26","updated":"2025-08-06 13:40:18.000000000","message":"Yes, the default is none, I was just asking to force it none just to re-ensure the behavior but it\u0027s fine to leave it as is","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"42d773f1f9c85b40ca2ab77d8efea6f1ced1619f","unresolved":false,"context_lines":[{"line_number":412,"context_line":"            \u0027share_server_multiple_subnet_support\u0027, False)"},{"line_number":413,"context_line":"        self.share_replicas_migration_support \u003d capability.get("},{"line_number":414,"context_line":"            \u0027share_replicas_migration_support\u0027, False)"},{"line_number":415,"context_line":"        self.encryption_support \u003d capability.get(\u0027encryption_support\u0027)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def consume_from_share(self, share):"},{"line_number":418,"context_line":"        \"\"\"Incrementally update host state from an share.\"\"\""}],"source_content_type":"text/x-python","patch_set":41,"id":"22552497_03478cec","line":415,"range":{"start_line":415,"start_character":48,"end_line":415,"end_character":70},"in_reply_to":"737b6204_d0326018","updated":"2025-08-06 15:36:50.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":true,"context_lines":[{"line_number":412,"context_line":"            \u0027share_server_multiple_subnet_support\u0027, False)"},{"line_number":413,"context_line":"        self.share_replicas_migration_support \u003d capability.get("},{"line_number":414,"context_line":"            \u0027share_replicas_migration_support\u0027, False)"},{"line_number":415,"context_line":"        self.encryption_support \u003d capability.get(\u0027encryption_support\u0027)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def consume_from_share(self, share):"},{"line_number":418,"context_line":"        \"\"\"Incrementally update host state from an share.\"\"\""}],"source_content_type":"text/x-python","patch_set":41,"id":"4d580d45_f0becf26","line":415,"range":{"start_line":415,"start_character":48,"end_line":415,"end_character":70},"in_reply_to":"8a8d8f3f_31e4656e","updated":"2025-07-03 17:59:12.000000000","message":"Yes default is None, Calos Do you mean instead of None, it should pick either \u0027share\u0027 or \u0027share_server\u0027 as default value ? But that will change behaviour unnecessarily","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ebd15b9f6f0f614f8511dfb60de73919510db89f","unresolved":true,"context_lines":[{"line_number":412,"context_line":"            \u0027share_server_multiple_subnet_support\u0027, False)"},{"line_number":413,"context_line":"        self.share_replicas_migration_support \u003d capability.get("},{"line_number":414,"context_line":"            \u0027share_replicas_migration_support\u0027, False)"},{"line_number":415,"context_line":"        self.encryption_support \u003d capability.get(\u0027encryption_support\u0027)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def consume_from_share(self, share):"},{"line_number":418,"context_line":"        \"\"\"Incrementally update host state from an share.\"\"\""}],"source_content_type":"text/x-python","patch_set":41,"id":"12d7704b_55257ed4","line":415,"range":{"start_line":415,"start_character":48,"end_line":415,"end_character":70},"in_reply_to":"8a8d8f3f_31e4656e","updated":"2025-07-02 09:21:07.000000000","message":"default is None.","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"}],"manila/share/api.py":[{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"6bd08f82bf14391d3e62c8e03aa8e5b14f751419","unresolved":true,"context_lines":[{"line_number":501,"context_line":"                    \"create share because the share type also support \""},{"line_number":502,"context_line":"                    \"encryption specs. Use either \u0027encryption_key_id \u0027option \""},{"line_number":503,"context_line":"                    \"or share type with encryption specs.\")"},{"line_number":504,"context_line":"                raise exception.InvalidInput(message\u003dmsg)"},{"line_number":505,"context_line":""},{"line_number":506,"context_line":"            options[\u0027encryption_key_id\u0027] \u003d self._get_encryption_key_id("},{"line_number":507,"context_line":"                context,"}],"source_content_type":"text/x-python","patch_set":3,"id":"367805ac_0b6bdd4f","line":504,"range":{"start_line":504,"start_character":16,"end_line":504,"end_character":57},"updated":"2024-04-16 08:58:54.000000000","message":"raise exception.Conflict(err\u003dmsg)","commit_id":"7bb3fca644300dea747504667c54729bb73f7d43"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"6a168d6289e0d51f3874f41be26493abf761faf9","unresolved":false,"context_lines":[{"line_number":501,"context_line":"                    \"create share because the share type also support \""},{"line_number":502,"context_line":"                    \"encryption specs. Use either \u0027encryption_key_id \u0027option \""},{"line_number":503,"context_line":"                    \"or share type with encryption specs.\")"},{"line_number":504,"context_line":"                raise exception.InvalidInput(message\u003dmsg)"},{"line_number":505,"context_line":""},{"line_number":506,"context_line":"            options[\u0027encryption_key_id\u0027] \u003d self._get_encryption_key_id("},{"line_number":507,"context_line":"                context,"}],"source_content_type":"text/x-python","patch_set":3,"id":"2ce0fc64_36e8788f","line":504,"range":{"start_line":504,"start_character":16,"end_line":504,"end_character":57},"in_reply_to":"367805ac_0b6bdd4f","updated":"2024-04-17 16:44:41.000000000","message":"Done","commit_id":"7bb3fca644300dea747504667c54729bb73f7d43"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"6bd08f82bf14391d3e62c8e03aa8e5b14f751419","unresolved":true,"context_lines":[{"line_number":1039,"context_line":"            msg \u003d _(\"A share already exists with the export path specified.\")"},{"line_number":1040,"context_line":"            raise exception.InvalidShare(reason\u003dmsg)"},{"line_number":1041,"context_line":""},{"line_number":1042,"context_line":"        share_type_id \u003d share_data[\u0027share_type_id\u0027]"},{"line_number":1043,"context_line":"        share_type \u003d share_types.get_share_type(context, share_type_id)"},{"line_number":1044,"context_line":""},{"line_number":1045,"context_line":"        dhss \u003d share_types.parse_boolean_extra_spec("}],"source_content_type":"text/x-python","patch_set":3,"id":"caf7443b_9f7da7e9","line":1042,"range":{"start_line":1042,"start_character":8,"end_line":1042,"end_character":22},"updated":"2024-04-16 08:58:54.000000000","message":"if  this share type has encryption, can not be used to manage share.\nmange_snapshot same.","commit_id":"7bb3fca644300dea747504667c54729bb73f7d43"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"6a168d6289e0d51f3874f41be26493abf761faf9","unresolved":false,"context_lines":[{"line_number":1039,"context_line":"            msg \u003d _(\"A share already exists with the export path specified.\")"},{"line_number":1040,"context_line":"            raise exception.InvalidShare(reason\u003dmsg)"},{"line_number":1041,"context_line":""},{"line_number":1042,"context_line":"        share_type_id \u003d share_data[\u0027share_type_id\u0027]"},{"line_number":1043,"context_line":"        share_type \u003d share_types.get_share_type(context, share_type_id)"},{"line_number":1044,"context_line":""},{"line_number":1045,"context_line":"        dhss \u003d share_types.parse_boolean_extra_spec("}],"source_content_type":"text/x-python","patch_set":3,"id":"8f7bd0f0_4ac5b56b","line":1042,"range":{"start_line":1042,"start_character":8,"end_line":1042,"end_character":22},"in_reply_to":"caf7443b_9f7da7e9","updated":"2024-04-17 16:44:41.000000000","message":"Done","commit_id":"7bb3fca644300dea747504667c54729bb73f7d43"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"6bd08f82bf14391d3e62c8e03aa8e5b14f751419","unresolved":true,"context_lines":[{"line_number":1199,"context_line":"        return mount_point_name"},{"line_number":1200,"context_line":""},{"line_number":1201,"context_line":"    @prevent_locked_action_on_share(\u0027delete\u0027)"},{"line_number":1202,"context_line":"    def unmanage(self, context, share):"},{"line_number":1203,"context_line":"        policy.check_policy(context, \u0027share\u0027, \u0027unmanage\u0027)"},{"line_number":1204,"context_line":""},{"line_number":1205,"context_line":"        self._check_is_share_busy(share)"}],"source_content_type":"text/x-python","patch_set":3,"id":"789ecda3_9becf6b1","line":1202,"range":{"start_line":1202,"start_character":8,"end_line":1202,"end_character":17},"updated":"2024-04-16 08:58:54.000000000","message":"can not unmange share with encryption.\nunmange_snapshot same.","commit_id":"7bb3fca644300dea747504667c54729bb73f7d43"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"6a168d6289e0d51f3874f41be26493abf761faf9","unresolved":false,"context_lines":[{"line_number":1199,"context_line":"        return mount_point_name"},{"line_number":1200,"context_line":""},{"line_number":1201,"context_line":"    @prevent_locked_action_on_share(\u0027delete\u0027)"},{"line_number":1202,"context_line":"    def unmanage(self, context, share):"},{"line_number":1203,"context_line":"        policy.check_policy(context, \u0027share\u0027, \u0027unmanage\u0027)"},{"line_number":1204,"context_line":""},{"line_number":1205,"context_line":"        self._check_is_share_busy(share)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fe07c8f6_2b8e388d","line":1202,"range":{"start_line":1202,"start_character":8,"end_line":1202,"end_character":17},"in_reply_to":"789ecda3_9becf6b1","updated":"2024-04-17 16:44:41.000000000","message":"Done","commit_id":"7bb3fca644300dea747504667c54729bb73f7d43"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"0a35149546a68364d5d293008bcdc5f09039b20a","unresolved":true,"context_lines":[{"line_number":513,"context_line":"                options[\u0027encryption_key_id\u0027] \u003d encryption_key_id"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"        try:"},{"line_number":516,"context_line":"            share \u003d self.db.share_create(context, options,"},{"line_number":517,"context_line":"                                         create_share_instance\u003dFalse)"},{"line_number":518,"context_line":"            QUOTAS.commit(context, reservations, share_type_id\u003dshare_type_id)"},{"line_number":519,"context_line":"        except Exception:"},{"line_number":520,"context_line":"            with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":11,"id":"d36975e4_047e6f88","line":517,"range":{"start_line":516,"start_character":12,"end_line":517,"end_character":69},"updated":"2024-05-09 03:36:35.000000000","message":"i tested this in my env.\nhere create_share_instance\u003dFalse, So encryption_key_id is not recorded in the database share instance table.","commit_id":"b2a608bb8e8bf303ab45a3d838982fdf80580b1e"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"c7fbd2d46af05356d03fe08bf39949db873543ef","unresolved":false,"context_lines":[{"line_number":513,"context_line":"                options[\u0027encryption_key_id\u0027] \u003d encryption_key_id"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"        try:"},{"line_number":516,"context_line":"            share \u003d self.db.share_create(context, options,"},{"line_number":517,"context_line":"                                         create_share_instance\u003dFalse)"},{"line_number":518,"context_line":"            QUOTAS.commit(context, reservations, share_type_id\u003dshare_type_id)"},{"line_number":519,"context_line":"        except Exception:"},{"line_number":520,"context_line":"            with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":11,"id":"204ebd3f_c56ea94c","line":517,"range":{"start_line":516,"start_character":12,"end_line":517,"end_character":69},"in_reply_to":"d36975e4_047e6f88","updated":"2024-10-24 14:04:47.000000000","message":"Done","commit_id":"b2a608bb8e8bf303ab45a3d838982fdf80580b1e"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"0a35149546a68364d5d293008bcdc5f09039b20a","unresolved":true,"context_lines":[{"line_number":538,"context_line":"        if share_group and host is None:"},{"line_number":539,"context_line":"            host \u003d share_group[\u0027host\u0027]"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"        self.create_instance("},{"line_number":542,"context_line":"            context, share, share_network_id\u003dshare_network_id, host\u003dhost,"},{"line_number":543,"context_line":"            availability_zone\u003davailability_zone, share_group\u003dshare_group,"},{"line_number":544,"context_line":"            share_group_snapshot_member\u003dshare_group_snapshot_member,"}],"source_content_type":"text/x-python","patch_set":11,"id":"bf9a97fb_3b6d338e","line":541,"range":{"start_line":541,"start_character":8,"end_line":541,"end_character":28},"updated":"2024-05-09 03:36:35.000000000","message":"maybe you should put encryption_key_id here.","commit_id":"b2a608bb8e8bf303ab45a3d838982fdf80580b1e"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"c7fbd2d46af05356d03fe08bf39949db873543ef","unresolved":false,"context_lines":[{"line_number":538,"context_line":"        if share_group and host is None:"},{"line_number":539,"context_line":"            host \u003d share_group[\u0027host\u0027]"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"        self.create_instance("},{"line_number":542,"context_line":"            context, share, share_network_id\u003dshare_network_id, host\u003dhost,"},{"line_number":543,"context_line":"            availability_zone\u003davailability_zone, share_group\u003dshare_group,"},{"line_number":544,"context_line":"            share_group_snapshot_member\u003dshare_group_snapshot_member,"}],"source_content_type":"text/x-python","patch_set":11,"id":"cbd9374e_d7e4496e","line":541,"range":{"start_line":541,"start_character":8,"end_line":541,"end_character":28},"in_reply_to":"afaeff91_8a681e37","updated":"2024-10-24 14:04:47.000000000","message":"Done","commit_id":"b2a608bb8e8bf303ab45a3d838982fdf80580b1e"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"a312d8b5a4715b27cd4e7c624842a5d871e01570","unresolved":true,"context_lines":[{"line_number":538,"context_line":"        if share_group and host is None:"},{"line_number":539,"context_line":"            host \u003d share_group[\u0027host\u0027]"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"        self.create_instance("},{"line_number":542,"context_line":"            context, share, share_network_id\u003dshare_network_id, host\u003dhost,"},{"line_number":543,"context_line":"            availability_zone\u003davailability_zone, share_group\u003dshare_group,"},{"line_number":544,"context_line":"            share_group_snapshot_member\u003dshare_group_snapshot_member,"}],"source_content_type":"text/x-python","patch_set":11,"id":"afaeff91_8a681e37","line":541,"range":{"start_line":541,"start_character":8,"end_line":541,"end_character":28},"in_reply_to":"bf9a97fb_3b6d338e","updated":"2024-10-24 01:39:00.000000000","message":"hi, Kiran Pawar. i test in my env. create a share with encryption_key_id.\nfinally encryption_key_id not be recored in table share_instances.\nthis function self.create_instance() will create share instance in db.\nbut we didn\u0027t give encryption_key_id in paramters.","commit_id":"b2a608bb8e8bf303ab45a3d838982fdf80580b1e"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"e15e611811cfa8e8cdbb51c3fc26faaa354711eb","unresolved":true,"context_lines":[{"line_number":142,"context_line":"        self.scheduler_rpcapi \u003d scheduler_rpcapi.SchedulerAPI()"},{"line_number":143,"context_line":"        self.share_rpcapi \u003d share_rpcapi.ShareAPI()"},{"line_number":144,"context_line":"        self.access_helper \u003d access.ShareInstanceAccess(self.db, None)"},{"line_number":145,"context_line":"        self.key_manager \u003d key_manager.API(CONF)"},{"line_number":146,"context_line":"        coordination.LOCK_COORDINATOR.start()"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    # pylint: disable \u003d no-self-argument"}],"source_content_type":"text/x-python","patch_set":24,"id":"8d8d775a_d2bdbd36","line":145,"range":{"start_line":145,"start_character":7,"end_line":145,"end_character":48},"updated":"2025-04-24 10:17:59.000000000","message":"Where will this be used?","commit_id":"41016e4f901d5e4854baad34bdacc7e9aaff9f03"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"f926f68524b8e108a5b708e4cef9ec55baaabbfd","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        self.scheduler_rpcapi \u003d scheduler_rpcapi.SchedulerAPI()"},{"line_number":143,"context_line":"        self.share_rpcapi \u003d share_rpcapi.ShareAPI()"},{"line_number":144,"context_line":"        self.access_helper \u003d access.ShareInstanceAccess(self.db, None)"},{"line_number":145,"context_line":"        self.key_manager \u003d key_manager.API(CONF)"},{"line_number":146,"context_line":"        coordination.LOCK_COORDINATOR.start()"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    # pylint: disable \u003d no-self-argument"}],"source_content_type":"text/x-python","patch_set":24,"id":"264bd05c_0148da3a","line":145,"range":{"start_line":145,"start_character":7,"end_line":145,"end_character":48},"in_reply_to":"8d8d775a_d2bdbd36","updated":"2025-04-24 12:58:08.000000000","message":"was from previous patchset of share-type based implementation. Removed.","commit_id":"41016e4f901d5e4854baad34bdacc7e9aaff9f03"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"e15e611811cfa8e8cdbb51c3fc26faaa354711eb","unresolved":true,"context_lines":[{"line_number":488,"context_line":"            # Create secret_ref ACL for Barbican User"},{"line_number":489,"context_line":"            try:"},{"line_number":490,"context_line":"                key_barbican.create_secret_access(context, encryption_key_ref)"},{"line_number":491,"context_line":"                LOG.debug(\u0027Created Barbican ACL for encryption key ref.\u0027)"},{"line_number":492,"context_line":"            except exception.ManilaBarbicanACLError:"},{"line_number":493,"context_line":"                msg \u003d _(\u0027Manila was not able to create barbican ACL for \u0027"},{"line_number":494,"context_line":"                        \u0027provided encryption key reference. Please make \u0027"}],"source_content_type":"text/x-python","patch_set":24,"id":"0325cd16_55daeec2","line":491,"updated":"2025-04-24 10:17:59.000000000","message":"Please also log the value of encryption_key_ref here, makes log filtering easier","commit_id":"41016e4f901d5e4854baad34bdacc7e9aaff9f03"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"f926f68524b8e108a5b708e4cef9ec55baaabbfd","unresolved":false,"context_lines":[{"line_number":488,"context_line":"            # Create secret_ref ACL for Barbican User"},{"line_number":489,"context_line":"            try:"},{"line_number":490,"context_line":"                key_barbican.create_secret_access(context, encryption_key_ref)"},{"line_number":491,"context_line":"                LOG.debug(\u0027Created Barbican ACL for encryption key ref.\u0027)"},{"line_number":492,"context_line":"            except exception.ManilaBarbicanACLError:"},{"line_number":493,"context_line":"                msg \u003d _(\u0027Manila was not able to create barbican ACL for \u0027"},{"line_number":494,"context_line":"                        \u0027provided encryption key reference. Please make \u0027"}],"source_content_type":"text/x-python","patch_set":24,"id":"46da0e80_2c74ac68","line":491,"in_reply_to":"0325cd16_55daeec2","updated":"2025-04-24 12:58:08.000000000","message":"Done","commit_id":"41016e4f901d5e4854baad34bdacc7e9aaff9f03"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":39,"context_line":"from manila.db import base"},{"line_number":40,"context_line":"from manila import exception"},{"line_number":41,"context_line":"from manila.i18n import _"},{"line_number":42,"context_line":"from manila.keymgr import barbican as key_barbican"},{"line_number":43,"context_line":"from manila import policy"},{"line_number":44,"context_line":"from manila import quota"},{"line_number":45,"context_line":"from manila.scheduler import rpcapi as scheduler_rpcapi"}],"source_content_type":"text/x-python","patch_set":41,"id":"dc5186b5_7d52882d","line":42,"range":{"start_line":42,"start_character":38,"end_line":42,"end_character":50},"updated":"2025-07-01 21:22:55.000000000","message":"barbican_api","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":39,"context_line":"from manila.db import base"},{"line_number":40,"context_line":"from manila import exception"},{"line_number":41,"context_line":"from manila.i18n import _"},{"line_number":42,"context_line":"from manila.keymgr import barbican as key_barbican"},{"line_number":43,"context_line":"from manila import policy"},{"line_number":44,"context_line":"from manila import quota"},{"line_number":45,"context_line":"from manila.scheduler import rpcapi as scheduler_rpcapi"}],"source_content_type":"text/x-python","patch_set":41,"id":"66c5eb22_35f2c178","line":42,"range":{"start_line":42,"start_character":38,"end_line":42,"end_character":50},"in_reply_to":"dc5186b5_7d52882d","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":505,"context_line":""},{"line_number":506,"context_line":"            # Create secret_ref ACL for Barbican User"},{"line_number":507,"context_line":"            try:"},{"line_number":508,"context_line":"                key_barbican.create_secret_access(context, encryption_key_ref)"},{"line_number":509,"context_line":"                LOG.debug(\u0027Created Barbican ACL for encryption key \u0027"},{"line_number":510,"context_line":"                          \u0027reference %s.\u0027, encryption_key_ref)"},{"line_number":511,"context_line":"            except exception.ManilaBarbicanACLError:"}],"source_content_type":"text/x-python","patch_set":41,"id":"74f8f2b2_26683183","line":508,"range":{"start_line":508,"start_character":16,"end_line":508,"end_character":28},"updated":"2025-07-01 21:22:55.000000000","message":"barbican_api","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":505,"context_line":""},{"line_number":506,"context_line":"            # Create secret_ref ACL for Barbican User"},{"line_number":507,"context_line":"            try:"},{"line_number":508,"context_line":"                key_barbican.create_secret_access(context, encryption_key_ref)"},{"line_number":509,"context_line":"                LOG.debug(\u0027Created Barbican ACL for encryption key \u0027"},{"line_number":510,"context_line":"                          \u0027reference %s.\u0027, encryption_key_ref)"},{"line_number":511,"context_line":"            except exception.ManilaBarbicanACLError:"}],"source_content_type":"text/x-python","patch_set":41,"id":"d0ff77d4_bb13e3ff","line":508,"range":{"start_line":508,"start_character":16,"end_line":508,"end_character":28},"in_reply_to":"74f8f2b2_26683183","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"344d3fd4b9eec9b00ce911fe1b3536c9d3064477","unresolved":true,"context_lines":[{"line_number":484,"context_line":""},{"line_number":485,"context_line":"        if encryption_key_ref:"},{"line_number":486,"context_line":"            # Make sure we are able to retrieve UUID from secret href"},{"line_number":487,"context_line":"            try:"},{"line_number":488,"context_line":"                encryption_key_ref \u003d utils.extract_uuid_from_key_ref("},{"line_number":489,"context_line":"                    encryption_key_ref)"},{"line_number":490,"context_line":"            except Exception:"},{"line_number":491,"context_line":"                msg \u003d _(\u0027Failed to retrieve UUID from encryption key ref\u0027)"},{"line_number":492,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":"            # Get count of encryption keys for project and validate quota"},{"line_number":495,"context_line":"            is_existing_key \u003d self.db.share_server_get_all_with_filters("}],"source_content_type":"text/x-python","patch_set":48,"id":"51642bfa_16c88fd8","line":492,"range":{"start_line":487,"start_character":0,"end_line":492,"end_character":56},"updated":"2025-08-05 20:21:15.000000000","message":"as suggested, make this an optimization within the client. We\u0027ll need to have a strict enforcement of UUID type for the parameter in the API \n\nYou\u0027re not adding JSON Schema yet for this API - and that\u0027s not a hard requirement - we\u0027re actively working on adding schemas to all APIs..","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":484,"context_line":""},{"line_number":485,"context_line":"        if encryption_key_ref:"},{"line_number":486,"context_line":"            # Make sure we are able to retrieve UUID from secret href"},{"line_number":487,"context_line":"            try:"},{"line_number":488,"context_line":"                encryption_key_ref \u003d utils.extract_uuid_from_key_ref("},{"line_number":489,"context_line":"                    encryption_key_ref)"},{"line_number":490,"context_line":"            except Exception:"},{"line_number":491,"context_line":"                msg \u003d _(\u0027Failed to retrieve UUID from encryption key ref\u0027)"},{"line_number":492,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":"            # Get count of encryption keys for project and validate quota"},{"line_number":495,"context_line":"            is_existing_key \u003d self.db.share_server_get_all_with_filters("}],"source_content_type":"text/x-python","patch_set":48,"id":"7c6ad140_61e5b353","line":492,"range":{"start_line":487,"start_character":0,"end_line":492,"end_character":56},"in_reply_to":"51642bfa_16c88fd8","updated":"2025-08-06 10:19:45.000000000","message":"Done","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":488,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"            # Get count of encryption keys for project and validate quota"},{"line_number":491,"context_line":"            is_existing_key \u003d self.db.encryption_keys_get_all("},{"line_number":492,"context_line":"                context, filters\u003d{\u0027encryption_key_ref\u0027: encryption_key_ref})"},{"line_number":493,"context_line":"            if not is_existing_key:"},{"line_number":494,"context_line":"                keys_count \u003d self.db.encryption_keys_get_count(context)"},{"line_number":495,"context_line":"                quotas \u003d QUOTAS.get_project_quotas("},{"line_number":496,"context_line":"                    context, project_id\u003dcontext.project_id)"},{"line_number":497,"context_line":"                keys_limit \u003d quotas[\u0027encryption_keys\u0027][\u0027limit\u0027]"},{"line_number":498,"context_line":"                if keys_count \u003e\u003d keys_limit:"},{"line_number":499,"context_line":"                    raise exception.EncryptionKeysLimitExceeded()"},{"line_number":500,"context_line":""},{"line_number":501,"context_line":"        share \u003d None"},{"line_number":502,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":54,"id":"c34c916a_c059a5fc","line":499,"range":{"start_line":491,"start_character":0,"end_line":499,"end_character":65},"updated":"2025-08-25 05:07:35.000000000","message":"Why reimplement quota logic?\n\nYou really only need to check if this is a brand new encryption_ref by looking into the encryption_refs table *, and then use QUOTAS.reserve to do the quota enforcement, and commit when the share and share server get created. \n\nThe quotas code has logic to deal with reservations, commitments and rollback. This code here is not safe for parallelism\n\n\n* To find if a encryption key has been seen before, i would set `project_only\u003dTrue` in the query so that you\u0027ll only retrieve unique keys for a single project\n\nIf you ensure that you only put in the encryption_key\u0027s share_server_id or share_instance_id into the table when you create these resources (based on the share type\u0027s extra-spec), you\u0027ll be sure to only find unique instances when you look.","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":488,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"            # Get count of encryption keys for project and validate quota"},{"line_number":491,"context_line":"            is_existing_key \u003d self.db.encryption_keys_get_all("},{"line_number":492,"context_line":"                context, filters\u003d{\u0027encryption_key_ref\u0027: encryption_key_ref})"},{"line_number":493,"context_line":"            if not is_existing_key:"},{"line_number":494,"context_line":"                keys_count \u003d self.db.encryption_keys_get_count(context)"},{"line_number":495,"context_line":"                quotas \u003d QUOTAS.get_project_quotas("},{"line_number":496,"context_line":"                    context, project_id\u003dcontext.project_id)"},{"line_number":497,"context_line":"                keys_limit \u003d quotas[\u0027encryption_keys\u0027][\u0027limit\u0027]"},{"line_number":498,"context_line":"                if keys_count \u003e\u003d keys_limit:"},{"line_number":499,"context_line":"                    raise exception.EncryptionKeysLimitExceeded()"},{"line_number":500,"context_line":""},{"line_number":501,"context_line":"        share \u003d None"},{"line_number":502,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":54,"id":"2892fc5e_b89031da","line":499,"range":{"start_line":491,"start_character":0,"end_line":499,"end_character":65},"in_reply_to":"c34c916a_c059a5fc","updated":"2025-08-25 12:44:23.000000000","message":"for share server we are sure as of today since netapp provides compatible share server based on encryption_key_refs. But for shares I am not sure, since two shares under same project can use same encryption key ref (for drivers other than netapp), unless we will restrict share to use unique encryption key ref.\n\nFor now, I have removed quota check from api layer. No need to project_only\u003dTrue since we must fetch unique key across project as this will be project level quota and we take project from context.project_id.","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"52848aa606137463339c6642a9baf64fb443b310","unresolved":true,"context_lines":[{"line_number":488,"context_line":"                msg \u003d _(\u0027Encryption key ref is not valid UUID\u0027)"},{"line_number":489,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"            # Check if its new encyprtion_ke_ref"},{"line_number":492,"context_line":"            is_existing_key \u003d self.db.encryption_keys_get_all("},{"line_number":493,"context_line":"                context, filters\u003d{\u0027encryption_key_ref\u0027: encryption_key_ref})"},{"line_number":494,"context_line":"            if not is_existing_key:"}],"source_content_type":"text/x-python","patch_set":55,"id":"98840083_512ea701","line":491,"range":{"start_line":491,"start_character":31,"end_line":491,"end_character":48},"updated":"2025-08-25 18:20:08.000000000","message":"typo","commit_id":"0d1fa09cd7399ad2b8238903ed162ca813250d6c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"5b2710021be4931e5334b74d49ee1a37b777f1d2","unresolved":false,"context_lines":[{"line_number":488,"context_line":"                msg \u003d _(\u0027Encryption key ref is not valid UUID\u0027)"},{"line_number":489,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"            # Check if its new encyprtion_ke_ref"},{"line_number":492,"context_line":"            is_existing_key \u003d self.db.encryption_keys_get_all("},{"line_number":493,"context_line":"                context, filters\u003d{\u0027encryption_key_ref\u0027: encryption_key_ref})"},{"line_number":494,"context_line":"            if not is_existing_key:"}],"source_content_type":"text/x-python","patch_set":55,"id":"d5fe4e73_16e9586c","line":491,"range":{"start_line":491,"start_character":31,"end_line":491,"end_character":48},"in_reply_to":"98840083_512ea701","updated":"2025-08-26 06:21:54.000000000","message":"Done","commit_id":"0d1fa09cd7399ad2b8238903ed162ca813250d6c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4988dbdf386b3e3d774a796e0dcd8ec01d816214","unresolved":true,"context_lines":[{"line_number":378,"context_line":""},{"line_number":379,"context_line":"        share_type_supports_replication \u003d share_type_attributes.get("},{"line_number":380,"context_line":"            \u0027replication_type\u0027, None)"},{"line_number":381,"context_line":"        if share_type_supports_replication:"},{"line_number":382,"context_line":"            deltas.update("},{"line_number":383,"context_line":"                {\u0027share_replicas\u0027: 1, \u0027replica_gigabytes\u0027: size})"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        try:"},{"line_number":386,"context_line":"            reservations \u003d QUOTAS.reserve("}],"source_content_type":"text/x-python","patch_set":58,"id":"4f71d969_dbb80747","line":383,"range":{"start_line":381,"start_character":0,"end_line":383,"end_character":65},"updated":"2025-08-27 00:10:32.000000000","message":"why not process the reservations here, like these deltas.","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc1e367de5808adb642ee52374c30ba062bba37a","unresolved":false,"context_lines":[{"line_number":378,"context_line":""},{"line_number":379,"context_line":"        share_type_supports_replication \u003d share_type_attributes.get("},{"line_number":380,"context_line":"            \u0027replication_type\u0027, None)"},{"line_number":381,"context_line":"        if share_type_supports_replication:"},{"line_number":382,"context_line":"            deltas.update("},{"line_number":383,"context_line":"                {\u0027share_replicas\u0027: 1, \u0027replica_gigabytes\u0027: size})"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        try:"},{"line_number":386,"context_line":"            reservations \u003d QUOTAS.reserve("}],"source_content_type":"text/x-python","patch_set":58,"id":"fecca857_c45bd5fc","line":383,"range":{"start_line":381,"start_character":0,"end_line":383,"end_character":65},"in_reply_to":"4f71d969_dbb80747","updated":"2025-08-27 07:37:31.000000000","message":"Done","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e9123ef4f2440a72155907c1f248674033446164","unresolved":false,"context_lines":[{"line_number":378,"context_line":""},{"line_number":379,"context_line":"        share_type_supports_replication \u003d share_type_attributes.get("},{"line_number":380,"context_line":"            \u0027replication_type\u0027, None)"},{"line_number":381,"context_line":"        if share_type_supports_replication:"},{"line_number":382,"context_line":"            deltas.update("},{"line_number":383,"context_line":"                {\u0027share_replicas\u0027: 1, \u0027replica_gigabytes\u0027: size})"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        try:"},{"line_number":386,"context_line":"            reservations \u003d QUOTAS.reserve("}],"source_content_type":"text/x-python","patch_set":58,"id":"c9c718b1_d4d81df3","line":383,"range":{"start_line":381,"start_character":0,"end_line":383,"end_character":65},"in_reply_to":"f3fc92bd_01839cc0","updated":"2025-08-27 15:40:53.000000000","message":"Done","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"532741e74a0e7cc96bf16f7f971a8650795e9e1c","unresolved":true,"context_lines":[{"line_number":378,"context_line":""},{"line_number":379,"context_line":"        share_type_supports_replication \u003d share_type_attributes.get("},{"line_number":380,"context_line":"            \u0027replication_type\u0027, None)"},{"line_number":381,"context_line":"        if share_type_supports_replication:"},{"line_number":382,"context_line":"            deltas.update("},{"line_number":383,"context_line":"                {\u0027share_replicas\u0027: 1, \u0027replica_gigabytes\u0027: size})"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        try:"},{"line_number":386,"context_line":"            reservations \u003d QUOTAS.reserve("}],"source_content_type":"text/x-python","patch_set":58,"id":"f3fc92bd_01839cc0","line":383,"range":{"start_line":381,"start_character":0,"end_line":383,"end_character":65},"in_reply_to":"fecca857_c45bd5fc","updated":"2025-08-27 15:18:34.000000000","message":"here, right after this line:\n\n```\n        if encryption_key_ref:\n            # Make sure encryption_key_ref is valid UUID\n            if not uuidutils.is_uuid_like(encryption_key_ref):\n                msg \u003d _(\u0027Encryption key ref is not valid UUID\u0027)\n                raise exception.InvalidInput(reason\u003dmsg)\n\n            # Check if its new encryption_key_ref\n            filters \u003d {\n                \u0027encryption_key_ref\u0027: encryption_key_ref,\n                \u0027project_id\u0027: context.project_id,\n            }\n            is_existing_key \u003d self.db.encryption_keys_get_all(\n                context, filters\u003dfilters)\n            if not is_existing_key:\n                deltas.update({\u0027encryption_keys\u0027: 1})\n\n```","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4988dbdf386b3e3d774a796e0dcd8ec01d816214","unresolved":true,"context_lines":[{"line_number":386,"context_line":"            reservations \u003d QUOTAS.reserve("},{"line_number":387,"context_line":"                context, share_type_id\u003dshare_type_id, **deltas)"},{"line_number":388,"context_line":"        except exception.OverQuota as e:"},{"line_number":389,"context_line":"            self.check_if_share_quotas_exceeded(context, e, size)"},{"line_number":390,"context_line":"            if share_type_supports_replication:"},{"line_number":391,"context_line":"                self.check_if_replica_quotas_exceeded(context, e, size,"},{"line_number":392,"context_line":"                                                      resource_type\u003d\u0027share\u0027)"}],"source_content_type":"text/x-python","patch_set":58,"id":"da79c199_c4c6d23e","line":389,"range":{"start_line":389,"start_character":17,"end_line":389,"end_character":47},"updated":"2025-08-27 00:10:32.000000000","message":"and add appropriate handling to share encryption keys quota here?","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"532741e74a0e7cc96bf16f7f971a8650795e9e1c","unresolved":true,"context_lines":[{"line_number":386,"context_line":"            reservations \u003d QUOTAS.reserve("},{"line_number":387,"context_line":"                context, share_type_id\u003dshare_type_id, **deltas)"},{"line_number":388,"context_line":"        except exception.OverQuota as e:"},{"line_number":389,"context_line":"            self.check_if_share_quotas_exceeded(context, e, size)"},{"line_number":390,"context_line":"            if share_type_supports_replication:"},{"line_number":391,"context_line":"                self.check_if_replica_quotas_exceeded(context, e, size,"},{"line_number":392,"context_line":"                                                      resource_type\u003d\u0027share\u0027)"}],"source_content_type":"text/x-python","patch_set":58,"id":"57793424_0b02b885","line":389,"range":{"start_line":389,"start_character":17,"end_line":389,"end_character":47},"in_reply_to":"1b98fd9a_0263f6bd","updated":"2025-08-27 15:18:34.000000000","message":"add an if statement here to handle encryption quota overflow, or modify the \"check_if_share_quotas_exceeded\" method itself to invoke the logic in \"check_if_encryption_keys_quotas_exceeded\"","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e9123ef4f2440a72155907c1f248674033446164","unresolved":false,"context_lines":[{"line_number":386,"context_line":"            reservations \u003d QUOTAS.reserve("},{"line_number":387,"context_line":"                context, share_type_id\u003dshare_type_id, **deltas)"},{"line_number":388,"context_line":"        except exception.OverQuota as e:"},{"line_number":389,"context_line":"            self.check_if_share_quotas_exceeded(context, e, size)"},{"line_number":390,"context_line":"            if share_type_supports_replication:"},{"line_number":391,"context_line":"                self.check_if_replica_quotas_exceeded(context, e, size,"},{"line_number":392,"context_line":"                                                      resource_type\u003d\u0027share\u0027)"}],"source_content_type":"text/x-python","patch_set":58,"id":"9f36e204_1a844111","line":389,"range":{"start_line":389,"start_character":17,"end_line":389,"end_character":47},"in_reply_to":"57793424_0b02b885","updated":"2025-08-27 15:40:53.000000000","message":"Done","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc1e367de5808adb642ee52374c30ba062bba37a","unresolved":false,"context_lines":[{"line_number":386,"context_line":"            reservations \u003d QUOTAS.reserve("},{"line_number":387,"context_line":"                context, share_type_id\u003dshare_type_id, **deltas)"},{"line_number":388,"context_line":"        except exception.OverQuota as e:"},{"line_number":389,"context_line":"            self.check_if_share_quotas_exceeded(context, e, size)"},{"line_number":390,"context_line":"            if share_type_supports_replication:"},{"line_number":391,"context_line":"                self.check_if_replica_quotas_exceeded(context, e, size,"},{"line_number":392,"context_line":"                                                      resource_type\u003d\u0027share\u0027)"}],"source_content_type":"text/x-python","patch_set":58,"id":"1b98fd9a_0263f6bd","line":389,"range":{"start_line":389,"start_character":17,"end_line":389,"end_character":47},"in_reply_to":"da79c199_c4c6d23e","updated":"2025-08-27 07:37:31.000000000","message":"Done","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4988dbdf386b3e3d774a796e0dcd8ec01d816214","unresolved":true,"context_lines":[{"line_number":488,"context_line":"                msg \u003d _(\u0027Encryption key ref is not valid UUID\u0027)"},{"line_number":489,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"            # Check if its new encyprtion_key_ref"},{"line_number":492,"context_line":"            filters \u003d {"},{"line_number":493,"context_line":"                \u0027encryption_key_ref\u0027: encryption_key_ref,"},{"line_number":494,"context_line":"                \u0027project_id\u0027: context.project_id,"}],"source_content_type":"text/x-python","patch_set":58,"id":"2fa8c221_5a5e46fb","line":491,"range":{"start_line":491,"start_character":31,"end_line":491,"end_character":49},"updated":"2025-08-27 00:10:32.000000000","message":"nit: typo","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc1e367de5808adb642ee52374c30ba062bba37a","unresolved":false,"context_lines":[{"line_number":488,"context_line":"                msg \u003d _(\u0027Encryption key ref is not valid UUID\u0027)"},{"line_number":489,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"            # Check if its new encyprtion_key_ref"},{"line_number":492,"context_line":"            filters \u003d {"},{"line_number":493,"context_line":"                \u0027encryption_key_ref\u0027: encryption_key_ref,"},{"line_number":494,"context_line":"                \u0027project_id\u0027: context.project_id,"}],"source_content_type":"text/x-python","patch_set":58,"id":"4ce0e974_44711cbc","line":491,"range":{"start_line":491,"start_character":31,"end_line":491,"end_character":49},"in_reply_to":"2fa8c221_5a5e46fb","updated":"2025-08-27 07:37:31.000000000","message":"Done","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4988dbdf386b3e3d774a796e0dcd8ec01d816214","unresolved":true,"context_lines":[{"line_number":508,"context_line":"        try:"},{"line_number":509,"context_line":"            share \u003d self.db.share_create(context, options,"},{"line_number":510,"context_line":"                                         create_share_instance\u003dFalse)"},{"line_number":511,"context_line":"            QUOTAS.commit(context, reservations, share_type_id\u003dshare_type_id)"},{"line_number":512,"context_line":"        except Exception:"},{"line_number":513,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":514,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":58,"id":"d3108e5b_09b637f6","line":511,"range":{"start_line":511,"start_character":0,"end_line":511,"end_character":77},"updated":"2025-08-27 00:10:32.000000000","message":"i missed the fact that we use quota commit right here, a pessimistic approach that\u0027s totally fine.. we could follow the same pattern - i.e., all the quota deltas must be part of the reservations and committed together right here.\n\nWe can rollback in the share manager if things didn\u0027t succeed, as is the current behavior","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e9123ef4f2440a72155907c1f248674033446164","unresolved":false,"context_lines":[{"line_number":508,"context_line":"        try:"},{"line_number":509,"context_line":"            share \u003d self.db.share_create(context, options,"},{"line_number":510,"context_line":"                                         create_share_instance\u003dFalse)"},{"line_number":511,"context_line":"            QUOTAS.commit(context, reservations, share_type_id\u003dshare_type_id)"},{"line_number":512,"context_line":"        except Exception:"},{"line_number":513,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":514,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":58,"id":"93d57588_ce360b7d","line":511,"range":{"start_line":511,"start_character":0,"end_line":511,"end_character":77},"in_reply_to":"20b40428_10fb1b2b","updated":"2025-08-27 15:40:53.000000000","message":"Done","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"532741e74a0e7cc96bf16f7f971a8650795e9e1c","unresolved":true,"context_lines":[{"line_number":508,"context_line":"        try:"},{"line_number":509,"context_line":"            share \u003d self.db.share_create(context, options,"},{"line_number":510,"context_line":"                                         create_share_instance\u003dFalse)"},{"line_number":511,"context_line":"            QUOTAS.commit(context, reservations, share_type_id\u003dshare_type_id)"},{"line_number":512,"context_line":"        except Exception:"},{"line_number":513,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":514,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":58,"id":"20b40428_10fb1b2b","line":511,"range":{"start_line":511,"start_character":0,"end_line":511,"end_character":77},"in_reply_to":"d26b6afd_c6f0a5df","updated":"2025-08-27 15:18:34.000000000","message":"No need for the lines below after making the combined reservations above","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc1e367de5808adb642ee52374c30ba062bba37a","unresolved":false,"context_lines":[{"line_number":508,"context_line":"        try:"},{"line_number":509,"context_line":"            share \u003d self.db.share_create(context, options,"},{"line_number":510,"context_line":"                                         create_share_instance\u003dFalse)"},{"line_number":511,"context_line":"            QUOTAS.commit(context, reservations, share_type_id\u003dshare_type_id)"},{"line_number":512,"context_line":"        except Exception:"},{"line_number":513,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":514,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":58,"id":"d26b6afd_c6f0a5df","line":511,"range":{"start_line":511,"start_character":0,"end_line":511,"end_character":77},"in_reply_to":"d3108e5b_09b637f6","updated":"2025-08-27 07:37:31.000000000","message":"Ok, commited here.","commit_id":"0e2b075977d56b98a3f5d6e9f383ed3eee0ec146"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"532741e74a0e7cc96bf16f7f971a8650795e9e1c","unresolved":true,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        if \u0027encryption_keys\u0027 in overs:"},{"line_number":219,"context_line":"            LOG.warning(\"Quota exceeded for %(s_pid)s, tried to create share \""},{"line_number":220,"context_line":"                        \"with encryption key, (%(d_consumed)dG of \""},{"line_number":221,"context_line":"                        \"%(d_quota)dG already consumed).\", {"},{"line_number":222,"context_line":"                            \u0027s_pid\u0027: context.project_id,"},{"line_number":223,"context_line":"                            \u0027d_consumed\u0027: _consumed(\u0027encryption_keys\u0027),"}],"source_content_type":"text/x-python","patch_set":59,"id":"7fd78d91_5555da4a","line":220,"range":{"start_line":220,"start_character":60,"end_line":220,"end_character":62},"updated":"2025-08-27 15:18:34.000000000","message":"remove \"G\" - it stands for gigabytes","commit_id":"5d93570fe858f565835eb5caa439df9072665b25"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e9123ef4f2440a72155907c1f248674033446164","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        if \u0027encryption_keys\u0027 in overs:"},{"line_number":219,"context_line":"            LOG.warning(\"Quota exceeded for %(s_pid)s, tried to create share \""},{"line_number":220,"context_line":"                        \"with encryption key, (%(d_consumed)dG of \""},{"line_number":221,"context_line":"                        \"%(d_quota)dG already consumed).\", {"},{"line_number":222,"context_line":"                            \u0027s_pid\u0027: context.project_id,"},{"line_number":223,"context_line":"                            \u0027d_consumed\u0027: _consumed(\u0027encryption_keys\u0027),"}],"source_content_type":"text/x-python","patch_set":59,"id":"4b713e8f_b2bab0d3","line":220,"range":{"start_line":220,"start_character":60,"end_line":220,"end_character":62},"in_reply_to":"7fd78d91_5555da4a","updated":"2025-08-27 15:40:53.000000000","message":"Done","commit_id":"5d93570fe858f565835eb5caa439df9072665b25"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"532741e74a0e7cc96bf16f7f971a8650795e9e1c","unresolved":true,"context_lines":[{"line_number":216,"context_line":"            return (usages[name][\u0027reserved\u0027] + usages[name][\u0027in_use\u0027])"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        if \u0027encryption_keys\u0027 in overs:"},{"line_number":219,"context_line":"            LOG.warning(\"Quota exceeded for %(s_pid)s, tried to create share \""},{"line_number":220,"context_line":"                        \"with encryption key, (%(d_consumed)dG of \""},{"line_number":221,"context_line":"                        \"%(d_quota)dG already consumed).\", {"},{"line_number":222,"context_line":"                            \u0027s_pid\u0027: context.project_id,"},{"line_number":223,"context_line":"                            \u0027d_consumed\u0027: _consumed(\u0027encryption_keys\u0027),"},{"line_number":224,"context_line":"                            \u0027d_quota\u0027: quotas[\u0027encryption_keys\u0027]})"}],"source_content_type":"text/x-python","patch_set":59,"id":"e1beb895_1a4d5f7e","line":221,"range":{"start_line":219,"start_character":25,"end_line":221,"end_character":55},"updated":"2025-08-27 15:18:34.000000000","message":"```suggestion\n            LOG.warning(\"Encryption keys quota exceeded for %(s_pid)s ,\n                        \"(%(d_consumed)d of %(d_quota)d keys already \",\n                        \"consumed).\", {\n```","commit_id":"5d93570fe858f565835eb5caa439df9072665b25"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"532741e74a0e7cc96bf16f7f971a8650795e9e1c","unresolved":true,"context_lines":[{"line_number":218,"context_line":"        if \u0027encryption_keys\u0027 in overs:"},{"line_number":219,"context_line":"            LOG.warning(\"Quota exceeded for %(s_pid)s, tried to create share \""},{"line_number":220,"context_line":"                        \"with encryption key, (%(d_consumed)dG of \""},{"line_number":221,"context_line":"                        \"%(d_quota)dG already consumed).\", {"},{"line_number":222,"context_line":"                            \u0027s_pid\u0027: context.project_id,"},{"line_number":223,"context_line":"                            \u0027d_consumed\u0027: _consumed(\u0027encryption_keys\u0027),"},{"line_number":224,"context_line":"                            \u0027d_quota\u0027: quotas[\u0027encryption_keys\u0027]})"}],"source_content_type":"text/x-python","patch_set":59,"id":"3cfb48e8_23723ef6","line":221,"range":{"start_line":221,"start_character":36,"end_line":221,"end_character":37},"updated":"2025-08-27 15:18:34.000000000","message":"same","commit_id":"5d93570fe858f565835eb5caa439df9072665b25"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e9123ef4f2440a72155907c1f248674033446164","unresolved":false,"context_lines":[{"line_number":218,"context_line":"        if \u0027encryption_keys\u0027 in overs:"},{"line_number":219,"context_line":"            LOG.warning(\"Quota exceeded for %(s_pid)s, tried to create share \""},{"line_number":220,"context_line":"                        \"with encryption key, (%(d_consumed)dG of \""},{"line_number":221,"context_line":"                        \"%(d_quota)dG already consumed).\", {"},{"line_number":222,"context_line":"                            \u0027s_pid\u0027: context.project_id,"},{"line_number":223,"context_line":"                            \u0027d_consumed\u0027: _consumed(\u0027encryption_keys\u0027),"},{"line_number":224,"context_line":"                            \u0027d_quota\u0027: quotas[\u0027encryption_keys\u0027]})"}],"source_content_type":"text/x-python","patch_set":59,"id":"8526f143_78a6a2ef","line":221,"range":{"start_line":221,"start_character":36,"end_line":221,"end_character":37},"in_reply_to":"3cfb48e8_23723ef6","updated":"2025-08-27 15:40:53.000000000","message":"Done","commit_id":"5d93570fe858f565835eb5caa439df9072665b25"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e9123ef4f2440a72155907c1f248674033446164","unresolved":false,"context_lines":[{"line_number":216,"context_line":"            return (usages[name][\u0027reserved\u0027] + usages[name][\u0027in_use\u0027])"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        if \u0027encryption_keys\u0027 in overs:"},{"line_number":219,"context_line":"            LOG.warning(\"Quota exceeded for %(s_pid)s, tried to create share \""},{"line_number":220,"context_line":"                        \"with encryption key, (%(d_consumed)dG of \""},{"line_number":221,"context_line":"                        \"%(d_quota)dG already consumed).\", {"},{"line_number":222,"context_line":"                            \u0027s_pid\u0027: context.project_id,"},{"line_number":223,"context_line":"                            \u0027d_consumed\u0027: _consumed(\u0027encryption_keys\u0027),"},{"line_number":224,"context_line":"                            \u0027d_quota\u0027: quotas[\u0027encryption_keys\u0027]})"}],"source_content_type":"text/x-python","patch_set":59,"id":"c4e8007e_96e9d9a9","line":221,"range":{"start_line":219,"start_character":25,"end_line":221,"end_character":55},"in_reply_to":"e1beb895_1a4d5f7e","updated":"2025-08-27 15:40:53.000000000","message":"Done","commit_id":"5d93570fe858f565835eb5caa439df9072665b25"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"532741e74a0e7cc96bf16f7f971a8650795e9e1c","unresolved":true,"context_lines":[{"line_number":506,"context_line":"                msg \u003d _(\u0027Encryption key ref is not valid UUID\u0027)"},{"line_number":507,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":508,"context_line":""},{"line_number":509,"context_line":"            # Check if its new encryption_key_ref"},{"line_number":510,"context_line":"            filters \u003d {"},{"line_number":511,"context_line":"                \u0027encryption_key_ref\u0027: encryption_key_ref,"},{"line_number":512,"context_line":"                \u0027project_id\u0027: context.project_id,"},{"line_number":513,"context_line":"            }"},{"line_number":514,"context_line":"            is_existing_key \u003d self.db.encryption_keys_get_all("},{"line_number":515,"context_line":"                context, filters\u003dfilters)"},{"line_number":516,"context_line":"            if not is_existing_key:"},{"line_number":517,"context_line":"                try:"},{"line_number":518,"context_line":"                    # Per project quota of encryption keys"},{"line_number":519,"context_line":"                    encryption_reservations \u003d QUOTAS.reserve("},{"line_number":520,"context_line":"                        context, project_id\u003dcontext.project_id,"},{"line_number":521,"context_line":"                        encryption_keys\u003d1)"},{"line_number":522,"context_line":"                except exception.OverQuota as e:"},{"line_number":523,"context_line":"                    self.check_if_encryption_keys_quotas_exceeded(context, e)"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"        share \u003d None"},{"line_number":526,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":59,"id":"36fb795c_7df59d5f","line":523,"range":{"start_line":509,"start_character":0,"end_line":523,"end_character":77},"updated":"2025-08-27 15:18:34.000000000","message":"drop, after you make the change above","commit_id":"5d93570fe858f565835eb5caa439df9072665b25"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e9123ef4f2440a72155907c1f248674033446164","unresolved":false,"context_lines":[{"line_number":506,"context_line":"                msg \u003d _(\u0027Encryption key ref is not valid UUID\u0027)"},{"line_number":507,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":508,"context_line":""},{"line_number":509,"context_line":"            # Check if its new encryption_key_ref"},{"line_number":510,"context_line":"            filters \u003d {"},{"line_number":511,"context_line":"                \u0027encryption_key_ref\u0027: encryption_key_ref,"},{"line_number":512,"context_line":"                \u0027project_id\u0027: context.project_id,"},{"line_number":513,"context_line":"            }"},{"line_number":514,"context_line":"            is_existing_key \u003d self.db.encryption_keys_get_all("},{"line_number":515,"context_line":"                context, filters\u003dfilters)"},{"line_number":516,"context_line":"            if not is_existing_key:"},{"line_number":517,"context_line":"                try:"},{"line_number":518,"context_line":"                    # Per project quota of encryption keys"},{"line_number":519,"context_line":"                    encryption_reservations \u003d QUOTAS.reserve("},{"line_number":520,"context_line":"                        context, project_id\u003dcontext.project_id,"},{"line_number":521,"context_line":"                        encryption_keys\u003d1)"},{"line_number":522,"context_line":"                except exception.OverQuota as e:"},{"line_number":523,"context_line":"                    self.check_if_encryption_keys_quotas_exceeded(context, e)"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"        share \u003d None"},{"line_number":526,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":59,"id":"3f977361_3dabd3ea","line":523,"range":{"start_line":509,"start_character":0,"end_line":523,"end_character":77},"in_reply_to":"36fb795c_7df59d5f","updated":"2025-08-27 15:40:53.000000000","message":"Done","commit_id":"5d93570fe858f565835eb5caa439df9072665b25"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"532741e74a0e7cc96bf16f7f971a8650795e9e1c","unresolved":true,"context_lines":[{"line_number":536,"context_line":"                    if share:"},{"line_number":537,"context_line":"                        self.db.share_delete(context, share[\u0027id\u0027])"},{"line_number":538,"context_line":"                finally:"},{"line_number":539,"context_line":"                    QUOTAS.rollback("},{"line_number":540,"context_line":"                        context, reservations, share_type_id\u003dshare_type_id)"},{"line_number":541,"context_line":"                    if encryption_reservations:"},{"line_number":542,"context_line":"                        QUOTAS.rollback("},{"line_number":543,"context_line":"                            context, encryption_reservations,"}],"source_content_type":"text/x-python","patch_set":59,"id":"27b6202d_aff3e419","line":540,"range":{"start_line":539,"start_character":0,"end_line":540,"end_character":75},"updated":"2025-08-27 15:18:34.000000000","message":"rollback can be combined for all quotas","commit_id":"5d93570fe858f565835eb5caa439df9072665b25"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e9123ef4f2440a72155907c1f248674033446164","unresolved":false,"context_lines":[{"line_number":536,"context_line":"                    if share:"},{"line_number":537,"context_line":"                        self.db.share_delete(context, share[\u0027id\u0027])"},{"line_number":538,"context_line":"                finally:"},{"line_number":539,"context_line":"                    QUOTAS.rollback("},{"line_number":540,"context_line":"                        context, reservations, share_type_id\u003dshare_type_id)"},{"line_number":541,"context_line":"                    if encryption_reservations:"},{"line_number":542,"context_line":"                        QUOTAS.rollback("},{"line_number":543,"context_line":"                            context, encryption_reservations,"}],"source_content_type":"text/x-python","patch_set":59,"id":"c366ca6c_f3c275ff","line":540,"range":{"start_line":539,"start_character":0,"end_line":540,"end_character":75},"in_reply_to":"27b6202d_aff3e419","updated":"2025-08-27 15:40:53.000000000","message":"Done","commit_id":"5d93570fe858f565835eb5caa439df9072665b25"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"27743c49c9944c05d92ab250ec57eca40d0beab6","unresolved":true,"context_lines":[{"line_number":216,"context_line":"            return (usages[name][\u0027reserved\u0027] + usages[name][\u0027in_use\u0027])"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        if \u0027encryption_keys\u0027 in overs:"},{"line_number":219,"context_line":"            LOG.warning(\"Encryption keys quota exceeded for %(s_pid)s \""},{"line_number":220,"context_line":"                        \"(%(d_consumed)d of %(d_quota)d keys already \""},{"line_number":221,"context_line":"                        \"consumed).\", {"},{"line_number":222,"context_line":"                            \u0027s_pid\u0027: context.project_id,"}],"source_content_type":"text/x-python","patch_set":60,"id":"b2d9bd9f_e42d7c5e","line":219,"range":{"start_line":219,"start_character":69,"end_line":219,"end_character":70},"updated":"2025-08-27 19:34:59.000000000","message":"add a period here","commit_id":"82a94bbcec496b0c99ebf2aae3a4cfb55b644617"}],"manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py":[{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"1d2bf9a728bc63cb8729e4f7f03eaf78178ffb90","unresolved":true,"context_lines":[{"line_number":584,"context_line":"            \u0027share_server_multiple_subnet_support\u0027: True,"},{"line_number":585,"context_line":"            \u0027mount_point_name_support\u0027: True,"},{"line_number":586,"context_line":"            \u0027share_replicas_migration_support\u0027: True,"},{"line_number":587,"context_line":"            \u0027encryption_support\u0027: [\u0027share_server\u0027],"},{"line_number":588,"context_line":"        }"},{"line_number":589,"context_line":""},{"line_number":590,"context_line":"        # Add storage service catalog data."}],"source_content_type":"text/x-python","patch_set":27,"id":"954e17b9_4f477872","line":587,"updated":"2025-05-16 09:39:31.000000000","message":"This capability reflects in both DHSS\u003dTrue/False pools! But we support this feature only for DHSS\u003dTrue right ? So we should look at not populating this to DHSS\u003dFalse pools. I can check to update this when I am raising the patch from NetApp driver side changes or Kiran can update too.","commit_id":"965ae6cd5dbafee58fc1f08def31d4e97b4a6408"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"f42b56a9b8fd88ec51ba209d3f68e00a229fb051","unresolved":false,"context_lines":[{"line_number":584,"context_line":"            \u0027share_server_multiple_subnet_support\u0027: True,"},{"line_number":585,"context_line":"            \u0027mount_point_name_support\u0027: True,"},{"line_number":586,"context_line":"            \u0027share_replicas_migration_support\u0027: True,"},{"line_number":587,"context_line":"            \u0027encryption_support\u0027: [\u0027share_server\u0027],"},{"line_number":588,"context_line":"        }"},{"line_number":589,"context_line":""},{"line_number":590,"context_line":"        # Add storage service catalog data."}],"source_content_type":"text/x-python","patch_set":27,"id":"bacbe3a6_a7650028","line":587,"in_reply_to":"954e17b9_4f477872","updated":"2025-06-09 16:22:30.000000000","message":"removed netapp changes","commit_id":"965ae6cd5dbafee58fc1f08def31d4e97b4a6408"}],"manila/share/manager.py":[{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"3e5a37d061c919d026354121f89f87cf3f3371ef","unresolved":true,"context_lines":[{"line_number":4846,"context_line":"            \"Share server \u0027%s\u0027 has been deleted successfully.\","},{"line_number":4847,"context_line":"            share_server[\u0027id\u0027])"},{"line_number":4848,"context_line":""},{"line_number":4849,"context_line":"    def _create_server_encryption_keys_quota(self, context):"},{"line_number":4850,"context_line":"        reservations \u003d None"},{"line_number":4851,"context_line":"        try:"},{"line_number":4852,"context_line":"            reservations \u003d QUOTAS.reserve("}],"source_content_type":"text/x-python","patch_set":28,"id":"be417062_8a6f52cc","line":4849,"updated":"2025-05-22 17:40:40.000000000","message":"Looks like you missed to update this to \"_create_is_server_encryptions_quota\"","commit_id":"568babedc9d618e530e866b0ca4f0769b2f6cc27"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"5f98be3d629bdb7dfc1d3c5fcb93ee70affdea58","unresolved":false,"context_lines":[{"line_number":4846,"context_line":"            \"Share server \u0027%s\u0027 has been deleted successfully.\","},{"line_number":4847,"context_line":"            share_server[\u0027id\u0027])"},{"line_number":4848,"context_line":""},{"line_number":4849,"context_line":"    def _create_server_encryption_keys_quota(self, context):"},{"line_number":4850,"context_line":"        reservations \u003d None"},{"line_number":4851,"context_line":"        try:"},{"line_number":4852,"context_line":"            reservations \u003d QUOTAS.reserve("}],"source_content_type":"text/x-python","patch_set":28,"id":"5e3e361e_b766d8cd","line":4849,"in_reply_to":"be417062_8a6f52cc","updated":"2025-05-23 08:13:28.000000000","message":"Done","commit_id":"568babedc9d618e530e866b0ca4f0769b2f6cc27"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":41,"context_line":"from manila.data import rpcapi as data_rpcapi"},{"line_number":42,"context_line":"from manila import exception"},{"line_number":43,"context_line":"from manila.i18n import _"},{"line_number":44,"context_line":"from manila.keymgr import barbican as key_barbican"},{"line_number":45,"context_line":"from manila import manager"},{"line_number":46,"context_line":"from manila.message import api as message_api"},{"line_number":47,"context_line":"from manila.message import message_field"}],"source_content_type":"text/x-python","patch_set":41,"id":"8963a38d_dae4c05c","line":44,"range":{"start_line":44,"start_character":38,"end_line":44,"end_character":50},"updated":"2025-07-01 21:22:55.000000000","message":"barbican_api","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":41,"context_line":"from manila.data import rpcapi as data_rpcapi"},{"line_number":42,"context_line":"from manila import exception"},{"line_number":43,"context_line":"from manila.i18n import _"},{"line_number":44,"context_line":"from manila.keymgr import barbican as key_barbican"},{"line_number":45,"context_line":"from manila import manager"},{"line_number":46,"context_line":"from manila.message import api as message_api"},{"line_number":47,"context_line":"from manila.message import message_field"}],"source_content_type":"text/x-python","patch_set":41,"id":"e40171f2_e991a914","line":44,"range":{"start_line":44,"start_character":38,"end_line":44,"end_character":50},"updated":"2025-07-01 21:22:55.000000000","message":"barbican_api","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":41,"context_line":"from manila.data import rpcapi as data_rpcapi"},{"line_number":42,"context_line":"from manila import exception"},{"line_number":43,"context_line":"from manila.i18n import _"},{"line_number":44,"context_line":"from manila.keymgr import barbican as key_barbican"},{"line_number":45,"context_line":"from manila import manager"},{"line_number":46,"context_line":"from manila.message import api as message_api"},{"line_number":47,"context_line":"from manila.message import message_field"}],"source_content_type":"text/x-python","patch_set":41,"id":"63e95f4b_03711bfe","line":44,"range":{"start_line":44,"start_character":38,"end_line":44,"end_character":50},"in_reply_to":"8963a38d_dae4c05c","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":41,"context_line":"from manila.data import rpcapi as data_rpcapi"},{"line_number":42,"context_line":"from manila import exception"},{"line_number":43,"context_line":"from manila.i18n import _"},{"line_number":44,"context_line":"from manila.keymgr import barbican as key_barbican"},{"line_number":45,"context_line":"from manila import manager"},{"line_number":46,"context_line":"from manila.message import api as message_api"},{"line_number":47,"context_line":"from manila.message import message_field"}],"source_content_type":"text/x-python","patch_set":41,"id":"d11fd22a_641b645a","line":44,"range":{"start_line":44,"start_character":38,"end_line":44,"end_character":50},"in_reply_to":"e40171f2_e991a914","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"406f8e9c71fe931879f73ad09f28455854b2d5c1","unresolved":true,"context_lines":[{"line_number":815,"context_line":"                        error(\"Cannot choose compatible share server: %s\","},{"line_number":816,"context_line":"                              e)"},{"line_number":817,"context_line":""},{"line_number":818,"context_line":"            is_server_encryption \u003d False"},{"line_number":819,"context_line":"            if encryption_key_ref and self.driver.encryption_support:"},{"line_number":820,"context_line":"                if \"share_server\" in self.driver.encryption_support:"},{"line_number":821,"context_line":"                    is_server_encryption \u003d True"},{"line_number":822,"context_line":""},{"line_number":823,"context_line":"            app_cred \u003d None"},{"line_number":824,"context_line":"            if not compatible_share_server:"}],"source_content_type":"text/x-python","patch_set":41,"id":"ee25b777_773bb4de","line":821,"range":{"start_line":818,"start_character":11,"end_line":821,"end_character":47},"updated":"2025-07-01 21:22:55.000000000","message":"```suggestion\n            share_server_should_be_encrypted \u003d (\n                (encryption_key_ref and self.driver.encryption_support) and\n                (\"share_server\" in self.driver.encryption_support)\n            )\n\n```","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":815,"context_line":"                        error(\"Cannot choose compatible share server: %s\","},{"line_number":816,"context_line":"                              e)"},{"line_number":817,"context_line":""},{"line_number":818,"context_line":"            is_server_encryption \u003d False"},{"line_number":819,"context_line":"            if encryption_key_ref and self.driver.encryption_support:"},{"line_number":820,"context_line":"                if \"share_server\" in self.driver.encryption_support:"},{"line_number":821,"context_line":"                    is_server_encryption \u003d True"},{"line_number":822,"context_line":""},{"line_number":823,"context_line":"            app_cred \u003d None"},{"line_number":824,"context_line":"            if not compatible_share_server:"}],"source_content_type":"text/x-python","patch_set":41,"id":"74d43176_472342d9","line":821,"range":{"start_line":818,"start_character":11,"end_line":821,"end_character":47},"in_reply_to":"ee25b777_773bb4de","updated":"2025-07-03 17:59:12.000000000","message":"Done","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ebd15b9f6f0f614f8511dfb60de73919510db89f","unresolved":true,"context_lines":[{"line_number":4885,"context_line":"        except Exception as e:"},{"line_number":4886,"context_line":"            LOG.exception(\"Failed to update server_encryption_keys quota \""},{"line_number":4887,"context_line":"                          \"usages while creating share server.\")"},{"line_number":4888,"context_line":"            raise e"},{"line_number":4889,"context_line":""},{"line_number":4890,"context_line":"        if reservations:"},{"line_number":4891,"context_line":"            QUOTAS.commit("}],"source_content_type":"text/x-python","patch_set":41,"id":"c47c35f6_7804f1f8","line":4888,"range":{"start_line":4888,"start_character":12,"end_line":4888,"end_character":19},"updated":"2025-07-02 09:21:07.000000000","message":"why not raise exception.ShareServerEncryptionKeysLimitExceeded?","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d09bd5df12bb25be79b47f769ac7d483fa6b2c83","unresolved":false,"context_lines":[{"line_number":4885,"context_line":"        except Exception as e:"},{"line_number":4886,"context_line":"            LOG.exception(\"Failed to update server_encryption_keys quota \""},{"line_number":4887,"context_line":"                          \"usages while creating share server.\")"},{"line_number":4888,"context_line":"            raise e"},{"line_number":4889,"context_line":""},{"line_number":4890,"context_line":"        if reservations:"},{"line_number":4891,"context_line":"            QUOTAS.commit("}],"source_content_type":"text/x-python","patch_set":41,"id":"61b8faa5_5c61086e","line":4888,"range":{"start_line":4888,"start_character":12,"end_line":4888,"end_character":19},"in_reply_to":"c47c35f6_7804f1f8","updated":"2025-07-03 17:59:12.000000000","message":"ok, changed. Accordingly calling function changed from OverQuota to QuotaError.","commit_id":"98f176474fd5349acc817817cf6520470e5a7ac7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":180,"context_line":"CONF.import_opt(\u0027periodic_hooks_interval\u0027, \u0027manila.share.hook\u0027)"},{"line_number":181,"context_line":"CONF.import_opt(\u0027periodic_interval\u0027, \u0027manila.service\u0027)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"KEYSTONE_AUTHTOKEN_GROUP \u003d \u0027keystone_authtoken\u0027"},{"line_number":184,"context_line":"CONF.register_opts(ks_opts, KEYSTONE_AUTHTOKEN_GROUP)"},{"line_number":185,"context_line":"ks_loading.register_auth_conf_options(CONF, KEYSTONE_AUTHTOKEN_GROUP)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"# Drivers that need to change module paths or class names can add their"},{"line_number":188,"context_line":"# old/new path here to maintain backward compatibility."}],"source_content_type":"text/x-python","patch_set":54,"id":"3b36a90a_c3460102","line":185,"range":{"start_line":183,"start_character":0,"end_line":185,"end_character":69},"updated":"2025-08-25 05:07:35.000000000","message":"I don\u0027t understand why this, or the re-configuration of \"auth_url\" above is needed, can you please explain?\n\nWouldn\u0027t you be able to call `CONF.keystone_authtoken.auth_url` ?","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":180,"context_line":"CONF.import_opt(\u0027periodic_hooks_interval\u0027, \u0027manila.share.hook\u0027)"},{"line_number":181,"context_line":"CONF.import_opt(\u0027periodic_interval\u0027, \u0027manila.service\u0027)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"KEYSTONE_AUTHTOKEN_GROUP \u003d \u0027keystone_authtoken\u0027"},{"line_number":184,"context_line":"CONF.register_opts(ks_opts, KEYSTONE_AUTHTOKEN_GROUP)"},{"line_number":185,"context_line":"ks_loading.register_auth_conf_options(CONF, KEYSTONE_AUTHTOKEN_GROUP)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"# Drivers that need to change module paths or class names can add their"},{"line_number":188,"context_line":"# old/new path here to maintain backward compatibility."}],"source_content_type":"text/x-python","patch_set":54,"id":"cee1d0ae_6ebb8e01","line":185,"range":{"start_line":183,"start_character":0,"end_line":185,"end_character":69},"in_reply_to":"3b36a90a_c3460102","updated":"2025-08-25 12:44:23.000000000","message":"This gives None, so we have to register and use them. I checked cinder for similar use.","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"5b2710021be4931e5334b74d49ee1a37b777f1d2","unresolved":true,"context_lines":[{"line_number":180,"context_line":"CONF.import_opt(\u0027periodic_hooks_interval\u0027, \u0027manila.share.hook\u0027)"},{"line_number":181,"context_line":"CONF.import_opt(\u0027periodic_interval\u0027, \u0027manila.service\u0027)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"KEYSTONE_AUTHTOKEN_GROUP \u003d \u0027keystone_authtoken\u0027"},{"line_number":184,"context_line":"CONF.register_opts(ks_opts, KEYSTONE_AUTHTOKEN_GROUP)"},{"line_number":185,"context_line":"ks_loading.register_auth_conf_options(CONF, KEYSTONE_AUTHTOKEN_GROUP)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"# Drivers that need to change module paths or class names can add their"},{"line_number":188,"context_line":"# old/new path here to maintain backward compatibility."}],"source_content_type":"text/x-python","patch_set":54,"id":"72af931f_0da8f23b","line":185,"range":{"start_line":183,"start_character":0,"end_line":185,"end_character":69},"in_reply_to":"88e8eb06_707c5acf","updated":"2025-08-26 06:21:54.000000000","message":"https://github.com/openstack/cinder/blob/7ee3678b162981fa170df5bb12ac81ebdabb37ef/cinder/volume/volume_utils.py#L995\n\nunless we add \u003d\u003e CONF.register_opts(ks_opts, KEYSTONE_AUTHTOKEN_GROUP)\npy test fails as below\n\nAdding defaults in manila/tests/conf_fixture.py also did not work.\n\n```\n\n--- import errors ---\nFailed to import test module: manila.tests.share.drivers.zfsonlinux.test_driver\nTraceback (most recent call last):\n  File \"/usr/lib/python3.10/unittest/loader.py\", line 436, in _find_test_path\n    module \u003d self._get_module_from_name(name)\n  File \"/usr/lib/python3.10/unittest/loader.py\", line 377, in _get_module_from_name\n    __import__(name)\n  File \"/opt/stack/DEVELOPMENT/manila/manila/tests/share/drivers/zfsonlinux/test_driver.py\", line 24, in \u003cmodule\u003e\n    from manila.share.drivers.zfsonlinux import driver as zfs_driver\n  File \"/opt/stack/DEVELOPMENT/manila/manila/share/drivers/zfsonlinux/driver.py\", line 37, in \u003cmodule\u003e\n    from manila.share.manager import share_manager_opts  # noqa\n  File \"/opt/stack/DEVELOPMENT/manila/manila/share/manager.py\", line 186, in \u003cmodule\u003e\n    getattr(CONF.keystone_authtoken, \u0027auth_url\u0027))\n  File \"/opt/stack/DEVELOPMENT/manila/.tox/py310/lib/python3.10/site-packages/oslo_config/cfg.py\", line 3377, in __getattr__\n    return self._conf._get(name, self._group)\n  File \"/opt/stack/DEVELOPMENT/manila/.tox/py310/lib/python3.10/site-packages/oslo_config/cfg.py\", line 2868, in _get\n    value, loc \u003d self._do_get(name, group, namespace)\n  File \"/opt/stack/DEVELOPMENT/manila/.tox/py310/lib/python3.10/site-packages/oslo_config/cfg.py\", line 2886, in _do_get\n    info \u003d self._get_opt_info(name, group)\n  File \"/opt/stack/DEVELOPMENT/manila/.tox/py310/lib/python3.10/site-packages/oslo_config/cfg.py\", line 3091, in _get_opt_info\n    raise NoSuchOptError(opt_name, group)\noslo_config.cfg.NoSuchOptError: no such option auth_url in group [keystone_authtoken]\n\n```","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"52848aa606137463339c6642a9baf64fb443b310","unresolved":true,"context_lines":[{"line_number":180,"context_line":"CONF.import_opt(\u0027periodic_hooks_interval\u0027, \u0027manila.share.hook\u0027)"},{"line_number":181,"context_line":"CONF.import_opt(\u0027periodic_interval\u0027, \u0027manila.service\u0027)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"KEYSTONE_AUTHTOKEN_GROUP \u003d \u0027keystone_authtoken\u0027"},{"line_number":184,"context_line":"CONF.register_opts(ks_opts, KEYSTONE_AUTHTOKEN_GROUP)"},{"line_number":185,"context_line":"ks_loading.register_auth_conf_options(CONF, KEYSTONE_AUTHTOKEN_GROUP)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"# Drivers that need to change module paths or class names can add their"},{"line_number":188,"context_line":"# old/new path here to maintain backward compatibility."}],"source_content_type":"text/x-python","patch_set":54,"id":"88e8eb06_707c5acf","line":185,"range":{"start_line":183,"start_character":0,"end_line":185,"end_character":69},"in_reply_to":"cee1d0ae_6ebb8e01","updated":"2025-08-25 18:20:08.000000000","message":"Where in the cinder code is this? I found they\u0027re using it like i mentioned:\n\nhttps://github.com/openstack/cinder/blob/7ee3678b162981fa170df5bb12ac81ebdabb37ef/c\ninder/keymgr/transfer.py#L36\n\nCan you share your manila.conf; maybe there\u0027s something different locally.. on a CI job on this change, i see it\u0027s there: https://zuul.opendev.org/t/openstack/build/fd8ae7e0d91348eb8c706c926f77e8a2/log/controller/logs/etc/manila/manila_conf.txt#2-12\n\nWe can get some help from keystone folks if that\u0027s not working as intended.. \n\nDespite all this, i\u0027d do this perhaps, instead of redefining \"auth_url\":\n\n\n```\nks_loading.register_auth_conf_options(CONF, \u0027keystone_authtoken\u0027)\nauth \u003d ks_loading.load_auth_from_conf_options(CONF, \u0027keystone_authtoken\u0027)\nkeystone_url \u003d getattr(auth, \u0027auth_url\u0027, None) or getattr(CONF.keystone_authtoken, \u0027auth_url\u0027)\n```","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":909,"context_line":"                    encryption_key_ref\u003dencryption_key_ref"},{"line_number":910,"context_line":"                )"},{"line_number":911,"context_line":"                compatible_share_server \u003d ("},{"line_number":912,"context_line":"                    self._create_share_server_in_backend("},{"line_number":913,"context_line":"                        context, compatible_share_server, metadata))"},{"line_number":914,"context_line":""},{"line_number":915,"context_line":"            return compatible_share_server, share_instance_ref"},{"line_number":916,"context_line":""}],"source_content_type":"text/x-python","patch_set":54,"id":"fe4f2cf1_649af17c","line":913,"range":{"start_line":912,"start_character":20,"end_line":913,"end_character":68},"updated":"2025-08-25 05:07:35.000000000","message":"if this method fails, shouldn\u0027t app creds/secret access be rolled back?","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":909,"context_line":"                    encryption_key_ref\u003dencryption_key_ref"},{"line_number":910,"context_line":"                )"},{"line_number":911,"context_line":"                compatible_share_server \u003d ("},{"line_number":912,"context_line":"                    self._create_share_server_in_backend("},{"line_number":913,"context_line":"                        context, compatible_share_server, metadata))"},{"line_number":914,"context_line":""},{"line_number":915,"context_line":"            return compatible_share_server, share_instance_ref"},{"line_number":916,"context_line":""}],"source_content_type":"text/x-python","patch_set":54,"id":"2da649a4_3ef7b07b","line":913,"range":{"start_line":912,"start_character":20,"end_line":913,"end_character":68},"in_reply_to":"fe4f2cf1_649af17c","updated":"2025-08-25 12:44:23.000000000","message":"when it fails, manila keep share server in error state. The delete of share server will remove secret and app creds.","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d95fde42f775462e255ce65c83de30eb5f31ce55","unresolved":true,"context_lines":[{"line_number":936,"context_line":"        if app_cred:"},{"line_number":937,"context_line":"            metadata.update({"},{"line_number":938,"context_line":"                \u0027application_credential_id\u0027: app_cred.get(\u0027id\u0027),"},{"line_number":939,"context_line":"                \u0027app_cred_secret\u0027: encryption_key_ref,"},{"line_number":940,"context_line":"            })"},{"line_number":941,"context_line":"        return metadata"},{"line_number":942,"context_line":""}],"source_content_type":"text/x-python","patch_set":54,"id":"56d9aaaf_98b6dbb0","line":939,"range":{"start_line":939,"start_character":17,"end_line":939,"end_character":32},"updated":"2025-08-25 05:16:46.000000000","message":"`application_credential_secret`\n\nplease","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":936,"context_line":"        if app_cred:"},{"line_number":937,"context_line":"            metadata.update({"},{"line_number":938,"context_line":"                \u0027application_credential_id\u0027: app_cred.get(\u0027id\u0027),"},{"line_number":939,"context_line":"                \u0027app_cred_secret\u0027: encryption_key_ref,"},{"line_number":940,"context_line":"            })"},{"line_number":941,"context_line":"        return metadata"},{"line_number":942,"context_line":""}],"source_content_type":"text/x-python","patch_set":54,"id":"a003ec07_bea91f08","line":939,"range":{"start_line":939,"start_character":17,"end_line":939,"end_character":32},"in_reply_to":"56d9aaaf_98b6dbb0","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":4894,"context_line":"            \"Share server \u0027%s\u0027 has been deleted successfully.\","},{"line_number":4895,"context_line":"            share_server[\u0027id\u0027])"},{"line_number":4896,"context_line":""},{"line_number":4897,"context_line":"    def _create_encryption_keys_quota(self, context):"},{"line_number":4898,"context_line":"        reservations \u003d None"},{"line_number":4899,"context_line":"        try:"},{"line_number":4900,"context_line":"            reservations \u003d QUOTAS.reserve("},{"line_number":4901,"context_line":"                context, project_id\u003dcontext.project_id,"},{"line_number":4902,"context_line":"                encryption_keys\u003d1,"},{"line_number":4903,"context_line":"            )"},{"line_number":4904,"context_line":"        except Exception:"},{"line_number":4905,"context_line":"            LOG.exception(\"Failed to update encryption_keys quota \""},{"line_number":4906,"context_line":"                          \"usages while creating share server.\")"},{"line_number":4907,"context_line":"            raise exception.EncryptionKeysLimitExceeded()"},{"line_number":4908,"context_line":""},{"line_number":4909,"context_line":"        if reservations:"},{"line_number":4910,"context_line":"            QUOTAS.commit("},{"line_number":4911,"context_line":"                context, reservations, project_id\u003dcontext.project_id,"},{"line_number":4912,"context_line":"            )"},{"line_number":4913,"context_line":""},{"line_number":4914,"context_line":"    def _delete_encryption_keys_quota(self, context):"},{"line_number":4915,"context_line":"        reservations \u003d None"},{"line_number":4916,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":54,"id":"97df34e7_99c65c17","line":4913,"range":{"start_line":4897,"start_character":4,"end_line":4913,"end_character":0},"updated":"2025-08-25 05:07:35.000000000","message":"following up from the comment in share/api.py\n\nThe reservation needs to happen in the API, and the commit needs to happen here.\n\n\nShare manager could be parallelized, if you reserve and commit in one call, parallel calls would just grab the same quota and the code will cause overcommitting.","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":4894,"context_line":"            \"Share server \u0027%s\u0027 has been deleted successfully.\","},{"line_number":4895,"context_line":"            share_server[\u0027id\u0027])"},{"line_number":4896,"context_line":""},{"line_number":4897,"context_line":"    def _create_encryption_keys_quota(self, context):"},{"line_number":4898,"context_line":"        reservations \u003d None"},{"line_number":4899,"context_line":"        try:"},{"line_number":4900,"context_line":"            reservations \u003d QUOTAS.reserve("},{"line_number":4901,"context_line":"                context, project_id\u003dcontext.project_id,"},{"line_number":4902,"context_line":"                encryption_keys\u003d1,"},{"line_number":4903,"context_line":"            )"},{"line_number":4904,"context_line":"        except Exception:"},{"line_number":4905,"context_line":"            LOG.exception(\"Failed to update encryption_keys quota \""},{"line_number":4906,"context_line":"                          \"usages while creating share server.\")"},{"line_number":4907,"context_line":"            raise exception.EncryptionKeysLimitExceeded()"},{"line_number":4908,"context_line":""},{"line_number":4909,"context_line":"        if reservations:"},{"line_number":4910,"context_line":"            QUOTAS.commit("},{"line_number":4911,"context_line":"                context, reservations, project_id\u003dcontext.project_id,"},{"line_number":4912,"context_line":"            )"},{"line_number":4913,"context_line":""},{"line_number":4914,"context_line":"    def _delete_encryption_keys_quota(self, context):"},{"line_number":4915,"context_line":"        reservations \u003d None"},{"line_number":4916,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":54,"id":"65e4e51b_85e56c67","line":4913,"range":{"start_line":4897,"start_character":4,"end_line":4913,"end_character":0},"in_reply_to":"97df34e7_99c65c17","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"}],"manila/tests/share/drivers/dummy.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":373,"context_line":"        if old_export.split(\":/\")[-1] \u003d\u003d new_export.split(\":/\")[-1]:"},{"line_number":374,"context_line":"            result \u003d {"},{"line_number":375,"context_line":"                \"size\": 1,"},{"line_number":376,"context_line":"                \"export_locations\": self._create_share(None, share)"},{"line_number":377,"context_line":"            }"},{"line_number":378,"context_line":"            self.private_storage.delete(old_share_id)"},{"line_number":379,"context_line":"            return result"}],"source_content_type":"text/x-python","patch_set":54,"id":"837adae8_f268a952","line":376,"range":{"start_line":376,"start_character":55,"end_line":376,"end_character":59},"updated":"2025-08-25 05:07:35.000000000","message":"ugh, we should have been passing context through the manage_existing driver interface, like all the other methods","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":373,"context_line":"        if old_export.split(\":/\")[-1] \u003d\u003d new_export.split(\":/\")[-1]:"},{"line_number":374,"context_line":"            result \u003d {"},{"line_number":375,"context_line":"                \"size\": 1,"},{"line_number":376,"context_line":"                \"export_locations\": self._create_share(None, share)"},{"line_number":377,"context_line":"            }"},{"line_number":378,"context_line":"            self.private_storage.delete(old_share_id)"},{"line_number":379,"context_line":"            return result"}],"source_content_type":"text/x-python","patch_set":54,"id":"bb646132_a9a71707","line":376,"range":{"start_line":376,"start_character":55,"end_line":376,"end_character":59},"in_reply_to":"837adae8_f268a952","updated":"2025-08-25 12:44:23.000000000","message":"I thought so, but this causes change in lot of files. So thought to workaround as None for this patch and follow-up some cleanup patch to update manage_existing method throughtout code.","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"}],"manila/utils.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"344d3fd4b9eec9b00ce911fe1b3536c9d3064477","unresolved":true,"context_lines":[{"line_number":642,"context_line":"    return iso_format"},{"line_number":643,"context_line":""},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"def extract_uuid_from_key_ref(key_ref):"},{"line_number":646,"context_line":"    if uuidutils.is_uuid_like(key_ref):"},{"line_number":647,"context_line":"        return key_ref"},{"line_number":648,"context_line":""}],"source_content_type":"text/x-python","patch_set":48,"id":"e60992b2_ce116304","line":645,"updated":"2025-08-05 20:21:15.000000000","message":"-1 \n\nAs stated elsewhere, lets limit the Manila API to handling UUIDs only","commit_id":"81f784615b75e24203b70089e604557a94015d98"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"36919876756dc5256a1aad4c8bb8a47aa6f6bec5","unresolved":false,"context_lines":[{"line_number":642,"context_line":"    return iso_format"},{"line_number":643,"context_line":""},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"def extract_uuid_from_key_ref(key_ref):"},{"line_number":646,"context_line":"    if uuidutils.is_uuid_like(key_ref):"},{"line_number":647,"context_line":"        return key_ref"},{"line_number":648,"context_line":""}],"source_content_type":"text/x-python","patch_set":48,"id":"302686a1_670d30c5","line":645,"in_reply_to":"e60992b2_ce116304","updated":"2025-08-06 10:19:45.000000000","message":"Done","commit_id":"81f784615b75e24203b70089e604557a94015d98"}],"releasenotes/notes/add-share-and-share-server-user-provided-encryption-key-191a7587c49dc0f3.yaml":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"e15e611811cfa8e8cdbb51c3fc26faaa354711eb","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Starting microversion 2.90, Manila allows end user to provide barbican"},{"line_number":5,"context_line":"    secret_ref as encryption key reference in share create API. This can be"},{"line_number":6,"context_line":"    either share encryption key reference or share server encryption key"},{"line_number":7,"context_line":"    reference, based on backend driver support for share encryption."}],"source_content_type":"text/x-yaml","patch_set":24,"id":"056cc090_406f6362","line":5,"range":{"start_line":5,"start_character":64,"end_line":5,"end_character":75},"updated":"2025-04-24 10:17:59.000000000","message":"This will be used as","commit_id":"41016e4f901d5e4854baad34bdacc7e9aaff9f03"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"f926f68524b8e108a5b708e4cef9ec55baaabbfd","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Starting microversion 2.90, Manila allows end user to provide barbican"},{"line_number":5,"context_line":"    secret_ref as encryption key reference in share create API. This can be"},{"line_number":6,"context_line":"    either share encryption key reference or share server encryption key"},{"line_number":7,"context_line":"    reference, based on backend driver support for share encryption."}],"source_content_type":"text/x-yaml","patch_set":24,"id":"7a1dce43_7c7d3e51","line":5,"range":{"start_line":5,"start_character":64,"end_line":5,"end_character":75},"in_reply_to":"056cc090_406f6362","updated":"2025-04-24 12:58:08.000000000","message":"Done","commit_id":"41016e4f901d5e4854baad34bdacc7e9aaff9f03"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Starting microversion 2.90, Manila allows end user to provide barbican"},{"line_number":5,"context_line":"    secret_ref as encryption key reference in share create API. This will be"},{"line_number":6,"context_line":"    used as either share encryption key reference or share server encryption"},{"line_number":7,"context_line":"    key reference, based on backend driver support for share encryption."}],"source_content_type":"text/x-yaml","patch_set":54,"id":"fc5520c3_13f7ebf5","line":4,"range":{"start_line":4,"start_character":12,"end_line":4,"end_character":13},"updated":"2025-08-25 05:07:35.000000000","message":"nit: with","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4cc632a982d0ff86761bd7a3c9c080895a07672","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Starting microversion 2.90, Manila allows end user to provide barbican"},{"line_number":5,"context_line":"    secret_ref as encryption key reference in share create API. This will be"},{"line_number":6,"context_line":"    used as either share encryption key reference or share server encryption"},{"line_number":7,"context_line":"    key reference, based on backend driver support for share encryption."}],"source_content_type":"text/x-yaml","patch_set":54,"id":"b2e21cc7_754d53ee","line":4,"range":{"start_line":4,"start_character":50,"end_line":4,"end_character":54},"updated":"2025-08-25 05:07:35.000000000","message":"users","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Starting microversion 2.90, Manila allows end user to provide barbican"},{"line_number":5,"context_line":"    secret_ref as encryption key reference in share create API. This will be"},{"line_number":6,"context_line":"    used as either share encryption key reference or share server encryption"},{"line_number":7,"context_line":"    key reference, based on backend driver support for share encryption."}],"source_content_type":"text/x-yaml","patch_set":54,"id":"78cfc959_a56dca60","line":4,"range":{"start_line":4,"start_character":50,"end_line":4,"end_character":54},"in_reply_to":"b2e21cc7_754d53ee","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e5519ee1c4f8182ee45e0be15328eed22e1da785","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Starting microversion 2.90, Manila allows end user to provide barbican"},{"line_number":5,"context_line":"    secret_ref as encryption key reference in share create API. This will be"},{"line_number":6,"context_line":"    used as either share encryption key reference or share server encryption"},{"line_number":7,"context_line":"    key reference, based on backend driver support for share encryption."}],"source_content_type":"text/x-yaml","patch_set":54,"id":"e463ac5d_866ce92f","line":4,"range":{"start_line":4,"start_character":12,"end_line":4,"end_character":13},"in_reply_to":"fc5520c3_13f7ebf5","updated":"2025-08-25 12:44:23.000000000","message":"Done","commit_id":"c70061a316fe582b689a4ecba744aa5cf28783af"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"52848aa606137463339c6642a9baf64fb443b310","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":55,"id":"b0b44054_5708cb68","line":9,"updated":"2025-08-25 18:20:08.000000000","message":"```\nissues:\n  - |\n    When using share types with ``encryption_support\u003dshare_server``, share\n    servers created cannot currently be unmanaged from Manila. This limitation\n    will be addressed in a future release.\n\n    Additionally, care must be taken when managing existing shares with\n    ``driver_handles_share_servers\u003dTrue`` (DHSS\u003dTrue). You must use a share type\n    that supports encryption if the share must be encrypted or if its existing\n    encryption status needs to be retained.\n```","commit_id":"0d1fa09cd7399ad2b8238903ed162ca813250d6c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"5b2710021be4931e5334b74d49ee1a37b777f1d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":55,"id":"acce899d_30b9fcf0","line":9,"in_reply_to":"b0b44054_5708cb68","updated":"2025-08-26 06:21:54.000000000","message":"Done","commit_id":"0d1fa09cd7399ad2b8238903ed162ca813250d6c"}]}
