)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"85e4f9d149bf5c6146411cd584008a5047574629","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"80a5a6e3_dc820b7d","updated":"2024-09-12 13:52:01.000000000","message":"We have added support of passing share metadata to backend driver. However showmount option that was added is vserver/share_server specific and not volume. so any share can update this value on vserver.\n\nthere are two solutions for this\n1. when showmount value updated on any share (e.g. test_share), we need to update it on all shares of share server where test_share is created. This does not look good to manipulate metadata for all shares.\n2. add support to share network metadata passing to backend driver. Share network subnet metadata will apply to all share servers within that share network. We are good with this since each customer has unique share network.\n\nWDYT ?","commit_id":"947af65a457a7e281004dc9d6fcb060455ef8d35"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"009b8876bce5f0ab7c649ffedfbb9770e9fd8644","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f6df783e_71f20421","in_reply_to":"041a3b38_779dcea6","updated":"2025-02-27 11:08:02.000000000","message":"Done","commit_id":"947af65a457a7e281004dc9d6fcb060455ef8d35"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"a127eec30c8546c6bc601fd8480d3131037bf451","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b4616cbd_36d1563c","in_reply_to":"80a5a6e3_dc820b7d","updated":"2024-12-12 14:40:57.000000000","message":"Second option looks good for me but this might not work for dhss_false workflow. We are updating \"showmount\" to vserver(share server), share network is only applicable for the share which are created using dhss_true workflow. For dhss_false workflow this might not work.","commit_id":"947af65a457a7e281004dc9d6fcb060455ef8d35"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e552622f4f13f882bf4bab4a87c199d340038c9b","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"041a3b38_779dcea6","in_reply_to":"b4616cbd_36d1563c","updated":"2024-12-12 16:58:21.000000000","message":"Noted. For netapp we use dhss_true, how this facility needs to use by other drivers its upto them.","commit_id":"947af65a457a7e281004dc9d6fcb060455ef8d35"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"a127eec30c8546c6bc601fd8480d3131037bf451","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3dc9baf1_91d24d80","updated":"2024-12-12 14:40:57.000000000","message":"Thanks kiran for working on this, I have few comments on this patch.","commit_id":"723d9ffa905a79b1d3d3f480ec41e8449d8fc203"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7b1d8b68a26a2b7ae3d0d9125facf1c871d2ee5d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3555ab44_131e8291","updated":"2025-02-19 18:51:54.000000000","message":"Hey, Kiran, thanks for working on this feature. Added some comments inline, please take a look. Also, we might want to test this using the dummy driver.\nPlease implement unit tests as all of the functions you have added are missing them. Also, have you implemented functional tests for it?","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"d2d6075b1c8fda69a21f55a5d8d436c704d8ecd8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"8fe518f2_bbe86048","updated":"2025-02-19 18:52:11.000000000","message":"Please add a release note as well","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"dde954a41c48a4f7111b769da091277b28e1cd37","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d2fe4bc4_313b0652","updated":"2025-02-13 14:17:45.000000000","message":"We need this for share server dhss\u003dtrue only. For other scenario, if needed we can define in conf file where share server is provided.","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"abad74bace8762d54fd4c4daa413485a947bfa5b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"421cdce3_62c91caf","updated":"2025-02-25 07:11:55.000000000","message":"Only a few comments, thanks for your change!","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4824d853f4cb080f6978354740f06e6ed4594663","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"2abd0371_0097d1ba","updated":"2025-02-25 01:48:41.000000000","message":"Thanks, The logic here doesn\u0027t work.. please see comments inline","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"511f36fb75ca1a30b8231f9120219a1a5a35ade2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c89e5537_207a19dc","updated":"2025-02-24 13:51:15.000000000","message":"tests for subnet metadata added https://review.opendev.org/c/openstack/manila-tempest-plugin/+/942586","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"95bae3af1e68dbaebe672a702ce719181321bdcc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"e473f2e5_735d8f3f","updated":"2025-02-26 21:48:50.000000000","message":"Also, ideally the driver change should be submitted in patches that are separate from the core change","commit_id":"f4779e0fc8dc767cf5d48bbc7ce17034238d85ce"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"79dd3430ecc2a27e2278750fa1c4250230730ad1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"51e324da_6191e711","updated":"2025-02-26 21:47:22.000000000","message":"Looks good, thanks Kiran. The unit test concerns can be addressed in a follow-up change if everyone is okay with that","commit_id":"f4779e0fc8dc767cf5d48bbc7ce17034238d85ce"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"009b8876bce5f0ab7c649ffedfbb9770e9fd8644","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"5d1b59e9_54158323","in_reply_to":"e473f2e5_735d8f3f","updated":"2025-02-27 11:08:02.000000000","message":"ok, updated patch","commit_id":"f4779e0fc8dc767cf5d48bbc7ce17034238d85ce"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"345adc066cd99ed9c020e064f3288e1664cd1ec4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"ff79bd25_891c7189","updated":"2025-02-27 14:10:33.000000000","message":"LGTM, thank you Kiran","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"79fea102d5abb253b515ab5471455835b697b00d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a2731e66_359095f8","updated":"2025-02-27 19:14:56.000000000","message":"Some questions inline, but i don\u0027t want to hold the API version bump that this patch is bringing in. I\u0027m workflowing this so it can make it into the release, but please respond to the questions inline: https://bugs.launchpad.net/manila/+bug/2100554","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"70ab25e938550a64ba42fa909ecb506583b0815e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e71fcf89_b0ceee1e","updated":"2025-02-27 23:29:22.000000000","message":"recheck\n\nhit a rare test concurrency issue in the gate","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"52a35a2c562fc4319c649a9ed50bb2af04abb0a2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e666b390_53188323","updated":"2025-02-28 03:46:41.000000000","message":"recheck\n\nsporadic failure in the dhss job","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"62e9e704698927d08184deebdb0f7009ed93a071","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"33687268_843032a0","updated":"2025-02-28 07:15:43.000000000","message":"since gate is failed, I addressed comments in same PR instead of follow-up","commit_id":"684532498518ae6d9905f660c3e32939315b41b1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5bb80d4237b3e82c09799d15816a99590c9a1528","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"3a760097_d52cb67c","updated":"2025-02-28 17:33:10.000000000","message":"Hey Kiran, You checked with me on OFTC if you should push an update to this change, and I asked you to do it as a follow up. I should have elaborated:\n\nWe adhere to deadlines published here: https://releases.openstack.org/epoxy/schedule.html\n\nPer that schedule, we expect to ship the client for Epoxy release on Feb 27th. I workflowed this change alongside your client change to allow them to merge and work with the release team to ship the client, knowing well that the API behavior will not change, and the changes requested were internal and could come as a bug fix. Your client patch bumping the API microversion was waiting on this change to merge. The release team has been on standby to include it.\n\nHowever, since this change was updated, it requires re-review and as you can see with my comments, further changes. I think we\u0027ll get the client release done with what\u0027s published already - we can merge the micro-version bump with a new release  in a few weeks. Do let me know if you have any questions.","commit_id":"13cdfc7279f6a930df10134cb045b501d849e08f"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"a479ddca134861e8799df5fd32fdf1451bf165c6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"5338f98d_b198df5a","updated":"2025-02-28 11:22:47.000000000","message":"LGTM ..!","commit_id":"13cdfc7279f6a930df10134cb045b501d849e08f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"814bc421940b579b1bd2e06260de84c1331a5ea6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"80ea604b_01826c4f","updated":"2025-02-28 12:37:16.000000000","message":"LGTM, thanks Kiran","commit_id":"13cdfc7279f6a930df10134cb045b501d849e08f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"187d82353a62428f3cf486e13942bc7044f3295a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"e41b0eef_1bdc5f15","updated":"2025-02-28 23:46:26.000000000","message":"the delete method has an undeclared variable","commit_id":"aff1ea302beae473db9294207fc039f69666fea8"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f6e145e5692bd46c98acd24bb7e0f6fe6b435473","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"bde5a3c8_73bf43e0","updated":"2025-03-03 21:53:02.000000000","message":"LGTM, thank you","commit_id":"eb131b92d80c2f4de114c2323d8f2d9120a07ee8"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"f136971add3b78e6a2bde07bf8dea84d53ef0307","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"7bfd5eff_a7eac284","updated":"2025-03-04 08:34:06.000000000","message":"late +2, thanks Kiran","commit_id":"eb131b92d80c2f4de114c2323d8f2d9120a07ee8"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"939d9902663ea1ad57c9578cbbce3a192d705138","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"53caf937_be4e8ae3","updated":"2025-03-04 01:07:58.000000000","message":"let\u0027s merge this patch.","commit_id":"eb131b92d80c2f4de114c2323d8f2d9120a07ee8"}],"doc/source/user/share-network-subnet-operations.rst":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"187d82353a62428f3cf486e13942bc7044f3295a","unresolved":true,"context_lines":[{"line_number":12,"context_line":"not specify an availability zone, the subnet you are creating will be"},{"line_number":13,"context_line":"considered default by the Shared File Systems service. The default subnet"},{"line_number":14,"context_line":"spans all availability zones. You cannot have more than one default subnet"},{"line_number":15,"context_line":"per share network. During share network migration, metadata belonging to the"},{"line_number":16,"context_line":"old share network subnet is ignored when moving to a new share network. Since"},{"line_number":17,"context_line":"metadata updates are passed to backend driver, with migration of share network"},{"line_number":18,"context_line":"this metadata updates will no longer be available to new share network."}],"source_content_type":"text/x-rst","patch_set":9,"id":"dc846e5d_13cf9e6f","line":15,"range":{"start_line":15,"start_character":32,"end_line":15,"end_character":39},"updated":"2025-02-28 23:46:26.000000000","message":"server","commit_id":"aff1ea302beae473db9294207fc039f69666fea8"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"83f2d64c6663d5697fdaeb20178d27a0d5be5ae4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"not specify an availability zone, the subnet you are creating will be"},{"line_number":13,"context_line":"considered default by the Shared File Systems service. The default subnet"},{"line_number":14,"context_line":"spans all availability zones. You cannot have more than one default subnet"},{"line_number":15,"context_line":"per share network. During share network migration, metadata belonging to the"},{"line_number":16,"context_line":"old share network subnet is ignored when moving to a new share network. Since"},{"line_number":17,"context_line":"metadata updates are passed to backend driver, with migration of share network"},{"line_number":18,"context_line":"this metadata updates will no longer be available to new share network."}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a8e4665_f2484937","line":15,"range":{"start_line":15,"start_character":32,"end_line":15,"end_character":39},"in_reply_to":"dc846e5d_13cf9e6f","updated":"2025-03-01 05:39:55.000000000","message":"Done","commit_id":"aff1ea302beae473db9294207fc039f69666fea8"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"187d82353a62428f3cf486e13942bc7044f3295a","unresolved":true,"context_lines":[{"line_number":15,"context_line":"per share network. During share network migration, metadata belonging to the"},{"line_number":16,"context_line":"old share network subnet is ignored when moving to a new share network. Since"},{"line_number":17,"context_line":"metadata updates are passed to backend driver, with migration of share network"},{"line_number":18,"context_line":"this metadata updates will no longer be available to new share network."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":".. important::"}],"source_content_type":"text/x-rst","patch_set":9,"id":"a59715b6_c7b5e2f8","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":4},"updated":"2025-02-28 23:46:26.000000000","message":"these","commit_id":"aff1ea302beae473db9294207fc039f69666fea8"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"83f2d64c6663d5697fdaeb20178d27a0d5be5ae4","unresolved":false,"context_lines":[{"line_number":15,"context_line":"per share network. During share network migration, metadata belonging to the"},{"line_number":16,"context_line":"old share network subnet is ignored when moving to a new share network. Since"},{"line_number":17,"context_line":"metadata updates are passed to backend driver, with migration of share network"},{"line_number":18,"context_line":"this metadata updates will no longer be available to new share network."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":".. important::"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5f630224_c5a1b866","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":4},"in_reply_to":"a59715b6_c7b5e2f8","updated":"2025-03-01 05:39:55.000000000","message":"Done","commit_id":"aff1ea302beae473db9294207fc039f69666fea8"}],"manila/api/v2/share_network_subnets.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7b1d8b68a26a2b7ae3d0d9125facf1c871d2ee5d","unresolved":true,"context_lines":[{"line_number":212,"context_line":"        \"\"\"Create metadata for a given share network subnet.\"\"\""},{"line_number":213,"context_line":"        metadata \u003d self._create_metadata(req, resource_id, body,"},{"line_number":214,"context_line":"                                         parent_id\u003dshare_network_id)"},{"line_number":215,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":216,"context_line":"        self.share_api.update_share_network_subnet_from_metadata("},{"line_number":217,"context_line":"            context,"},{"line_number":218,"context_line":"            resource_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"6b6a5e1e_839444de","line":215,"updated":"2025-02-19 18:51:54.000000000","message":"should\u0027t we perform policy checks for the calls?","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4824d853f4cb080f6978354740f06e6ed4594663","unresolved":true,"context_lines":[{"line_number":212,"context_line":"        \"\"\"Create metadata for a given share network subnet.\"\"\""},{"line_number":213,"context_line":"        metadata \u003d self._create_metadata(req, resource_id, body,"},{"line_number":214,"context_line":"                                         parent_id\u003dshare_network_id)"},{"line_number":215,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":216,"context_line":"        self.share_api.update_share_network_subnet_from_metadata("},{"line_number":217,"context_line":"            context,"},{"line_number":218,"context_line":"            resource_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"e05a3084_d502553b","line":215,"in_reply_to":"5ac08f7b_c73b9456","updated":"2025-02-25 01:48:41.000000000","message":"what kind of policy checks are you looking for, @ces.eduardo98@gmail.com?","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"0333d76baadae824f32aed0c03205e8756967a6a","unresolved":true,"context_lines":[{"line_number":212,"context_line":"        \"\"\"Create metadata for a given share network subnet.\"\"\""},{"line_number":213,"context_line":"        metadata \u003d self._create_metadata(req, resource_id, body,"},{"line_number":214,"context_line":"                                         parent_id\u003dshare_network_id)"},{"line_number":215,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":216,"context_line":"        self.share_api.update_share_network_subnet_from_metadata("},{"line_number":217,"context_line":"            context,"},{"line_number":218,"context_line":"            resource_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5ac08f7b_c73b9456","line":215,"in_reply_to":"6b6a5e1e_839444de","updated":"2025-02-21 14:56:35.000000000","message":"AFAIK this is handled by @wsgi.Controller.authorize(). Isn\u0027t it ?","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"79dd3430ecc2a27e2278750fa1c4250230730ad1","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        \"\"\"Create metadata for a given share network subnet.\"\"\""},{"line_number":213,"context_line":"        metadata \u003d self._create_metadata(req, resource_id, body,"},{"line_number":214,"context_line":"                                         parent_id\u003dshare_network_id)"},{"line_number":215,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":216,"context_line":"        self.share_api.update_share_network_subnet_from_metadata("},{"line_number":217,"context_line":"            context,"},{"line_number":218,"context_line":"            resource_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"c2ebe3c9_d695f1f9","line":215,"in_reply_to":"e05a3084_d502553b","updated":"2025-02-26 21:47:22.000000000","message":"@gouthampravi@gmail.com the one that authorize already provides, sorry :p","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7b1d8b68a26a2b7ae3d0d9125facf1c871d2ee5d","unresolved":true,"context_lines":[{"line_number":213,"context_line":"        metadata \u003d self._create_metadata(req, resource_id, body,"},{"line_number":214,"context_line":"                                         parent_id\u003dshare_network_id)"},{"line_number":215,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":216,"context_line":"        self.share_api.update_share_network_subnet_from_metadata("},{"line_number":217,"context_line":"            context,"},{"line_number":218,"context_line":"            resource_id,"},{"line_number":219,"context_line":"            share_network_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"63d863aa_b836b13f","line":216,"range":{"start_line":216,"start_character":0,"end_line":216,"end_character":65},"updated":"2025-02-19 18:51:54.000000000","message":"I am wondering if we should create a new microversion for this, as we might have possible new outcomes as a call of this API, and even clients in older APIs would be able to get this new behavior if we don\u0027t","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"522ba9bffbe695a9c7bd37fd5c0a39b83984b2fd","unresolved":false,"context_lines":[{"line_number":213,"context_line":"        metadata \u003d self._create_metadata(req, resource_id, body,"},{"line_number":214,"context_line":"                                         parent_id\u003dshare_network_id)"},{"line_number":215,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":216,"context_line":"        self.share_api.update_share_network_subnet_from_metadata("},{"line_number":217,"context_line":"            context,"},{"line_number":218,"context_line":"            resource_id,"},{"line_number":219,"context_line":"            share_network_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1112b39f_53229d45","line":216,"range":{"start_line":216,"start_character":0,"end_line":216,"end_character":65},"in_reply_to":"0136e636_f4e43306","updated":"2025-02-25 13:32:41.000000000","message":"Done","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"522ba9bffbe695a9c7bd37fd5c0a39b83984b2fd","unresolved":false,"context_lines":[{"line_number":213,"context_line":"        metadata \u003d self._create_metadata(req, resource_id, body,"},{"line_number":214,"context_line":"                                         parent_id\u003dshare_network_id)"},{"line_number":215,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":216,"context_line":"        self.share_api.update_share_network_subnet_from_metadata("},{"line_number":217,"context_line":"            context,"},{"line_number":218,"context_line":"            resource_id,"},{"line_number":219,"context_line":"            share_network_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f8e524a_d1fa045c","line":216,"range":{"start_line":216,"start_character":0,"end_line":216,"end_character":65},"in_reply_to":"0136e636_f4e43306","updated":"2025-02-25 13:32:41.000000000","message":"added new version","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4824d853f4cb080f6978354740f06e6ed4594663","unresolved":true,"context_lines":[{"line_number":213,"context_line":"        metadata \u003d self._create_metadata(req, resource_id, body,"},{"line_number":214,"context_line":"                                         parent_id\u003dshare_network_id)"},{"line_number":215,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":216,"context_line":"        self.share_api.update_share_network_subnet_from_metadata("},{"line_number":217,"context_line":"            context,"},{"line_number":218,"context_line":"            resource_id,"},{"line_number":219,"context_line":"            share_network_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1325e1_b7b587ba","line":216,"range":{"start_line":216,"start_character":0,"end_line":216,"end_character":65},"in_reply_to":"5ac870dc_aea785f5","updated":"2025-02-25 01:48:41.000000000","message":"Shipping this without a microversion bump would be weird. It looks like the same thing happened with the earlier change: https://review.opendev.org/c/openstack/manila/+/924064\n\n\nImagine you\u0027re a cloud user, and you _depend_ on the feature - there\u0027s no way for you to know if this feature exists on your cloud or not. A microversion bump will indicate to end users that the feature surely exists. \n\nEverything in the API must be discoverable - when it isn\u0027t, it creates a negative user experience","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"0333d76baadae824f32aed0c03205e8756967a6a","unresolved":true,"context_lines":[{"line_number":213,"context_line":"        metadata \u003d self._create_metadata(req, resource_id, body,"},{"line_number":214,"context_line":"                                         parent_id\u003dshare_network_id)"},{"line_number":215,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":216,"context_line":"        self.share_api.update_share_network_subnet_from_metadata("},{"line_number":217,"context_line":"            context,"},{"line_number":218,"context_line":"            resource_id,"},{"line_number":219,"context_line":"            share_network_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5ac870dc_aea785f5","line":216,"range":{"start_line":216,"start_character":0,"end_line":216,"end_character":65},"in_reply_to":"63d863aa_b836b13f","updated":"2025-02-21 14:56:35.000000000","message":"I dont have strong opinion on this. As part of this PR, Manila will pass metadata update to backend driver, but not all backend driver will process it. So changing API version might not needed. Lets see what others say.","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"abad74bace8762d54fd4c4daa413485a947bfa5b","unresolved":true,"context_lines":[{"line_number":213,"context_line":"        metadata \u003d self._create_metadata(req, resource_id, body,"},{"line_number":214,"context_line":"                                         parent_id\u003dshare_network_id)"},{"line_number":215,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":216,"context_line":"        self.share_api.update_share_network_subnet_from_metadata("},{"line_number":217,"context_line":"            context,"},{"line_number":218,"context_line":"            resource_id,"},{"line_number":219,"context_line":"            share_network_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"0136e636_f4e43306","line":216,"range":{"start_line":216,"start_character":0,"end_line":216,"end_character":65},"in_reply_to":"fa1325e1_b7b587ba","updated":"2025-02-25 07:11:55.000000000","message":"agree with goutham. +1","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4824d853f4cb080f6978354740f06e6ed4594663","unresolved":true,"context_lines":[{"line_number":217,"context_line":"            context,"},{"line_number":218,"context_line":"            share_network_id,"},{"line_number":219,"context_line":"            resource_id,"},{"line_number":220,"context_line":"            metadata.get(\u0027metadata\u0027))"},{"line_number":221,"context_line":"        return metadata"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    @wsgi.Controller.api_version(\"2.78\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"466e2351_0c12619a","line":220,"range":{"start_line":220,"start_character":12,"end_line":220,"end_character":36},"updated":"2025-02-25 01:48:41.000000000","message":"all metadata isn\u0027t relevant to backends. Wrt share metadata, you added a configuration option called \"driver_updatable_metadata\"; you should add a similar concept here.. both, for consistency as well as correctness so we can protect drivers from incompatible (malicious or otherwise) user data.","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"522ba9bffbe695a9c7bd37fd5c0a39b83984b2fd","unresolved":false,"context_lines":[{"line_number":217,"context_line":"            context,"},{"line_number":218,"context_line":"            share_network_id,"},{"line_number":219,"context_line":"            resource_id,"},{"line_number":220,"context_line":"            metadata.get(\u0027metadata\u0027))"},{"line_number":221,"context_line":"        return metadata"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    @wsgi.Controller.api_version(\"2.78\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"3206b84b_08b42cb3","line":220,"range":{"start_line":220,"start_character":12,"end_line":220,"end_character":36},"in_reply_to":"466e2351_0c12619a","updated":"2025-02-25 13:32:41.000000000","message":"ok for share\n1. during creation default metadata added using share type and then \u0027driver_updatable_metadata\u0027 filtered keys passed to backend\n\nso for share network subnet\n1. \u0027driver_updatable_metadata\u0027 filtered keys will be passed to backend.","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4824d853f4cb080f6978354740f06e6ed4594663","unresolved":true,"context_lines":[{"line_number":260,"context_line":"    @wsgi.Controller.authorize(\"delete_metadata\")"},{"line_number":261,"context_line":"    def delete_metadata(self, req, share_network_id, resource_id, key):"},{"line_number":262,"context_line":"        \"\"\"Delete metadata for a given share network subnet.\"\"\""},{"line_number":263,"context_line":"        return self._delete_metadata(req, resource_id, key,"},{"line_number":264,"context_line":"                                     parent_id\u003dshare_network_id)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"47921b98_fcdb0da9","line":263,"range":{"start_line":263,"start_character":20,"end_line":263,"end_character":36},"updated":"2025-02-25 01:48:41.000000000","message":"Why aren\u0027t deletions sent over to drivers?\n\nHow does one unset something they set?","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"009b8876bce5f0ab7c649ffedfbb9770e9fd8644","unresolved":false,"context_lines":[{"line_number":260,"context_line":"    @wsgi.Controller.authorize(\"delete_metadata\")"},{"line_number":261,"context_line":"    def delete_metadata(self, req, share_network_id, resource_id, key):"},{"line_number":262,"context_line":"        \"\"\"Delete metadata for a given share network subnet.\"\"\""},{"line_number":263,"context_line":"        return self._delete_metadata(req, resource_id, key,"},{"line_number":264,"context_line":"                                     parent_id\u003dshare_network_id)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"2c42f27d_13895497","line":263,"range":{"start_line":263,"start_character":20,"end_line":263,"end_character":36},"in_reply_to":"0bb03415_26ea78b0","updated":"2025-02-27 11:08:02.000000000","message":"Ok, got it log added.","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"79dd3430ecc2a27e2278750fa1c4250230730ad1","unresolved":true,"context_lines":[{"line_number":260,"context_line":"    @wsgi.Controller.authorize(\"delete_metadata\")"},{"line_number":261,"context_line":"    def delete_metadata(self, req, share_network_id, resource_id, key):"},{"line_number":262,"context_line":"        \"\"\"Delete metadata for a given share network subnet.\"\"\""},{"line_number":263,"context_line":"        return self._delete_metadata(req, resource_id, key,"},{"line_number":264,"context_line":"                                     parent_id\u003dshare_network_id)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"0bb03415_26ea78b0","line":263,"range":{"start_line":263,"start_character":20,"end_line":263,"end_character":36},"in_reply_to":"2b079ce0_255efb88","updated":"2025-02-26 21:47:22.000000000","message":"got it, but or just unset it?\nanyways, I understand that if it is something that was updated, then it gets tricky. If we can\u0027t determine things, maybe we should at least log and say that there is a chance that something that was set in the share server won\u0027t be unset?","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"522ba9bffbe695a9c7bd37fd5c0a39b83984b2fd","unresolved":true,"context_lines":[{"line_number":260,"context_line":"    @wsgi.Controller.authorize(\"delete_metadata\")"},{"line_number":261,"context_line":"    def delete_metadata(self, req, share_network_id, resource_id, key):"},{"line_number":262,"context_line":"        \"\"\"Delete metadata for a given share network subnet.\"\"\""},{"line_number":263,"context_line":"        return self._delete_metadata(req, resource_id, key,"},{"line_number":264,"context_line":"                                     parent_id\u003dshare_network_id)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"2b079ce0_255efb88","line":263,"range":{"start_line":263,"start_character":20,"end_line":263,"end_character":36},"in_reply_to":"47921b98_fcdb0da9","updated":"2025-02-25 13:32:41.000000000","message":"No, delete does not signify anything unless we are smart enough to get opposite value of existing value. e.g if value of \u0027automatic_snapshot\u0027 is set to daily, end-user/admin must use UPDATE api to set or nullify value of daily.\n\nWhat you are saying, is during delete, manila should determine this opposite value and send to backend","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"79fea102d5abb253b515ab5471455835b697b00d","unresolved":true,"context_lines":[{"line_number":273,"context_line":"    def delete_metadata(self, req, share_network_id, resource_id, key):"},{"line_number":274,"context_line":"        \"\"\"Delete metadata for a given share network subnet.\"\"\""},{"line_number":275,"context_line":"        if req.api_version_request \u003e\u003d api_version.APIVersionRequest(\"2.89\"):"},{"line_number":276,"context_line":"            LOG.warning(\"Deleting share network subnet %s metadata. The \""},{"line_number":277,"context_line":"                        \"metadata delete call will not unset the values \""},{"line_number":278,"context_line":"                        \"that were set in storage driver.\", resource_id)"},{"line_number":279,"context_line":"        return self._delete_metadata(req, resource_id, key,"},{"line_number":280,"context_line":"                                     parent_id\u003dshare_network_id)"},{"line_number":281,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"c9982e0e_703c11a0","line":278,"range":{"start_line":276,"start_character":12,"end_line":278,"end_character":72},"updated":"2025-02-27 19:14:56.000000000","message":"End users have set this metadata, the log message will not help them.. maybe this needs to be a user message. \n\nIf the delete call includes driver updatable metadata, users should see a message which keys are not being updated on the backend via the driver","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"62e9e704698927d08184deebdb0f7009ed93a071","unresolved":false,"context_lines":[{"line_number":273,"context_line":"    def delete_metadata(self, req, share_network_id, resource_id, key):"},{"line_number":274,"context_line":"        \"\"\"Delete metadata for a given share network subnet.\"\"\""},{"line_number":275,"context_line":"        if req.api_version_request \u003e\u003d api_version.APIVersionRequest(\"2.89\"):"},{"line_number":276,"context_line":"            LOG.warning(\"Deleting share network subnet %s metadata. The \""},{"line_number":277,"context_line":"                        \"metadata delete call will not unset the values \""},{"line_number":278,"context_line":"                        \"that were set in storage driver.\", resource_id)"},{"line_number":279,"context_line":"        return self._delete_metadata(req, resource_id, key,"},{"line_number":280,"context_line":"                                     parent_id\u003dshare_network_id)"},{"line_number":281,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"17782b71_0419b1da","line":278,"range":{"start_line":276,"start_character":12,"end_line":278,"end_character":72},"in_reply_to":"c9982e0e_703c11a0","updated":"2025-02-28 07:15:43.000000000","message":"I have added user message, but putting information of metadata in it does not seems to be good as failure/pass case, we just mention info and not add metadata keys","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5bb80d4237b3e82c09799d15816a99590c9a1528","unresolved":true,"context_lines":[{"line_number":273,"context_line":"    def delete_metadata(self, req, share_network_id, resource_id, key):"},{"line_number":274,"context_line":"        \"\"\"Delete metadata for a given share network subnet.\"\"\""},{"line_number":275,"context_line":"        if req.api_version_request \u003e\u003d api_version.APIVersionRequest(\"2.89\"):"},{"line_number":276,"context_line":"            context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":277,"context_line":"            metadata \u003d self._index_metadata(req, resource_id,"},{"line_number":278,"context_line":"                                            parent_id\u003dshare_network_id)"},{"line_number":279,"context_line":"            self.share_api.update_share_network_subnet_from_metadata("},{"line_number":280,"context_line":"                context,"},{"line_number":281,"context_line":"                share_network_id,"},{"line_number":282,"context_line":"                resource_id,"},{"line_number":283,"context_line":"                metadata.get(\u0027metadata\u0027),"},{"line_number":284,"context_line":"                delete\u003dTrue)"},{"line_number":285,"context_line":"        return self._delete_metadata(req, resource_id, key,"},{"line_number":286,"context_line":"                                     parent_id\u003dshare_network_id)"},{"line_number":287,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"adb1b9a7_38597cd9","line":284,"range":{"start_line":276,"start_character":12,"end_line":284,"end_character":28},"updated":"2025-02-28 17:33:10.000000000","message":"I don\u0027t understand what this code is doing\n\nThe user wants to delete a single key, but the code\u0027s retrieving all of the subnet metadata? why? The delete logic just seems to trigger a user message","commit_id":"13cdfc7279f6a930df10134cb045b501d849e08f"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d60636f4eaebeeb705f675dd69f48c8227edea17","unresolved":false,"context_lines":[{"line_number":273,"context_line":"    def delete_metadata(self, req, share_network_id, resource_id, key):"},{"line_number":274,"context_line":"        \"\"\"Delete metadata for a given share network subnet.\"\"\""},{"line_number":275,"context_line":"        if req.api_version_request \u003e\u003d api_version.APIVersionRequest(\"2.89\"):"},{"line_number":276,"context_line":"            context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":277,"context_line":"            metadata \u003d self._index_metadata(req, resource_id,"},{"line_number":278,"context_line":"                                            parent_id\u003dshare_network_id)"},{"line_number":279,"context_line":"            self.share_api.update_share_network_subnet_from_metadata("},{"line_number":280,"context_line":"                context,"},{"line_number":281,"context_line":"                share_network_id,"},{"line_number":282,"context_line":"                resource_id,"},{"line_number":283,"context_line":"                metadata.get(\u0027metadata\u0027),"},{"line_number":284,"context_line":"                delete\u003dTrue)"},{"line_number":285,"context_line":"        return self._delete_metadata(req, resource_id, key,"},{"line_number":286,"context_line":"                                     parent_id\u003dshare_network_id)"},{"line_number":287,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7920bcb5_aee2163b","line":284,"range":{"start_line":276,"start_character":12,"end_line":284,"end_character":28},"in_reply_to":"adb1b9a7_38597cd9","updated":"2025-02-28 18:51:59.000000000","message":"Done","commit_id":"13cdfc7279f6a930df10134cb045b501d849e08f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"187d82353a62428f3cf486e13942bc7044f3295a","unresolved":true,"context_lines":[{"line_number":277,"context_line":"            context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":278,"context_line":"            share_network \u003d db_api.share_network_get("},{"line_number":279,"context_line":"                context, share_network_id)"},{"line_number":280,"context_line":"            self.message_api.create("},{"line_number":281,"context_line":"                context,"},{"line_number":282,"context_line":"                message_field.Action.UPDATE_METADATA_NOT_DELETED,"},{"line_number":283,"context_line":"                share_network[\u0027project_id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"9363f38d_0b8f55be","line":280,"range":{"start_line":280,"start_character":12,"end_line":280,"end_character":29},"updated":"2025-02-28 23:46:26.000000000","message":"where is this declared?\n\nCan you please add a unit test? \n\nhttps://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_484/929091/9/check/openstack-tox-cover/484ed02/cover/z_18fb795c8d5970e6_share_network_subnets_py.html#t276","commit_id":"aff1ea302beae473db9294207fc039f69666fea8"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"83f2d64c6663d5697fdaeb20178d27a0d5be5ae4","unresolved":false,"context_lines":[{"line_number":277,"context_line":"            context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":278,"context_line":"            share_network \u003d db_api.share_network_get("},{"line_number":279,"context_line":"                context, share_network_id)"},{"line_number":280,"context_line":"            self.message_api.create("},{"line_number":281,"context_line":"                context,"},{"line_number":282,"context_line":"                message_field.Action.UPDATE_METADATA_NOT_DELETED,"},{"line_number":283,"context_line":"                share_network[\u0027project_id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa3373bd_fa53fc76","line":280,"range":{"start_line":280,"start_character":12,"end_line":280,"end_character":29},"in_reply_to":"9363f38d_0b8f55be","updated":"2025-03-01 05:39:55.000000000","message":"Done","commit_id":"aff1ea302beae473db9294207fc039f69666fea8"}],"manila/common/config.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5bb80d4237b3e82c09799d15816a99590c9a1528","unresolved":true,"context_lines":[{"line_number":150,"context_line":"                default\u003d[],"},{"line_number":151,"context_line":"                help\u003d\u0027Metadata keys that will decide which share network \u0027"},{"line_number":152,"context_line":"                     \u0027subnet metadata (element of the list is \u0027"},{"line_number":153,"context_line":"                     \u0027\u003cdriver_updatable_key\u003e, i.e pnfs) can be passed to \u0027"},{"line_number":154,"context_line":"                     \u0027share drivers as part of metadata create/update \u0027"},{"line_number":155,"context_line":"                     \u0027operations.\u0027),"},{"line_number":156,"context_line":"    cfg.BoolOpt(\u0027update_shares_status_on_ensure\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a93d87c_23ec12ce","line":153,"range":{"start_line":153,"start_character":46,"end_line":153,"end_character":49},"updated":"2025-02-28 17:33:10.000000000","message":"e.g.","commit_id":"13cdfc7279f6a930df10134cb045b501d849e08f"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d60636f4eaebeeb705f675dd69f48c8227edea17","unresolved":false,"context_lines":[{"line_number":150,"context_line":"                default\u003d[],"},{"line_number":151,"context_line":"                help\u003d\u0027Metadata keys that will decide which share network \u0027"},{"line_number":152,"context_line":"                     \u0027subnet metadata (element of the list is \u0027"},{"line_number":153,"context_line":"                     \u0027\u003cdriver_updatable_key\u003e, i.e pnfs) can be passed to \u0027"},{"line_number":154,"context_line":"                     \u0027share drivers as part of metadata create/update \u0027"},{"line_number":155,"context_line":"                     \u0027operations.\u0027),"},{"line_number":156,"context_line":"    cfg.BoolOpt(\u0027update_shares_status_on_ensure\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"5c9196da_046c50ce","line":153,"range":{"start_line":153,"start_character":46,"end_line":153,"end_character":49},"in_reply_to":"7a93d87c_23ec12ce","updated":"2025-02-28 18:51:59.000000000","message":"Done","commit_id":"13cdfc7279f6a930df10134cb045b501d849e08f"}],"manila/db/sqlalchemy/api.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"814bc421940b579b1bd2e06260de84c1331a5ea6","unresolved":true,"context_lines":[{"line_number":5537,"context_line":"    context, host, share_subnet_id,"},{"line_number":5538,"context_line":"):"},{"line_number":5539,"context_line":"    result \u003d _share_server_get_query(context)"},{"line_number":5540,"context_line":"    if host:"},{"line_number":5541,"context_line":"        result \u003d result.filter_by(host\u003dhost)"},{"line_number":5542,"context_line":"    result \u003d result.filter("},{"line_number":5543,"context_line":"        models.ShareServer.share_network_subnets.any(id\u003dshare_subnet_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"698e8981_b7c1f0b0","line":5540,"range":{"start_line":5540,"start_character":4,"end_line":5540,"end_character":12},"updated":"2025-02-28 12:37:16.000000000","message":"this would only happen in case the share server is in error or still creating right?","commit_id":"13cdfc7279f6a930df10134cb045b501d849e08f"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"60a4ecfca7bc8540c8381d699cbe32560c008493","unresolved":false,"context_lines":[{"line_number":5537,"context_line":"    context, host, share_subnet_id,"},{"line_number":5538,"context_line":"):"},{"line_number":5539,"context_line":"    result \u003d _share_server_get_query(context)"},{"line_number":5540,"context_line":"    if host:"},{"line_number":5541,"context_line":"        result \u003d result.filter_by(host\u003dhost)"},{"line_number":5542,"context_line":"    result \u003d result.filter("},{"line_number":5543,"context_line":"        models.ShareServer.share_network_subnets.any(id\u003dshare_subnet_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"a5e397a2_75785e83","line":5540,"range":{"start_line":5540,"start_character":4,"end_line":5540,"end_character":12},"in_reply_to":"493abd3f_ddf53941","updated":"2025-02-28 13:45:03.000000000","message":"Acknowledged","commit_id":"13cdfc7279f6a930df10134cb045b501d849e08f"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a919ad149054ee4b43579ad613af507b6c43dda2","unresolved":true,"context_lines":[{"line_number":5537,"context_line":"    context, host, share_subnet_id,"},{"line_number":5538,"context_line":"):"},{"line_number":5539,"context_line":"    result \u003d _share_server_get_query(context)"},{"line_number":5540,"context_line":"    if host:"},{"line_number":5541,"context_line":"        result \u003d result.filter_by(host\u003dhost)"},{"line_number":5542,"context_line":"    result \u003d result.filter("},{"line_number":5543,"context_line":"        models.ShareServer.share_network_subnets.any(id\u003dshare_subnet_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9dc97566_c7718d9c","line":5540,"range":{"start_line":5540,"start_character":4,"end_line":5540,"end_character":12},"in_reply_to":"698e8981_b7c1f0b0","updated":"2025-02-28 12:41:16.000000000","message":"The query is modified to filter share_server by subnet_id instead of host+subnet_id. If no host or host\u003dNone, we simply filter by subnet_id. Why are you asking for share server state ?","commit_id":"13cdfc7279f6a930df10134cb045b501d849e08f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a44df4a73a915aee4bf037a26f03c5ef8f0b095f","unresolved":true,"context_lines":[{"line_number":5537,"context_line":"    context, host, share_subnet_id,"},{"line_number":5538,"context_line":"):"},{"line_number":5539,"context_line":"    result \u003d _share_server_get_query(context)"},{"line_number":5540,"context_line":"    if host:"},{"line_number":5541,"context_line":"        result \u003d result.filter_by(host\u003dhost)"},{"line_number":5542,"context_line":"    result \u003d result.filter("},{"line_number":5543,"context_line":"        models.ShareServer.share_network_subnets.any(id\u003dshare_subnet_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"493abd3f_ddf53941","line":5540,"range":{"start_line":5540,"start_character":4,"end_line":5540,"end_character":12},"in_reply_to":"9dc97566_c7718d9c","updated":"2025-02-28 12:50:47.000000000","message":"nevermind about the status, I misread it, but what got my curiosity was the fact that the method is named share_server_get_all_by_host_**and**_share_subnet so that\u0027s a natural question when you see a change in it, combined with the fact that all of the parameters are still positional and we would expect that this should be provided in all of the calls and it would never be None, then I realized you are only reusing it.","commit_id":"13cdfc7279f6a930df10134cb045b501d849e08f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5bb80d4237b3e82c09799d15816a99590c9a1528","unresolved":true,"context_lines":[{"line_number":5537,"context_line":"    context, host, share_subnet_id,"},{"line_number":5538,"context_line":"):"},{"line_number":5539,"context_line":"    result \u003d _share_server_get_query(context)"},{"line_number":5540,"context_line":"    if host:"},{"line_number":5541,"context_line":"        result \u003d result.filter_by(host\u003dhost)"},{"line_number":5542,"context_line":"    result \u003d result.filter("},{"line_number":5543,"context_line":"        models.ShareServer.share_network_subnets.any(id\u003dshare_subnet_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"d9f435c2_2183e822","line":5540,"range":{"start_line":5540,"start_character":4,"end_line":5540,"end_character":12},"in_reply_to":"a5e397a2_75785e83","updated":"2025-02-28 17:33:10.000000000","message":"This is confusing, reusing the method is fine, maybe change the name to \"share_server_get_all_by_host_and_or_share_subnet\"\n\nand make both host and share_subnet_id kwargs.","commit_id":"13cdfc7279f6a930df10134cb045b501d849e08f"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d60636f4eaebeeb705f675dd69f48c8227edea17","unresolved":false,"context_lines":[{"line_number":5537,"context_line":"    context, host, share_subnet_id,"},{"line_number":5538,"context_line":"):"},{"line_number":5539,"context_line":"    result \u003d _share_server_get_query(context)"},{"line_number":5540,"context_line":"    if host:"},{"line_number":5541,"context_line":"        result \u003d result.filter_by(host\u003dhost)"},{"line_number":5542,"context_line":"    result \u003d result.filter("},{"line_number":5543,"context_line":"        models.ShareServer.share_network_subnets.any(id\u003dshare_subnet_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"4854ffbf_f9a30dfa","line":5540,"range":{"start_line":5540,"start_character":4,"end_line":5540,"end_character":12},"in_reply_to":"d9f435c2_2183e822","updated":"2025-02-28 18:51:59.000000000","message":"Done","commit_id":"13cdfc7279f6a930df10134cb045b501d849e08f"}],"manila/share/api.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7b1d8b68a26a2b7ae3d0d9125facf1c871d2ee5d","unresolved":true,"context_lines":[{"line_number":572,"context_line":"        )"},{"line_number":573,"context_line":"        if not shares:"},{"line_number":574,"context_line":"            return"},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"        self.share_rpcapi.update_share_network_subnet_from_metadata("},{"line_number":577,"context_line":"            context,"},{"line_number":578,"context_line":"            shares[0],"}],"source_content_type":"text/x-python","patch_set":3,"id":"082fd65c_ce45a20a","line":575,"updated":"2025-02-19 18:51:54.000000000","message":"if this action is impacting all of the shares, we might need to have an extra policy check for each one of them. If the caller modifies something that might end up disconnecting shares that they don\u0027t own, it would be a bad state to be in","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"0333d76baadae824f32aed0c03205e8756967a6a","unresolved":false,"context_lines":[{"line_number":572,"context_line":"        )"},{"line_number":573,"context_line":"        if not shares:"},{"line_number":574,"context_line":"            return"},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"        self.share_rpcapi.update_share_network_subnet_from_metadata("},{"line_number":577,"context_line":"            context,"},{"line_number":578,"context_line":"            shares[0],"}],"source_content_type":"text/x-python","patch_set":3,"id":"5e8fb5ab_81996859","line":575,"in_reply_to":"082fd65c_ce45a20a","updated":"2025-02-21 14:56:35.000000000","message":"The intention is to pass metadata to backend driver and we need RPC host for the same. At line 578, I am passing share. I dont think we need policy check for each share.","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"f578143f92cf37c1d54a1d36b20a9689efcdf7ab","unresolved":true,"context_lines":[{"line_number":572,"context_line":"        )"},{"line_number":573,"context_line":"        if not shares:"},{"line_number":574,"context_line":"            return"},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"        self.share_rpcapi.update_share_network_subnet_from_metadata("},{"line_number":577,"context_line":"            context,"},{"line_number":578,"context_line":"            shares[0],"}],"source_content_type":"text/x-python","patch_set":3,"id":"ffe99699_c3bbb785","line":575,"in_reply_to":"5e8fb5ab_81996859","updated":"2025-02-24 21:57:53.000000000","message":"so, I mean something different, let\u0027s consider the following scenario:\n\n- A share network is created in the project by user A\n- User B starts exporting shares\n- User A makes changes to the share network subnet metadata, which will be reflected in the share network\n\nIf one of these changes make some difference in the shares or something related to mounting, we will be affecting the shares of user B without even knowing if the current user have permission to do so. I believe we\u0027d be allowing something we can prevent that way. I might be overthinking, but I believe this should be avoided.","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"79dd3430ecc2a27e2278750fa1c4250230730ad1","unresolved":false,"context_lines":[{"line_number":572,"context_line":"        )"},{"line_number":573,"context_line":"        if not shares:"},{"line_number":574,"context_line":"            return"},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"        self.share_rpcapi.update_share_network_subnet_from_metadata("},{"line_number":577,"context_line":"            context,"},{"line_number":578,"context_line":"            shares[0],"}],"source_content_type":"text/x-python","patch_set":3,"id":"f52ded57_78085990","line":575,"in_reply_to":"66bc9221_4cc8a854","updated":"2025-02-26 21:47:22.000000000","message":"Acknowledged","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4824d853f4cb080f6978354740f06e6ed4594663","unresolved":true,"context_lines":[{"line_number":572,"context_line":"        )"},{"line_number":573,"context_line":"        if not shares:"},{"line_number":574,"context_line":"            return"},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"        self.share_rpcapi.update_share_network_subnet_from_metadata("},{"line_number":577,"context_line":"            context,"},{"line_number":578,"context_line":"            shares[0],"}],"source_content_type":"text/x-python","patch_set":3,"id":"66bc9221_4cc8a854","line":575,"in_reply_to":"ffe99699_c3bbb785","updated":"2025-02-25 01:48:41.000000000","message":"Carlos, with our default RBAC, two projects cannot share a share network..","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4824d853f4cb080f6978354740f06e6ed4594663","unresolved":true,"context_lines":[{"line_number":573,"context_line":"        # get any share to find host for rpc call"},{"line_number":574,"context_line":"        shares \u003d self.db.share_get_all("},{"line_number":575,"context_line":"            context.elevated(),"},{"line_number":576,"context_line":"            filters\u003d{\u0027share_network_id\u0027: share_network_id}"},{"line_number":577,"context_line":"        )"},{"line_number":578,"context_line":"        if not shares:"},{"line_number":579,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":4,"id":"87d7326b_ddf5756b","line":576,"range":{"start_line":576,"start_character":11,"end_line":576,"end_character":58},"updated":"2025-02-25 01:48:41.000000000","message":"Subnet metadata is associated with subnets; why is the lookup using share network id?\n\nSecondly, you don\u0027t need any shares - you need the share servers created on the specific subnet. The RPC message has to be sent to the hosts associated with the share servers..","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"522ba9bffbe695a9c7bd37fd5c0a39b83984b2fd","unresolved":false,"context_lines":[{"line_number":573,"context_line":"        # get any share to find host for rpc call"},{"line_number":574,"context_line":"        shares \u003d self.db.share_get_all("},{"line_number":575,"context_line":"            context.elevated(),"},{"line_number":576,"context_line":"            filters\u003d{\u0027share_network_id\u0027: share_network_id}"},{"line_number":577,"context_line":"        )"},{"line_number":578,"context_line":"        if not shares:"},{"line_number":579,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":4,"id":"3614c3e6_7fefde6b","line":576,"range":{"start_line":576,"start_character":11,"end_line":576,"end_character":58},"in_reply_to":"87d7326b_ddf5756b","updated":"2025-02-25 13:32:41.000000000","message":"Done","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"79fea102d5abb253b515ab5471455835b697b00d","unresolved":true,"context_lines":[{"line_number":570,"context_line":"                                                  share_network_id,"},{"line_number":571,"context_line":"                                                  share_network_subnet_id,"},{"line_number":572,"context_line":"                                                  metadata):"},{"line_number":573,"context_line":"        driver_keys \u003d getattr(CONF, \u0027driver_updatable_metadata\u0027, [])"},{"line_number":574,"context_line":"        if not driver_keys:"},{"line_number":575,"context_line":"            return"},{"line_number":576,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"06c42e79_18ad6d21","line":573,"range":{"start_line":573,"start_character":37,"end_line":573,"end_character":62},"updated":"2025-02-27 19:14:56.000000000","message":"can imagine the keys overlapping/conflicting, i.e., maybe operators would prefer allowing updating metaKEY1 on shares but not subnets. It\u0027s worth creating another option for this to support that..","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"62e9e704698927d08184deebdb0f7009ed93a071","unresolved":false,"context_lines":[{"line_number":570,"context_line":"                                                  share_network_id,"},{"line_number":571,"context_line":"                                                  share_network_subnet_id,"},{"line_number":572,"context_line":"                                                  metadata):"},{"line_number":573,"context_line":"        driver_keys \u003d getattr(CONF, \u0027driver_updatable_metadata\u0027, [])"},{"line_number":574,"context_line":"        if not driver_keys:"},{"line_number":575,"context_line":"            return"},{"line_number":576,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"702fc604_26391544","line":573,"range":{"start_line":573,"start_character":37,"end_line":573,"end_character":62},"in_reply_to":"06c42e79_18ad6d21","updated":"2025-02-28 07:15:43.000000000","message":"Done","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"79fea102d5abb253b515ab5471455835b697b00d","unresolved":true,"context_lines":[{"line_number":581,"context_line":""},{"line_number":582,"context_line":"        if driver_metadata:"},{"line_number":583,"context_line":"            share_servers \u003d self.db.share_server_get_all_with_filters("},{"line_number":584,"context_line":"                context, {\u0027share_network_id\u0027: share_network_id}"},{"line_number":585,"context_line":"            )"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"            for share_server in share_servers:"}],"source_content_type":"text/x-python","patch_set":6,"id":"70a10fab_1a7b7442","line":584,"range":{"start_line":584,"start_character":25,"end_line":584,"end_character":63},"updated":"2025-02-27 19:14:56.000000000","message":"this filtering has to be at the subnet level, not network.. a network can have multiple subnets each with their own metadata","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"62e9e704698927d08184deebdb0f7009ed93a071","unresolved":false,"context_lines":[{"line_number":581,"context_line":""},{"line_number":582,"context_line":"        if driver_metadata:"},{"line_number":583,"context_line":"            share_servers \u003d self.db.share_server_get_all_with_filters("},{"line_number":584,"context_line":"                context, {\u0027share_network_id\u0027: share_network_id}"},{"line_number":585,"context_line":"            )"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"            for share_server in share_servers:"}],"source_content_type":"text/x-python","patch_set":6,"id":"85bf6a59_242c7347","line":584,"range":{"start_line":584,"start_character":25,"end_line":584,"end_character":63},"in_reply_to":"70a10fab_1a7b7442","updated":"2025-02-28 07:15:43.000000000","message":"ok, changed","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"}],"manila/share/driver.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"79fea102d5abb253b515ab5471455835b697b00d","unresolved":true,"context_lines":[{"line_number":3759,"context_line":"                                                  share_server, metadata):"},{"line_number":3760,"context_line":"        \"\"\"Update the share network subnet from metadata."},{"line_number":3761,"context_line":""},{"line_number":3762,"context_line":"        Driver must implement this method if needs to perform some action on"},{"line_number":3763,"context_line":"        given resource (i.e. share network subnet) based on provided metadata."},{"line_number":3764,"context_line":""},{"line_number":3765,"context_line":"        :param context: The \u0027context.RequestContext\u0027 object for the request."}],"source_content_type":"text/x-python","patch_set":6,"id":"095df01d_9b729578","line":3762,"range":{"start_line":3762,"start_character":45,"end_line":3762,"end_character":54},"updated":"2025-02-27 19:14:56.000000000","message":"it can","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"62e9e704698927d08184deebdb0f7009ed93a071","unresolved":false,"context_lines":[{"line_number":3759,"context_line":"                                                  share_server, metadata):"},{"line_number":3760,"context_line":"        \"\"\"Update the share network subnet from metadata."},{"line_number":3761,"context_line":""},{"line_number":3762,"context_line":"        Driver must implement this method if needs to perform some action on"},{"line_number":3763,"context_line":"        given resource (i.e. share network subnet) based on provided metadata."},{"line_number":3764,"context_line":""},{"line_number":3765,"context_line":"        :param context: The \u0027context.RequestContext\u0027 object for the request."}],"source_content_type":"text/x-python","patch_set":6,"id":"69b7006c_5c431b0d","line":3762,"range":{"start_line":3762,"start_character":45,"end_line":3762,"end_character":54},"in_reply_to":"095df01d_9b729578","updated":"2025-02-28 07:15:43.000000000","message":"Done","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"}],"manila/share/drivers/netapp/dataontap/cluster_mode/drv_single_svm.py":[{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"a127eec30c8546c6bc601fd8480d3131037bf451","unresolved":true,"context_lines":[{"line_number":368,"context_line":"        self.library.update_share_from_metadata("},{"line_number":369,"context_line":"            context, share, metadata, share_server\u003dshare_server)"},{"line_number":370,"context_line":""},{"line_number":371,"context_line":"    def update_share_network_subnet_from_metadata(self, context,"},{"line_number":372,"context_line":"                                                  share_network,"},{"line_number":373,"context_line":"                                                  share_network_subnet,"},{"line_number":374,"context_line":"                                                  share_servers, metadata):"},{"line_number":375,"context_line":"        self.library.update_share_network_subnet_from_metadata("},{"line_number":376,"context_line":"            context, share_network, share_network_subnet,"},{"line_number":377,"context_line":"            share_servers, metadata)"}],"source_content_type":"text/x-python","patch_set":2,"id":"41829703_8fd3e253","line":377,"range":{"start_line":371,"start_character":4,"end_line":377,"end_character":36},"updated":"2024-12-12 14:40:57.000000000","message":"This workflow will be execute only from dhss_false. You can change this as below \n\ndef update_share_network_subnet_from_metadata(self, context,\n                                                  share_network,\n                                                  share_network_subnet,\n                                                  share_servers, metadata):\n         raise NotImplementedError","commit_id":"723d9ffa905a79b1d3d3f480ec41e8449d8fc203"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e552622f4f13f882bf4bab4a87c199d340038c9b","unresolved":false,"context_lines":[{"line_number":368,"context_line":"        self.library.update_share_from_metadata("},{"line_number":369,"context_line":"            context, share, metadata, share_server\u003dshare_server)"},{"line_number":370,"context_line":""},{"line_number":371,"context_line":"    def update_share_network_subnet_from_metadata(self, context,"},{"line_number":372,"context_line":"                                                  share_network,"},{"line_number":373,"context_line":"                                                  share_network_subnet,"},{"line_number":374,"context_line":"                                                  share_servers, metadata):"},{"line_number":375,"context_line":"        self.library.update_share_network_subnet_from_metadata("},{"line_number":376,"context_line":"            context, share_network, share_network_subnet,"},{"line_number":377,"context_line":"            share_servers, metadata)"}],"source_content_type":"text/x-python","patch_set":2,"id":"cf9559cf_1779bde4","line":377,"range":{"start_line":371,"start_character":4,"end_line":377,"end_character":36},"in_reply_to":"41829703_8fd3e253","updated":"2024-12-12 16:58:21.000000000","message":"Done","commit_id":"723d9ffa905a79b1d3d3f480ec41e8449d8fc203"}],"manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py":[{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"a127eec30c8546c6bc601fd8480d3131037bf451","unresolved":true,"context_lines":[{"line_number":5164,"context_line":"        vserver_client.update_volume_snapshot_policy(share_name,"},{"line_number":5165,"context_line":"                                                     snapshot_policy)"},{"line_number":5166,"context_line":""},{"line_number":5167,"context_line":"    @na_utils.trace"},{"line_number":5168,"context_line":"    def update_showmount(self, share, showmount, share_server\u003dNone):"},{"line_number":5169,"context_line":"        _, vserver_client \u003d self._get_vserver(share_server\u003dshare_server)"},{"line_number":5170,"context_line":"        vserver_client.update_showmount(showmount)"},{"line_number":5171,"context_line":""},{"line_number":5172,"context_line":"    @na_utils.trace"},{"line_number":5173,"context_line":"    def update_share_from_metadata(self, context, share, metadata,"}],"source_content_type":"text/x-python","patch_set":2,"id":"a39a38d8_9ff85935","line":5170,"range":{"start_line":5167,"start_character":3,"end_line":5170,"end_character":50},"updated":"2024-12-12 14:40:57.000000000","message":"This is not require if you are updating showmount using share network.","commit_id":"723d9ffa905a79b1d3d3f480ec41e8449d8fc203"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"009b8876bce5f0ab7c649ffedfbb9770e9fd8644","unresolved":false,"context_lines":[{"line_number":5164,"context_line":"        vserver_client.update_volume_snapshot_policy(share_name,"},{"line_number":5165,"context_line":"                                                     snapshot_policy)"},{"line_number":5166,"context_line":""},{"line_number":5167,"context_line":"    @na_utils.trace"},{"line_number":5168,"context_line":"    def update_showmount(self, share, showmount, share_server\u003dNone):"},{"line_number":5169,"context_line":"        _, vserver_client \u003d self._get_vserver(share_server\u003dshare_server)"},{"line_number":5170,"context_line":"        vserver_client.update_showmount(showmount)"},{"line_number":5171,"context_line":""},{"line_number":5172,"context_line":"    @na_utils.trace"},{"line_number":5173,"context_line":"    def update_share_from_metadata(self, context, share, metadata,"}],"source_content_type":"text/x-python","patch_set":2,"id":"96108d4a_b2d40b46","line":5170,"range":{"start_line":5167,"start_character":3,"end_line":5170,"end_character":50},"in_reply_to":"80d142ca_a7a8225b","updated":"2025-02-27 11:08:02.000000000","message":"Done","commit_id":"723d9ffa905a79b1d3d3f480ec41e8449d8fc203"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e552622f4f13f882bf4bab4a87c199d340038c9b","unresolved":true,"context_lines":[{"line_number":5164,"context_line":"        vserver_client.update_volume_snapshot_policy(share_name,"},{"line_number":5165,"context_line":"                                                     snapshot_policy)"},{"line_number":5166,"context_line":""},{"line_number":5167,"context_line":"    @na_utils.trace"},{"line_number":5168,"context_line":"    def update_showmount(self, share, showmount, share_server\u003dNone):"},{"line_number":5169,"context_line":"        _, vserver_client \u003d self._get_vserver(share_server\u003dshare_server)"},{"line_number":5170,"context_line":"        vserver_client.update_showmount(showmount)"},{"line_number":5171,"context_line":""},{"line_number":5172,"context_line":"    @na_utils.trace"},{"line_number":5173,"context_line":"    def update_share_from_metadata(self, context, share, metadata,"}],"source_content_type":"text/x-python","patch_set":2,"id":"80d142ca_a7a8225b","line":5170,"range":{"start_line":5167,"start_character":3,"end_line":5170,"end_character":50},"in_reply_to":"a39a38d8_9ff85935","updated":"2024-12-12 16:58:21.000000000","message":"why its not required ? We are calling same function we used for share metadata with setting share\u003dNone and valid share_server.","commit_id":"723d9ffa905a79b1d3d3f480ec41e8449d8fc203"}],"manila/share/manager.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7b1d8b68a26a2b7ae3d0d9125facf1c871d2ee5d","unresolved":true,"context_lines":[{"line_number":6963,"context_line":"                resource_type\u003dmessage_field.Resource.SHARE,"},{"line_number":6964,"context_line":"                resource_id\u003dshare_network_subnet_id,"},{"line_number":6965,"context_line":"                detail\u003dmessage_field.Detail.UPDATE_METADATA_SUCCESS)"},{"line_number":6966,"context_line":"        except Exception:"},{"line_number":6967,"context_line":"            self.message_api.create("},{"line_number":6968,"context_line":"                context,"},{"line_number":6969,"context_line":"                message_field.Action.UPDATE_METADATA,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ae869e6a_80ec7948","line":6966,"range":{"start_line":6966,"start_character":8,"end_line":6966,"end_character":25},"updated":"2025-02-19 18:51:54.000000000","message":"the exception is too broad, maybe we should try to capture scenarios that are \"NotImplemented\" and other possible exceptions here","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"0333d76baadae824f32aed0c03205e8756967a6a","unresolved":false,"context_lines":[{"line_number":6963,"context_line":"                resource_type\u003dmessage_field.Resource.SHARE,"},{"line_number":6964,"context_line":"                resource_id\u003dshare_network_subnet_id,"},{"line_number":6965,"context_line":"                detail\u003dmessage_field.Detail.UPDATE_METADATA_SUCCESS)"},{"line_number":6966,"context_line":"        except Exception:"},{"line_number":6967,"context_line":"            self.message_api.create("},{"line_number":6968,"context_line":"                context,"},{"line_number":6969,"context_line":"                message_field.Action.UPDATE_METADATA,"}],"source_content_type":"text/x-python","patch_set":3,"id":"6cc0b949_9f1f6c13","line":6966,"range":{"start_line":6966,"start_character":8,"end_line":6966,"end_character":25},"in_reply_to":"ae869e6a_80ec7948","updated":"2025-02-21 14:56:35.000000000","message":"filtered NotImplemetedError","commit_id":"a30bce5d5a7790b0732e8f3ab8f31ea557619bf1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4824d853f4cb080f6978354740f06e6ed4594663","unresolved":true,"context_lines":[{"line_number":6962,"context_line":"                                                  share_network_id,"},{"line_number":6963,"context_line":"                                                  share_network_subnet_id,"},{"line_number":6964,"context_line":"                                                  metadata):"},{"line_number":6965,"context_line":"        share \u003d self.db.share_get(context, share_id)"},{"line_number":6966,"context_line":"        share_network \u003d self.db.share_network_get(context, share_network_id)"},{"line_number":6967,"context_line":"        share_network_subnet \u003d self.db.share_network_subnet_get("},{"line_number":6968,"context_line":"            context, share_network_subnet_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"a4549598_daa98e52","line":6965,"range":{"start_line":6965,"start_character":8,"end_line":6965,"end_character":52},"updated":"2025-02-25 01:48:41.000000000","message":"I think you\u0027re using the share to grab the project ID to set on the asynchronous user messages.. you could get that ID from the share network object too..","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"522ba9bffbe695a9c7bd37fd5c0a39b83984b2fd","unresolved":false,"context_lines":[{"line_number":6962,"context_line":"                                                  share_network_id,"},{"line_number":6963,"context_line":"                                                  share_network_subnet_id,"},{"line_number":6964,"context_line":"                                                  metadata):"},{"line_number":6965,"context_line":"        share \u003d self.db.share_get(context, share_id)"},{"line_number":6966,"context_line":"        share_network \u003d self.db.share_network_get(context, share_network_id)"},{"line_number":6967,"context_line":"        share_network_subnet \u003d self.db.share_network_subnet_get("},{"line_number":6968,"context_line":"            context, share_network_subnet_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7161b320_c206ee11","line":6965,"range":{"start_line":6965,"start_character":8,"end_line":6965,"end_character":52},"in_reply_to":"a4549598_daa98e52","updated":"2025-02-25 13:32:41.000000000","message":"Done","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4824d853f4cb080f6978354740f06e6ed4594663","unresolved":true,"context_lines":[{"line_number":6967,"context_line":"        share_network_subnet \u003d self.db.share_network_subnet_get("},{"line_number":6968,"context_line":"            context, share_network_subnet_id)"},{"line_number":6969,"context_line":"        share_servers \u003d self.db.share_server_get_all_with_filters("},{"line_number":6970,"context_line":"            context, {\u0027share_network_id\u0027: share_network_id}"},{"line_number":6971,"context_line":"        )"},{"line_number":6972,"context_line":""},{"line_number":6973,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"00e7f3bf_1588f8a9","line":6970,"range":{"start_line":6970,"start_character":21,"end_line":6970,"end_character":59},"updated":"2025-02-25 01:48:41.000000000","message":"the filter should use the specific share network subnet.. not share_network_id","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"abad74bace8762d54fd4c4daa413485a947bfa5b","unresolved":true,"context_lines":[{"line_number":6967,"context_line":"        share_network_subnet \u003d self.db.share_network_subnet_get("},{"line_number":6968,"context_line":"            context, share_network_subnet_id)"},{"line_number":6969,"context_line":"        share_servers \u003d self.db.share_server_get_all_with_filters("},{"line_number":6970,"context_line":"            context, {\u0027share_network_id\u0027: share_network_id}"},{"line_number":6971,"context_line":"        )"},{"line_number":6972,"context_line":""},{"line_number":6973,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f20428a_1d68916a","line":6970,"range":{"start_line":6970,"start_character":21,"end_line":6970,"end_character":59},"in_reply_to":"00e7f3bf_1588f8a9","updated":"2025-02-25 07:11:55.000000000","message":"https://opendev.org/openstack/manila/src/commit/7fd3fe1dc6f7824d86460b0ddf819fc326f87c01/manila/db/sqlalchemy/api.py#L5584-L5595\n\nThe query logic from the db layer, where share_network_id is used directly, should be OK.\n\nThere\u0027s another place that works the same way.\nhttps://opendev.org/openstack/manila/src/commit/7fd3fe1dc6f7824d86460b0ddf819fc326f87c01/manila/share/manager.py#L6512","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"522ba9bffbe695a9c7bd37fd5c0a39b83984b2fd","unresolved":false,"context_lines":[{"line_number":6967,"context_line":"        share_network_subnet \u003d self.db.share_network_subnet_get("},{"line_number":6968,"context_line":"            context, share_network_subnet_id)"},{"line_number":6969,"context_line":"        share_servers \u003d self.db.share_server_get_all_with_filters("},{"line_number":6970,"context_line":"            context, {\u0027share_network_id\u0027: share_network_id}"},{"line_number":6971,"context_line":"        )"},{"line_number":6972,"context_line":""},{"line_number":6973,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"f8b3b68b_f9609033","line":6970,"range":{"start_line":6970,"start_character":21,"end_line":6970,"end_character":59},"in_reply_to":"5f20428a_1d68916a","updated":"2025-02-25 13:32:41.000000000","message":"yes, i hope thats valid.","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"abad74bace8762d54fd4c4daa413485a947bfa5b","unresolved":true,"context_lines":[{"line_number":6986,"context_line":"                detail\u003dmessage_field.Detail.UPDATE_METADATA_SUCCESS)"},{"line_number":6987,"context_line":"        except Exception as e:"},{"line_number":6988,"context_line":"            if not isinstance(e, NotImplementedError):"},{"line_number":6989,"context_line":"                self.message_api.create("},{"line_number":6990,"context_line":"                    context,"},{"line_number":6991,"context_line":"                    message_field.Action.UPDATE_METADATA,"},{"line_number":6992,"context_line":"                    share[\u0027project_id\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"c3f8ae05_1430361a","line":6989,"updated":"2025-02-25 07:11:55.000000000","message":"i think we need with excutils.save_and_reraise_exception(): \n\n            if not isinstance(e, NotImplementedError):\n                with excutils.save_and_reraise_exception(): \n                    self.message_api.create(\n                        context,\n                        message_field.Action.UPDATE_METADATA,\n                        share[\u0027project_id\u0027],\n                        resource_type\u003dmessage_field.Resource.SHARE_NETWORK_SUBNET,\n                        resource_id\u003dshare_network_subnet_id,\n                        detail\u003dmessage_field.Detail.UPDATE_METADATA_FAILURE)","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"522ba9bffbe695a9c7bd37fd5c0a39b83984b2fd","unresolved":false,"context_lines":[{"line_number":6986,"context_line":"                detail\u003dmessage_field.Detail.UPDATE_METADATA_SUCCESS)"},{"line_number":6987,"context_line":"        except Exception as e:"},{"line_number":6988,"context_line":"            if not isinstance(e, NotImplementedError):"},{"line_number":6989,"context_line":"                self.message_api.create("},{"line_number":6990,"context_line":"                    context,"},{"line_number":6991,"context_line":"                    message_field.Action.UPDATE_METADATA,"},{"line_number":6992,"context_line":"                    share[\u0027project_id\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"a045f57c_5737841a","line":6989,"in_reply_to":"c3f8ae05_1430361a","updated":"2025-02-25 13:32:41.000000000","message":"No in either case, we wont be raising exception. Both failure/success reported via user message.","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"79fea102d5abb253b515ab5471455835b697b00d","unresolved":true,"context_lines":[{"line_number":840,"context_line":""},{"line_number":841,"context_line":"        return _wrapped_provide_share_server_for_share()"},{"line_number":842,"context_line":""},{"line_number":843,"context_line":"    def _build_server_metadata(self, host, share_type_id):"},{"line_number":844,"context_line":"        return {"},{"line_number":845,"context_line":"            \u0027request_host\u0027: host,"},{"line_number":846,"context_line":"            \u0027share_type_id\u0027: share_type_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"2baa905c_17c7a4dd","line":843,"updated":"2025-02-27 19:14:56.000000000","message":"What happens when share network subnet metadata already exists prior to creating the server? \n\nShouldn\u0027t this method be enhanced to handle that case?","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"62e9e704698927d08184deebdb0f7009ed93a071","unresolved":false,"context_lines":[{"line_number":840,"context_line":""},{"line_number":841,"context_line":"        return _wrapped_provide_share_server_for_share()"},{"line_number":842,"context_line":""},{"line_number":843,"context_line":"    def _build_server_metadata(self, host, share_type_id):"},{"line_number":844,"context_line":"        return {"},{"line_number":845,"context_line":"            \u0027request_host\u0027: host,"},{"line_number":846,"context_line":"            \u0027share_type_id\u0027: share_type_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"c5c8159f_604309b1","line":843,"in_reply_to":"2baa905c_17c7a4dd","updated":"2025-02-28 07:15:43.000000000","message":"If that is the case, user should send update query again and it will trigger on old as well as new servers.","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d60636f4eaebeeb705f675dd69f48c8227edea17","unresolved":false,"context_lines":[{"line_number":840,"context_line":""},{"line_number":841,"context_line":"        return _wrapped_provide_share_server_for_share()"},{"line_number":842,"context_line":""},{"line_number":843,"context_line":"    def _build_server_metadata(self, host, share_type_id):"},{"line_number":844,"context_line":"        return {"},{"line_number":845,"context_line":"            \u0027request_host\u0027: host,"},{"line_number":846,"context_line":"            \u0027share_type_id\u0027: share_type_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"444e0754_37c7e0db","line":843,"in_reply_to":"4167d4d4_953f08a2","updated":"2025-02-28 18:51:59.000000000","message":"yes, I will add bug for the same.","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5bb80d4237b3e82c09799d15816a99590c9a1528","unresolved":true,"context_lines":[{"line_number":840,"context_line":""},{"line_number":841,"context_line":"        return _wrapped_provide_share_server_for_share()"},{"line_number":842,"context_line":""},{"line_number":843,"context_line":"    def _build_server_metadata(self, host, share_type_id):"},{"line_number":844,"context_line":"        return {"},{"line_number":845,"context_line":"            \u0027request_host\u0027: host,"},{"line_number":846,"context_line":"            \u0027share_type_id\u0027: share_type_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"4167d4d4_953f08a2","line":843,"in_reply_to":"c5c8159f_604309b1","updated":"2025-02-28 17:33:10.000000000","message":"how does the user know when a new share server is created? doing this seems like shooting in the dark and hoping something would work. \n\nIdeally, new share servers must enforce existing metadata.. \n\nI\u0027m not suggesting we change all the drivers right now, but i want us to acknowledge this is a broken design and try to rectify it as a bug fix.","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"79fea102d5abb253b515ab5471455835b697b00d","unresolved":true,"context_lines":[{"line_number":6983,"context_line":"                resource_id\u003dshare_network_subnet_id,"},{"line_number":6984,"context_line":"                detail\u003dmessage_field.Detail.UPDATE_METADATA_SUCCESS)"},{"line_number":6985,"context_line":"        except Exception as e:"},{"line_number":6986,"context_line":"            if not isinstance(e, NotImplementedError):"},{"line_number":6987,"context_line":"                self.message_api.create("},{"line_number":6988,"context_line":"                    context,"},{"line_number":6989,"context_line":"                    message_field.Action.UPDATE_METADATA,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3019edd0_cccecb74","line":6986,"range":{"start_line":6986,"start_character":12,"end_line":6986,"end_character":54},"updated":"2025-02-27 19:14:56.000000000","message":"why are we ignoring NotImplementedError? If its not implemented, the user should still receive an error\n\naslo please log the exception here..","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d60636f4eaebeeb705f675dd69f48c8227edea17","unresolved":false,"context_lines":[{"line_number":6983,"context_line":"                resource_id\u003dshare_network_subnet_id,"},{"line_number":6984,"context_line":"                detail\u003dmessage_field.Detail.UPDATE_METADATA_SUCCESS)"},{"line_number":6985,"context_line":"        except Exception as e:"},{"line_number":6986,"context_line":"            if not isinstance(e, NotImplementedError):"},{"line_number":6987,"context_line":"                self.message_api.create("},{"line_number":6988,"context_line":"                    context,"},{"line_number":6989,"context_line":"                    message_field.Action.UPDATE_METADATA,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1c80b7df_d94f88dc","line":6986,"range":{"start_line":6986,"start_character":12,"end_line":6986,"end_character":54},"in_reply_to":"1af1d690_6ceea01e","updated":"2025-02-28 18:51:59.000000000","message":"Done","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"62e9e704698927d08184deebdb0f7009ed93a071","unresolved":false,"context_lines":[{"line_number":6983,"context_line":"                resource_id\u003dshare_network_subnet_id,"},{"line_number":6984,"context_line":"                detail\u003dmessage_field.Detail.UPDATE_METADATA_SUCCESS)"},{"line_number":6985,"context_line":"        except Exception as e:"},{"line_number":6986,"context_line":"            if not isinstance(e, NotImplementedError):"},{"line_number":6987,"context_line":"                self.message_api.create("},{"line_number":6988,"context_line":"                    context,"},{"line_number":6989,"context_line":"                    message_field.Action.UPDATE_METADATA,"}],"source_content_type":"text/x-python","patch_set":6,"id":"adce69bc_8490c131","line":6986,"range":{"start_line":6986,"start_character":12,"end_line":6986,"end_character":54},"in_reply_to":"3019edd0_cccecb74","updated":"2025-02-28 07:15:43.000000000","message":"In earlier review, it was suggested to ignore this one. Anyways I added log.","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"814bc421940b579b1bd2e06260de84c1331a5ea6","unresolved":false,"context_lines":[{"line_number":6983,"context_line":"                resource_id\u003dshare_network_subnet_id,"},{"line_number":6984,"context_line":"                detail\u003dmessage_field.Detail.UPDATE_METADATA_SUCCESS)"},{"line_number":6985,"context_line":"        except Exception as e:"},{"line_number":6986,"context_line":"            if not isinstance(e, NotImplementedError):"},{"line_number":6987,"context_line":"                self.message_api.create("},{"line_number":6988,"context_line":"                    context,"},{"line_number":6989,"context_line":"                    message_field.Action.UPDATE_METADATA,"}],"source_content_type":"text/x-python","patch_set":6,"id":"feb43e77_d99b1935","line":6986,"range":{"start_line":6986,"start_character":12,"end_line":6986,"end_character":54},"in_reply_to":"adce69bc_8490c131","updated":"2025-02-28 12:37:16.000000000","message":"\u003e why are we ignoring NotImplementedError? If its not implemented, the user should still receive an error\n\nI thought about this when I asked Kiran to check the not implemented error. When I asked for it, we were not checking whether the driver was implementing this or not and were forwarding the call to the driver 100% of the times, meaning that for NetApp it would work, but if another driver that didn\u0027t have this implemented gets called, it would raise NotImplementedError even though the driver shouldn\u0027t do nothing about it or doesn\u0027t have any metadata that they are willing to update in the backend.","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5bb80d4237b3e82c09799d15816a99590c9a1528","unresolved":true,"context_lines":[{"line_number":6983,"context_line":"                resource_id\u003dshare_network_subnet_id,"},{"line_number":6984,"context_line":"                detail\u003dmessage_field.Detail.UPDATE_METADATA_SUCCESS)"},{"line_number":6985,"context_line":"        except Exception as e:"},{"line_number":6986,"context_line":"            if not isinstance(e, NotImplementedError):"},{"line_number":6987,"context_line":"                self.message_api.create("},{"line_number":6988,"context_line":"                    context,"},{"line_number":6989,"context_line":"                    message_field.Action.UPDATE_METADATA,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1af1d690_6ceea01e","line":6986,"range":{"start_line":6986,"start_character":12,"end_line":6986,"end_character":54},"in_reply_to":"feb43e77_d99b1935","updated":"2025-02-28 17:33:10.000000000","message":"This seems like an earlier code design as Carlos pointed out. Right now, the way it is written, _any_ error here should cause a user message suggesting that the update wasn\u0027t done. \n\nImagine having a cloud with two backends, one that supports updates and one that doesn\u0027t.. how would the user know which of their updates are taking effect?","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"}],"manila/share/rpcapi.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4824d853f4cb080f6978354740f06e6ed4594663","unresolved":true,"context_lines":[{"line_number":547,"context_line":"                                                  share_network_id,"},{"line_number":548,"context_line":"                                                  share_network_subnet_id,"},{"line_number":549,"context_line":"                                                  metadata):"},{"line_number":550,"context_line":"        host \u003d utils.extract_host(share[\u0027instance\u0027][\u0027host\u0027])"},{"line_number":551,"context_line":"        call_context \u003d self.client.prepare(server\u003dhost, version\u003d\u00271.30\u0027)"},{"line_number":552,"context_line":"        return call_context.cast("},{"line_number":553,"context_line":"            context,"}],"source_content_type":"text/x-python","patch_set":4,"id":"bae783fb_ba0256bf","line":550,"range":{"start_line":550,"start_character":8,"end_line":550,"end_character":60},"updated":"2025-02-25 01:48:41.000000000","message":"wrong object, the user\u0027s updating metadata on a share network subnet. You\u0027re looking to send a message to all the hosts associated with the share network subnet.. \n\nEach share server is associated with a single share network subnet.. however, a share network subnet can have multiple share servers, and these can be on different hosts. \n\nYou should enumerate the share servers, loop through them and send an update metadata call to each one of them","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"522ba9bffbe695a9c7bd37fd5c0a39b83984b2fd","unresolved":false,"context_lines":[{"line_number":547,"context_line":"                                                  share_network_id,"},{"line_number":548,"context_line":"                                                  share_network_subnet_id,"},{"line_number":549,"context_line":"                                                  metadata):"},{"line_number":550,"context_line":"        host \u003d utils.extract_host(share[\u0027instance\u0027][\u0027host\u0027])"},{"line_number":551,"context_line":"        call_context \u003d self.client.prepare(server\u003dhost, version\u003d\u00271.30\u0027)"},{"line_number":552,"context_line":"        return call_context.cast("},{"line_number":553,"context_line":"            context,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ac4fe1d0_7e539a7a","line":550,"range":{"start_line":550,"start_character":8,"end_line":550,"end_character":60},"in_reply_to":"bae783fb_ba0256bf","updated":"2025-02-25 13:32:41.000000000","message":"Done","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"}],"manila/tests/api/v2/test_share_network_subnets.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"79dd3430ecc2a27e2278750fa1c4250230730ad1","unresolved":true,"context_lines":[{"line_number":506,"context_line":"                                           parent_id\u003dself.share_network[\u0027id\u0027])"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"    def test_create_metadata(self):"},{"line_number":509,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/subnets/\u0027, version\u003d\"2.89\")"},{"line_number":510,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":511,"context_line":"        mock_index \u003d self.mock_object("},{"line_number":512,"context_line":"            self.controller, \u0027_create_metadata\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3c31a77a_a2b925f0","line":509,"range":{"start_line":509,"start_character":60,"end_line":509,"end_character":64},"updated":"2025-02-26 21:47:22.000000000","message":"the tests should have ddts to test versions \u003e\u003d 2.89 as well as versions \u003c 2.89. When the API version is older, we should ensure that the tests are not asking the share/api to update the metadata, so it would mean that this in the coverage report [1] would not always be true.","commit_id":"f4779e0fc8dc767cf5d48bbc7ce17034238d85ce"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"009b8876bce5f0ab7c649ffedfbb9770e9fd8644","unresolved":false,"context_lines":[{"line_number":506,"context_line":"                                           parent_id\u003dself.share_network[\u0027id\u0027])"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"    def test_create_metadata(self):"},{"line_number":509,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/subnets/\u0027, version\u003d\"2.89\")"},{"line_number":510,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":511,"context_line":"        mock_index \u003d self.mock_object("},{"line_number":512,"context_line":"            self.controller, \u0027_create_metadata\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"12a32345_d6aee660","line":509,"range":{"start_line":509,"start_character":60,"end_line":509,"end_character":64},"in_reply_to":"3c31a77a_a2b925f0","updated":"2025-02-27 11:08:02.000000000","message":"ok, test updated.","commit_id":"f4779e0fc8dc767cf5d48bbc7ce17034238d85ce"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"79fea102d5abb253b515ab5471455835b697b00d","unresolved":true,"context_lines":[{"line_number":526,"context_line":"        metadata_support \u003d (req.api_version_request \u003e\u003d"},{"line_number":527,"context_line":"                            api_version.APIVersionRequest(\"2.89\"))"},{"line_number":528,"context_line":"        if metadata_support:"},{"line_number":529,"context_line":"            mock_update.assert_called_once_with("},{"line_number":530,"context_line":"                context, self.share_network[\u0027id\u0027],"},{"line_number":531,"context_line":"                self.subnet[\u0027id\u0027], \u0027fake_metadata\u0027)"},{"line_number":532,"context_line":""},{"line_number":533,"context_line":"    @ddt.data(\"2.78\", \"2.89\")"},{"line_number":534,"context_line":"    def test_update_all_metadata(self, version):"}],"source_content_type":"text/x-python","patch_set":6,"id":"41b8aac0_684e248c","line":531,"range":{"start_line":529,"start_character":12,"end_line":531,"end_character":51},"updated":"2025-02-27 19:14:56.000000000","message":"else:\n    mock_update.assert_not_called()","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"62e9e704698927d08184deebdb0f7009ed93a071","unresolved":false,"context_lines":[{"line_number":526,"context_line":"        metadata_support \u003d (req.api_version_request \u003e\u003d"},{"line_number":527,"context_line":"                            api_version.APIVersionRequest(\"2.89\"))"},{"line_number":528,"context_line":"        if metadata_support:"},{"line_number":529,"context_line":"            mock_update.assert_called_once_with("},{"line_number":530,"context_line":"                context, self.share_network[\u0027id\u0027],"},{"line_number":531,"context_line":"                self.subnet[\u0027id\u0027], \u0027fake_metadata\u0027)"},{"line_number":532,"context_line":""},{"line_number":533,"context_line":"    @ddt.data(\"2.78\", \"2.89\")"},{"line_number":534,"context_line":"    def test_update_all_metadata(self, version):"}],"source_content_type":"text/x-python","patch_set":6,"id":"647aa37b_a088002a","line":531,"range":{"start_line":529,"start_character":12,"end_line":531,"end_character":51},"in_reply_to":"41b8aac0_684e248c","updated":"2025-02-28 07:15:43.000000000","message":"Done","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"79fea102d5abb253b515ab5471455835b697b00d","unresolved":true,"context_lines":[{"line_number":553,"context_line":"        if metadata_support:"},{"line_number":554,"context_line":"            mock_update.assert_called_once_with("},{"line_number":555,"context_line":"                context, self.share_network[\u0027id\u0027],"},{"line_number":556,"context_line":"                self.subnet[\u0027id\u0027], \u0027fake_metadata\u0027)"},{"line_number":557,"context_line":""},{"line_number":558,"context_line":"    @ddt.data(\"2.78\", \"2.89\")"},{"line_number":559,"context_line":"    def test_update_metadata_item(self, version):"}],"source_content_type":"text/x-python","patch_set":6,"id":"ca8ad370_2467f06f","line":556,"updated":"2025-02-27 19:14:56.000000000","message":"same comment as above for all these tests","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"62e9e704698927d08184deebdb0f7009ed93a071","unresolved":false,"context_lines":[{"line_number":553,"context_line":"        if metadata_support:"},{"line_number":554,"context_line":"            mock_update.assert_called_once_with("},{"line_number":555,"context_line":"                context, self.share_network[\u0027id\u0027],"},{"line_number":556,"context_line":"                self.subnet[\u0027id\u0027], \u0027fake_metadata\u0027)"},{"line_number":557,"context_line":""},{"line_number":558,"context_line":"    @ddt.data(\"2.78\", \"2.89\")"},{"line_number":559,"context_line":"    def test_update_metadata_item(self, version):"}],"source_content_type":"text/x-python","patch_set":6,"id":"0e187749_f3b57624","line":556,"in_reply_to":"ca8ad370_2467f06f","updated":"2025-02-28 07:15:43.000000000","message":"Done","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"}],"manila/tests/share/drivers/dummy.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"79fea102d5abb253b515ab5471455835b697b00d","unresolved":true,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"            \"create_backup\": \"1.50\","},{"line_number":90,"context_line":"            \"restore_backup\": \"1.50\","},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        },"},{"line_number":93,"context_line":"    ),"},{"line_number":94,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":6,"id":"38836536_dcdfe9c2","line":91,"updated":"2025-02-27 19:14:56.000000000","message":"add a delay here for: update_share_network_subnet_from_metadata","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"62e9e704698927d08184deebdb0f7009ed93a071","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"            \"create_backup\": \"1.50\","},{"line_number":90,"context_line":"            \"restore_backup\": \"1.50\","},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        },"},{"line_number":93,"context_line":"    ),"},{"line_number":94,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":6,"id":"38864c18_c088858a","line":91,"in_reply_to":"38836536_dcdfe9c2","updated":"2025-02-28 07:15:43.000000000","message":"Done","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"}],"releasenotes/notes/bp-pass-resource-metadata-updates-to-backend-drivers-7fff302f64fda2d7.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4824d853f4cb080f6978354740f06e6ed4594663","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bdbdc1d7_ddf84e64","updated":"2025-02-25 01:48:41.000000000","message":"You can\u0027t modify an old release note after we ship releases. Your edits to this note are ignored. \n\nPlease create a new one.","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"522ba9bffbe695a9c7bd37fd5c0a39b83984b2fd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"408ad2f2_8db22e73","in_reply_to":"bdbdc1d7_ddf84e64","updated":"2025-02-25 13:32:41.000000000","message":"Done","commit_id":"4e1e276f535aaba06435427c2df93a59417004c0"}],"releasenotes/notes/bp-pass-share-network-subnet-metadata-updates-to-backend-drivers-10441eee8375f146.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"79fea102d5abb253b515ab5471455835b697b00d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8edd3882_1104f89a","line":13,"updated":"2025-02-27 19:14:56.000000000","message":"How is this feature expected to work with share network migration?\nRight now, with migration, metadata belonging to the old share network subnet is ignored when moving to a new share network.","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1c2bded4564890cfa7a4b4d27665f6c7b05384fa","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"2eb73cb7_0d9b8585","line":13,"in_reply_to":"2b10661c_002c5625","updated":"2025-02-28 17:51:10.000000000","message":"You\u0027re building a new feature that introduces new expectations from users. Metadata before this change was a mutable set of annotations just for query purposes. With this change, a subset of metadata becomes meaningful because it potentially changes something significant on the back end. \n\nNow, with that context, can you consider the impact?\n\nLosing the ability to query something is far less of a problem than losing the ability to toggle something on the backend. \n\nSo my question is directly concerning the inline question regarding giving drivers the subnet metadata during share server creation. If this is done, the expectation is that the same is done during migration. \n\nIf you think we should not migrate metadata at the subnet level, that\u0027s fine.. it\u0027s something we can clarify in the docs.","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d60636f4eaebeeb705f675dd69f48c8227edea17","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"64064e4b_4ec06935","line":13,"in_reply_to":"2eb73cb7_0d9b8585","updated":"2025-02-28 18:51:59.000000000","message":"releasenotes updated and few lines in doc are added.","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"83f2d64c6663d5697fdaeb20178d27a0d5be5ae4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"39492502_151cb94d","line":13,"in_reply_to":"64064e4b_4ec06935","updated":"2025-03-01 05:39:55.000000000","message":"Done","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"62e9e704698927d08184deebdb0f7009ed93a071","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"2b10661c_002c5625","line":13,"in_reply_to":"8edd3882_1104f89a","updated":"2025-02-28 07:15:43.000000000","message":"Lets consider basic thing, if metadata is ignored, the updates to backed are also ignored. If we need different behaviour, we can update/change in future.","commit_id":"72c24efded758ee4987c97e03b15a4c8240c9470"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"187d82353a62428f3cf486e13942bc7044f3295a","unresolved":true,"context_lines":[{"line_number":11,"context_line":"    the necessary changes. The result will be communicated through user"},{"line_number":12,"context_line":"    messages. This feature is supported from microversion \u00272.89\u0027. Since,"},{"line_number":13,"context_line":"    with share network migration, metadata belonging to the old share network"},{"line_number":14,"context_line":"    subnet is ignored when moving to a new share network and hence updates"},{"line_number":15,"context_line":"    will not be passed to new share servers."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"67e28445_d194d061","line":14,"range":{"start_line":14,"start_character":57,"end_line":14,"end_character":66},"updated":"2025-02-28 23:46:26.000000000","message":"s/and hence/,/","commit_id":"aff1ea302beae473db9294207fc039f69666fea8"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"83f2d64c6663d5697fdaeb20178d27a0d5be5ae4","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    the necessary changes. The result will be communicated through user"},{"line_number":12,"context_line":"    messages. This feature is supported from microversion \u00272.89\u0027. Since,"},{"line_number":13,"context_line":"    with share network migration, metadata belonging to the old share network"},{"line_number":14,"context_line":"    subnet is ignored when moving to a new share network and hence updates"},{"line_number":15,"context_line":"    will not be passed to new share servers."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"61b8855e_686f8f72","line":14,"range":{"start_line":14,"start_character":57,"end_line":14,"end_character":66},"in_reply_to":"67e28445_d194d061","updated":"2025-03-01 05:39:55.000000000","message":"Done","commit_id":"aff1ea302beae473db9294207fc039f69666fea8"}]}
