)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"1744333bc15ad6bfa4c218ed9ac78dc857028acd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f423356a_56ec7ad7","updated":"2026-01-20 15:00:11.000000000","message":"Looking pretty good, thanks for working on this, Kim! Please take a look at the comment inline","commit_id":"f6d3c07589db8e8116f4d7a961e3e803e661d72d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e61fd7d1691a21ba6b94b41ddb2543b6e88a9741","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"49cf2661_0f5736bd","updated":"2026-01-26 18:16:44.000000000","message":"Hi @ek121.kim@samsung.com ; thank you for working on this.. please see comments inline","commit_id":"1f68105eccaf5fa714e5a01e3aacf3f33870aa25"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"edbddeac5e99e40fdf5e2e13af9542fcf3d6e6e3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ccbd601f_93bc5fc2","updated":"2026-02-17 06:45:42.000000000","message":"@ek121.kim@samsung.com: Could you please rebase this change?","commit_id":"84ae5b44eaaab7350c76260c366acb44843a305d"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"382a7832df6242b72492175c21f338fc158bd248","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"53035a32_4fb12d7a","updated":"2026-02-12 11:21:20.000000000","message":"LGTM ..!","commit_id":"84ae5b44eaaab7350c76260c366acb44843a305d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2db9f03f940b3466e5e2bea66b21849351f383ab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d65a597d_a13ee4e7","updated":"2026-02-02 17:55:18.000000000","message":"LGTM, thank you @ek121.kim@samsung.com!","commit_id":"84ae5b44eaaab7350c76260c366acb44843a305d"},{"author":{"_account_id":36741,"name":"Eunkyung Kim","display_name":"eunkyung","email":"ek121.kim@samsung.com","username":"eunkyung"},"change_message_id":"63af9067dcf3fdcfade5602db36cf37d78a7ebfa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"77422c03_71c20128","in_reply_to":"ccbd601f_93bc5fc2","updated":"2026-02-19 01:35:50.000000000","message":"@gouthampravi@gmail.com I did rebase and push!","commit_id":"84ae5b44eaaab7350c76260c366acb44843a305d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7c082e6e9a49ae95d6eef0f4635e108d2e99037d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"ba1143a9_417bc46d","updated":"2026-02-19 18:14:05.000000000","message":"LGTM, thanks Kim","commit_id":"407d755b19c831554780f3c18a1634cc28f10d5b"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"af2897218af8ea0f5c30abb7347080a826b9ca45","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b6661a77_c6f41e13","updated":"2026-02-19 06:07:16.000000000","message":"Please take a look at the comment.","commit_id":"407d755b19c831554780f3c18a1634cc28f10d5b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6104e962b0385fb10ce82b6905b3887cad8a2d71","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"ae28b8fb_9dcb4d54","updated":"2026-02-19 17:51:44.000000000","message":"recheck\n\nunrelated CI failure should be addressed with a fix to an upstream package","commit_id":"407d755b19c831554780f3c18a1634cc28f10d5b"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"fb20cf909b86c51240bf6d574a31cc793287a442","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"5c7d9142_96c88f71","updated":"2026-02-19 19:09:35.000000000","message":"LGTM","commit_id":"ca849e2fb63ecb4f7ec74d98ed2f63d31b721dd5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"851d8ce37937dee6bf0ed44495fa88a24bb23949","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"0fe8a7b8_597a59a7","updated":"2026-02-19 19:25:02.000000000","message":"Let\u0027s get this in","commit_id":"ca849e2fb63ecb4f7ec74d98ed2f63d31b721dd5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"89c7eb8233ebaf04cd822776370899dde3450d8c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"4c2269eb_8ef2fae1","updated":"2026-02-19 22:10:00.000000000","message":"Change was in merge conflict, so I fixed it","commit_id":"6972815d9645fcb4f32bf11911a3197f206b616f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4d80e4b31283abbc6ca39d9a56f9d7aea5e184f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"9cef1688_ac984572","updated":"2026-02-19 22:23:19.000000000","message":"Perfect, thanks for rebasing Carlos - this LGTM if Zuul agrees..","commit_id":"55fb7e03e78f0c9fae7f08344d57ab95629a7383"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"57ffcb86daf0f93ed7150f8494169900dc300740","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"1cbe77e5_c0d2cf98","updated":"2026-02-20 18:07:04.000000000","message":"LGTM, thank you for fixing up the tests","commit_id":"fa13cec403cc0b254065770fece133b7c9c2c0e3"}],"api-ref/source/samples/share-manage-request.json":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e61fd7d1691a21ba6b94b41ddb2543b6e88a9741","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3c47906b_7200143f","updated":"2026-01-26 18:16:44.000000000","message":"I\u0027d modify `api-ref/source/samples/share-manage-response.json` as well to ensure that the export_location is adjusted per the mount point name you\u0027re setting\n\n\n[1] https://github.com/openstack/manila/blob/b91cacf5286b2ea6af1099ceb7aa4e8bf6e18fc9/api-ref/source/samples/share-manage-response.json#L23","commit_id":"1f68105eccaf5fa714e5a01e3aacf3f33870aa25"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a11e80a871236e290ef2d977b6f3e7dc0fc252e1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"449f68a1_502d1e95","in_reply_to":"0a7e87bd_725b7d2e","updated":"2026-01-27 22:36:56.000000000","message":"Yes, that\u0027s because \"export_location\" was removed in later microversions - the sample response is from microversion \u00272.0\u0027.. but you\u0027re right, updating the response can be confusing because \"mount_point_name\" isn\u0027t expected until version 2.92. \n\nOne thing you could do is just replace the response per the version \"2.92\" - this will get rid of the \"export_location\" field and everything else that was removed in the interim.","commit_id":"1f68105eccaf5fa714e5a01e3aacf3f33870aa25"},{"author":{"_account_id":36741,"name":"Eunkyung Kim","display_name":"eunkyung","email":"ek121.kim@samsung.com","username":"eunkyung"},"change_message_id":"ec95ca0e8029da8e9b1b1c6ffb093eca64042431","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0a7e87bd_725b7d2e","in_reply_to":"3c47906b_7200143f","updated":"2026-01-27 08:31:11.000000000","message":"When I tested (with NetApp driver), there was no export_location field in the response.. So I didn\u0027t make a change. Should I remove that line then?","commit_id":"1f68105eccaf5fa714e5a01e3aacf3f33870aa25"},{"author":{"_account_id":36741,"name":"Eunkyung Kim","display_name":"eunkyung","email":"ek121.kim@samsung.com","username":"eunkyung"},"change_message_id":"e204dd7c9a3523700e228cc7b8c55c36fa24352e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e0210da9_66bb4223","in_reply_to":"449f68a1_502d1e95","updated":"2026-02-02 07:56:59.000000000","message":"@gouthampravi@gmail.com, I updated the share manage API\u0027s response parameters and example to the latest value. (corresponding to version \"2.92\")\nPlease check again. (And I also described this change info briefly in the commit message.)","commit_id":"1f68105eccaf5fa714e5a01e3aacf3f33870aa25"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6104e962b0385fb10ce82b6905b3887cad8a2d71","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"b741f60c_6585a188","in_reply_to":"e0210da9_66bb4223","updated":"2026-02-19 17:51:44.000000000","message":"Done","commit_id":"1f68105eccaf5fa714e5a01e3aacf3f33870aa25"}],"api-ref/source/shares.inc":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2db9f03f940b3466e5e2bea66b21849351f383ab","unresolved":false,"context_lines":[{"line_number":613,"context_line":"   - source_share_group_snapshot_member_id: source_share_group_snapshot_member_id"},{"line_number":614,"context_line":"   - mount_snapshot_support: mount_snapshot_support_share_capability"},{"line_number":615,"context_line":"   - progress: progress_share_instance"},{"line_number":616,"context_line":"   - count: count"},{"line_number":617,"context_line":"   - volume_type: volume_type_shares_response"},{"line_number":618,"context_line":"   - export_location: export_location"},{"line_number":619,"context_line":"   - export_locations: export_locations"}],"source_content_type":"text/x-c++src","patch_set":4,"id":"b9ef6ae2_3dff0fe8","line":616,"updated":"2026-02-02 17:55:18.000000000","message":"wow, thank you for fixing this up!","commit_id":"1f68105eccaf5fa714e5a01e3aacf3f33870aa25"}],"manila/api/v2/share_manage.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"9d75945ecc50b52ab0ad46fad76696a637b238ae","unresolved":true,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        driver_options \u003d share_data.get(\u0027driver_options\u0027, {})"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        if share_data.get(\u0027mount_point_name\u0027) is not None:"},{"line_number":66,"context_line":"            share[\u0027mount_point_name\u0027] \u003d share_data[\u0027mount_point_name\u0027]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        try:"},{"line_number":69,"context_line":"            share_ref \u003d self.share_api.manage(context, share, driver_options)"},{"line_number":70,"context_line":"        except exception.PolicyNotAuthorized as e:"}],"source_content_type":"text/x-python","patch_set":8,"id":"df878c26_bf7bf375","line":67,"range":{"start_line":65,"start_character":0,"end_line":67,"end_character":0},"updated":"2026-02-19 22:17:25.000000000","message":"this no longer belongs here, we\u0027ve duplicated this code into shares.py so it doesn\u0027t need to call this older method","commit_id":"6972815d9645fcb4f32bf11911a3197f206b616f"},{"author":{"_account_id":36741,"name":"Eunkyung Kim","display_name":"eunkyung","email":"ek121.kim@samsung.com","username":"eunkyung"},"change_message_id":"c7d50b6bed35c1db398867b4bef9027313e920a1","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        driver_options \u003d share_data.get(\u0027driver_options\u0027, {})"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        if share_data.get(\u0027mount_point_name\u0027) is not None:"},{"line_number":66,"context_line":"            share[\u0027mount_point_name\u0027] \u003d share_data[\u0027mount_point_name\u0027]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        try:"},{"line_number":69,"context_line":"            share_ref \u003d self.share_api.manage(context, share, driver_options)"},{"line_number":70,"context_line":"        except exception.PolicyNotAuthorized as e:"}],"source_content_type":"text/x-python","patch_set":8,"id":"a4b6529e_39937ec8","line":67,"range":{"start_line":65,"start_character":0,"end_line":67,"end_character":0},"in_reply_to":"ca2afed9_c05b4585","updated":"2026-02-20 08:41:47.000000000","message":"Sorry, @gouthampravi@gmail.com I think my previous rebase didn\u0027t work properly.\nAnd now I noticed that the logic is moved from the deprecated controller.\nThanks, @ces.eduardo98@gmail.com!","commit_id":"6972815d9645fcb4f32bf11911a3197f206b616f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"30d84e31a8c05209778325f2af2574caaf8d96bb","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        driver_options \u003d share_data.get(\u0027driver_options\u0027, {})"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        if share_data.get(\u0027mount_point_name\u0027) is not None:"},{"line_number":66,"context_line":"            share[\u0027mount_point_name\u0027] \u003d share_data[\u0027mount_point_name\u0027]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        try:"},{"line_number":69,"context_line":"            share_ref \u003d self.share_api.manage(context, share, driver_options)"},{"line_number":70,"context_line":"        except exception.PolicyNotAuthorized as e:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ca2afed9_c05b4585","line":67,"range":{"start_line":65,"start_character":0,"end_line":67,"end_character":0},"in_reply_to":"df878c26_bf7bf375","updated":"2026-02-19 22:24:02.000000000","message":"Done","commit_id":"6972815d9645fcb4f32bf11911a3197f206b616f"}],"manila/share/api.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"1744333bc15ad6bfa4c218ed9ac78dc857028acd","unresolved":true,"context_lines":[{"line_number":1163,"context_line":"            # Check if share network is active, otherwise raise a BadRequest"},{"line_number":1164,"context_line":"            api_common.check_share_network_is_active(share_network)"},{"line_number":1165,"context_line":""},{"line_number":1166,"context_line":"        mount_point_name \u003d share_data.get(\u0027mount_point_name\u0027)"},{"line_number":1167,"context_line":"        share_type_attributes \u003d self.get_share_attributes_from_share_type("},{"line_number":1168,"context_line":"            share_type)"},{"line_number":1169,"context_line":"        mount_point_name_support \u003d share_type_attributes.get("},{"line_number":1170,"context_line":"            constants.ExtraSpecs.MOUNT_POINT_NAME_SUPPORT, None)"},{"line_number":1171,"context_line":"        if mount_point_name is not None:"},{"line_number":1172,"context_line":"            if not mount_point_name_support:"},{"line_number":1173,"context_line":"                msg \u003d _(\"Setting a mount point name is not supported\""},{"line_number":1174,"context_line":"                        \" by the share type used: %s.\" % share_type_id)"},{"line_number":1175,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":1176,"context_line":"            mount_point_name \u003d self._prefix_mount_point_name("},{"line_number":1177,"context_line":"                share_type, context, mount_point_name"},{"line_number":1178,"context_line":"            )"},{"line_number":1179,"context_line":""},{"line_number":1180,"context_line":"        share_data.update({"},{"line_number":1181,"context_line":"            \u0027user_id\u0027: context.user_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fce00fdb_1477ad2e","line":1178,"range":{"start_line":1166,"start_character":8,"end_line":1178,"end_character":13},"updated":"2026-01-20 15:00:11.000000000","message":"so this is correct, yes, but it\u0027s becoming code duplication at this point. Can we extract this into a function and have this method and the create method calling the new function and performing this validation? This also helps if we\u0027re introducing this feature for other resources in the future.","commit_id":"f6d3c07589db8e8116f4d7a961e3e803e661d72d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6104e962b0385fb10ce82b6905b3887cad8a2d71","unresolved":false,"context_lines":[{"line_number":1163,"context_line":"            # Check if share network is active, otherwise raise a BadRequest"},{"line_number":1164,"context_line":"            api_common.check_share_network_is_active(share_network)"},{"line_number":1165,"context_line":""},{"line_number":1166,"context_line":"        mount_point_name \u003d share_data.get(\u0027mount_point_name\u0027)"},{"line_number":1167,"context_line":"        share_type_attributes \u003d self.get_share_attributes_from_share_type("},{"line_number":1168,"context_line":"            share_type)"},{"line_number":1169,"context_line":"        mount_point_name_support \u003d share_type_attributes.get("},{"line_number":1170,"context_line":"            constants.ExtraSpecs.MOUNT_POINT_NAME_SUPPORT, None)"},{"line_number":1171,"context_line":"        if mount_point_name is not None:"},{"line_number":1172,"context_line":"            if not mount_point_name_support:"},{"line_number":1173,"context_line":"                msg \u003d _(\"Setting a mount point name is not supported\""},{"line_number":1174,"context_line":"                        \" by the share type used: %s.\" % share_type_id)"},{"line_number":1175,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":1176,"context_line":"            mount_point_name \u003d self._prefix_mount_point_name("},{"line_number":1177,"context_line":"                share_type, context, mount_point_name"},{"line_number":1178,"context_line":"            )"},{"line_number":1179,"context_line":""},{"line_number":1180,"context_line":"        share_data.update({"},{"line_number":1181,"context_line":"            \u0027user_id\u0027: context.user_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"4fd682e7_1d7898dc","line":1178,"range":{"start_line":1166,"start_character":8,"end_line":1178,"end_character":13},"in_reply_to":"2f0e0883_5c25645e","updated":"2026-02-19 17:51:44.000000000","message":"Done","commit_id":"f6d3c07589db8e8116f4d7a961e3e803e661d72d"},{"author":{"_account_id":36741,"name":"Eunkyung Kim","display_name":"eunkyung","email":"ek121.kim@samsung.com","username":"eunkyung"},"change_message_id":"79f1add8f64c58f4aad9c52d23300d1cd6cf947a","unresolved":true,"context_lines":[{"line_number":1163,"context_line":"            # Check if share network is active, otherwise raise a BadRequest"},{"line_number":1164,"context_line":"            api_common.check_share_network_is_active(share_network)"},{"line_number":1165,"context_line":""},{"line_number":1166,"context_line":"        mount_point_name \u003d share_data.get(\u0027mount_point_name\u0027)"},{"line_number":1167,"context_line":"        share_type_attributes \u003d self.get_share_attributes_from_share_type("},{"line_number":1168,"context_line":"            share_type)"},{"line_number":1169,"context_line":"        mount_point_name_support \u003d share_type_attributes.get("},{"line_number":1170,"context_line":"            constants.ExtraSpecs.MOUNT_POINT_NAME_SUPPORT, None)"},{"line_number":1171,"context_line":"        if mount_point_name is not None:"},{"line_number":1172,"context_line":"            if not mount_point_name_support:"},{"line_number":1173,"context_line":"                msg \u003d _(\"Setting a mount point name is not supported\""},{"line_number":1174,"context_line":"                        \" by the share type used: %s.\" % share_type_id)"},{"line_number":1175,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":1176,"context_line":"            mount_point_name \u003d self._prefix_mount_point_name("},{"line_number":1177,"context_line":"                share_type, context, mount_point_name"},{"line_number":1178,"context_line":"            )"},{"line_number":1179,"context_line":""},{"line_number":1180,"context_line":"        share_data.update({"},{"line_number":1181,"context_line":"            \u0027user_id\u0027: context.user_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"2f0e0883_5c25645e","line":1178,"range":{"start_line":1166,"start_character":8,"end_line":1178,"end_character":13},"in_reply_to":"fce00fdb_1477ad2e","updated":"2026-01-21 04:30:40.000000000","message":"Thanks Carlos! I extracted the duplicated logic into a new function.\nPlease check it!","commit_id":"f6d3c07589db8e8116f4d7a961e3e803e661d72d"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"af2897218af8ea0f5c30abb7347080a826b9ca45","unresolved":true,"context_lines":[{"line_number":1196,"context_line":"                              share_type, share_type_attributes):"},{"line_number":1197,"context_line":"        mount_point_name_support \u003d share_type_attributes.get("},{"line_number":1198,"context_line":"            constants.ExtraSpecs.MOUNT_POINT_NAME_SUPPORT, None)"},{"line_number":1199,"context_line":"        if mount_point_name is not None:"},{"line_number":1200,"context_line":"            if not mount_point_name_support:"},{"line_number":1201,"context_line":"                msg \u003d _(\"Setting a mount point name is not supported\""},{"line_number":1202,"context_line":"                        \" by the share type used: %s.\" % share_type_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"766bb278_fa18d821","line":1199,"updated":"2026-02-19 06:07:16.000000000","message":"Do we have any restrictions on mount_point_name that we want to enforce? For example, ONTAP (NetApp) allows having \"-\" and \"_\". But special characters other than these are discouraged.","commit_id":"407d755b19c831554780f3c18a1634cc28f10d5b"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"fb20cf909b86c51240bf6d574a31cc793287a442","unresolved":false,"context_lines":[{"line_number":1196,"context_line":"                              share_type, share_type_attributes):"},{"line_number":1197,"context_line":"        mount_point_name_support \u003d share_type_attributes.get("},{"line_number":1198,"context_line":"            constants.ExtraSpecs.MOUNT_POINT_NAME_SUPPORT, None)"},{"line_number":1199,"context_line":"        if mount_point_name is not None:"},{"line_number":1200,"context_line":"            if not mount_point_name_support:"},{"line_number":1201,"context_line":"                msg \u003d _(\"Setting a mount point name is not supported\""},{"line_number":1202,"context_line":"                        \" by the share type used: %s.\" % share_type_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ade4f40f_39b05a86","line":1199,"in_reply_to":"0532e54d_71a81612","updated":"2026-02-19 19:09:35.000000000","message":"Acknowledged","commit_id":"407d755b19c831554780f3c18a1634cc28f10d5b"},{"author":{"_account_id":36741,"name":"Eunkyung Kim","display_name":"eunkyung","email":"ek121.kim@samsung.com","username":"eunkyung"},"change_message_id":"85824b965765ca59601ddde5f9016deedd91f1d5","unresolved":true,"context_lines":[{"line_number":1196,"context_line":"                              share_type, share_type_attributes):"},{"line_number":1197,"context_line":"        mount_point_name_support \u003d share_type_attributes.get("},{"line_number":1198,"context_line":"            constants.ExtraSpecs.MOUNT_POINT_NAME_SUPPORT, None)"},{"line_number":1199,"context_line":"        if mount_point_name is not None:"},{"line_number":1200,"context_line":"            if not mount_point_name_support:"},{"line_number":1201,"context_line":"                msg \u003d _(\"Setting a mount point name is not supported\""},{"line_number":1202,"context_line":"                        \" by the share type used: %s.\" % share_type_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"0532e54d_71a81612","line":1199,"in_reply_to":"766bb278_fa18d821","updated":"2026-02-19 06:19:36.000000000","message":"@anoop.shukla@netapp.com: Yes, the `_prefix_mount_point_name` function (called in #1204 line) contains the logic to check for that restriction.\n- Allows only - and _ special characters\n- Restricts if it exceeds 255 characters","commit_id":"407d755b19c831554780f3c18a1634cc28f10d5b"}],"manila/share/drivers/netapp/dataontap/client/client_cmode.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e61fd7d1691a21ba6b94b41ddb2543b6e88a9741","unresolved":true,"context_lines":[{"line_number":3677,"context_line":"        \"\"\"Mounts a volume on a junction path.\"\"\""},{"line_number":3678,"context_line":"        api_args \u003d {"},{"line_number":3679,"context_line":"            \u0027volume-name\u0027: volume_name,"},{"line_number":3680,"context_line":"            \u0027junction-path\u0027: (\u0027/%s\u0027 % junction_path if junction_path"},{"line_number":3681,"context_line":"                              else \u0027/%s\u0027 % volume_name)"},{"line_number":3682,"context_line":"        }"},{"line_number":3683,"context_line":"        self.send_request(\u0027volume-mount\u0027, api_args)"}],"source_content_type":"text/x-python","patch_set":4,"id":"352a7ada_b4047e2a","line":3680,"range":{"start_line":3680,"start_character":30,"end_line":3680,"end_character":38},"updated":"2026-01-26 18:16:44.000000000","message":"A couple of things here:\n\n\nGenerally, unless all drivers are modified, we separate API changes and driver changes into separate commits. This allows for driver maintainers to review their driver code independently and to consider the API changes generically as to not affect a single vendor driver. The NetApp driver changes in this patch aren\u0027t mentioned in the commit message or release note either. So i\u0027d just extract these into a separate commit based on the commit that brings the Manila API changes\n\n\nSecond, what is the line being changed for? just a refactor, or is it a bug fix? something that is needed for mount point naming to work?","commit_id":"1f68105eccaf5fa714e5a01e3aacf3f33870aa25"},{"author":{"_account_id":36741,"name":"Eunkyung Kim","display_name":"eunkyung","email":"ek121.kim@samsung.com","username":"eunkyung"},"change_message_id":"e204dd7c9a3523700e228cc7b8c55c36fa24352e","unresolved":true,"context_lines":[{"line_number":3677,"context_line":"        \"\"\"Mounts a volume on a junction path.\"\"\""},{"line_number":3678,"context_line":"        api_args \u003d {"},{"line_number":3679,"context_line":"            \u0027volume-name\u0027: volume_name,"},{"line_number":3680,"context_line":"            \u0027junction-path\u0027: (\u0027/%s\u0027 % junction_path if junction_path"},{"line_number":3681,"context_line":"                              else \u0027/%s\u0027 % volume_name)"},{"line_number":3682,"context_line":"        }"},{"line_number":3683,"context_line":"        self.send_request(\u0027volume-mount\u0027, api_args)"}],"source_content_type":"text/x-python","patch_set":4,"id":"f0a2102f_daaefa57","line":3680,"range":{"start_line":3680,"start_character":30,"end_line":3680,"end_character":38},"in_reply_to":"10b80bba_8052f3e8","updated":"2026-02-02 07:56:59.000000000","message":"Thank you for your kind explanation!\nI\u0027ve split the changes into two commits.\nHere\u0027s my new NetApp commit: https://review.opendev.org/c/openstack/manila/+/975372","commit_id":"1f68105eccaf5fa714e5a01e3aacf3f33870aa25"},{"author":{"_account_id":36741,"name":"Eunkyung Kim","display_name":"eunkyung","email":"ek121.kim@samsung.com","username":"eunkyung"},"change_message_id":"ec95ca0e8029da8e9b1b1c6ffb093eca64042431","unresolved":true,"context_lines":[{"line_number":3677,"context_line":"        \"\"\"Mounts a volume on a junction path.\"\"\""},{"line_number":3678,"context_line":"        api_args \u003d {"},{"line_number":3679,"context_line":"            \u0027volume-name\u0027: volume_name,"},{"line_number":3680,"context_line":"            \u0027junction-path\u0027: (\u0027/%s\u0027 % junction_path if junction_path"},{"line_number":3681,"context_line":"                              else \u0027/%s\u0027 % volume_name)"},{"line_number":3682,"context_line":"        }"},{"line_number":3683,"context_line":"        self.send_request(\u0027volume-mount\u0027, api_args)"}],"source_content_type":"text/x-python","patch_set":4,"id":"d38b822d_691caa8a","line":3680,"range":{"start_line":3680,"start_character":30,"end_line":3680,"end_character":38},"in_reply_to":"352a7ada_b4047e2a","updated":"2026-01-27 08:31:11.000000000","message":"Ok, I will separate it. Thank you for your comment.\nBut I\u0027m a little confused about how to upload separated commits. Do I have to make a new branch for the separate commit? And can I use the same topic(bp/manage-with-mount-point-name)?\nAnd this change is for a bug fix.(https://bugs.launchpad.net/manila/+bug/2129743)","commit_id":"1f68105eccaf5fa714e5a01e3aacf3f33870aa25"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a11e80a871236e290ef2d977b6f3e7dc0fc252e1","unresolved":true,"context_lines":[{"line_number":3677,"context_line":"        \"\"\"Mounts a volume on a junction path.\"\"\""},{"line_number":3678,"context_line":"        api_args \u003d {"},{"line_number":3679,"context_line":"            \u0027volume-name\u0027: volume_name,"},{"line_number":3680,"context_line":"            \u0027junction-path\u0027: (\u0027/%s\u0027 % junction_path if junction_path"},{"line_number":3681,"context_line":"                              else \u0027/%s\u0027 % volume_name)"},{"line_number":3682,"context_line":"        }"},{"line_number":3683,"context_line":"        self.send_request(\u0027volume-mount\u0027, api_args)"}],"source_content_type":"text/x-python","patch_set":4,"id":"10b80bba_8052f3e8","line":3680,"range":{"start_line":3680,"start_character":30,"end_line":3680,"end_character":38},"in_reply_to":"d38b822d_691caa8a","updated":"2026-01-27 22:36:56.000000000","message":"Ah! the bug fix makes it all the more a reason to separate the patches. You can create a new commit on top of this one with those changes. That way, the new commit will end up as a new change on Gerrit.\n\nlocal branches are for your convenience, all changes that are sent up to gerrit will target the \"master\" branch. \n\n\n```\ngit fetch https://review.opendev.org/openstack/manila refs/changes/86/970786 \u0026\u0026 git checkout FETCH_HEAD \u0026\u0026 git checkout -b manila-with-mount-point\n```\n\n```\ngit checkout HEAD^ -- manila/share/drivers/netapp/\ngit checkout HEAD^ -- manila/tests/share/drivers/netapp/\n```\n\n```\n# Update commit to remove those files\ngit commit --amend --no-edit\n```\n\n```\n# add your new netapp commit\ngit add manila/share/drivers/netapp/\ngit add manila/tests/share/drivers/netapp/\ngit commit\n```\n\nWhen you use \"git review\" after this, it\u0027ll ask you if you mean to send two commits to gerrit. You\u0027d say yes.","commit_id":"1f68105eccaf5fa714e5a01e3aacf3f33870aa25"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2db9f03f940b3466e5e2bea66b21849351f383ab","unresolved":false,"context_lines":[{"line_number":3677,"context_line":"        \"\"\"Mounts a volume on a junction path.\"\"\""},{"line_number":3678,"context_line":"        api_args \u003d {"},{"line_number":3679,"context_line":"            \u0027volume-name\u0027: volume_name,"},{"line_number":3680,"context_line":"            \u0027junction-path\u0027: (\u0027/%s\u0027 % junction_path if junction_path"},{"line_number":3681,"context_line":"                              else \u0027/%s\u0027 % volume_name)"},{"line_number":3682,"context_line":"        }"},{"line_number":3683,"context_line":"        self.send_request(\u0027volume-mount\u0027, api_args)"}],"source_content_type":"text/x-python","patch_set":4,"id":"75e9c3b4_09aef91a","line":3680,"range":{"start_line":3680,"start_character":30,"end_line":3680,"end_character":38},"in_reply_to":"f0a2102f_daaefa57","updated":"2026-02-02 17:55:18.000000000","message":"Done","commit_id":"1f68105eccaf5fa714e5a01e3aacf3f33870aa25"}],"manila/tests/api/v2/test_share_manage.py":[{"author":{"_account_id":36741,"name":"Eunkyung Kim","display_name":"eunkyung","email":"ek121.kim@samsung.com","username":"eunkyung"},"change_message_id":"c7d50b6bed35c1db398867b4bef9027313e920a1","unresolved":true,"context_lines":[{"line_number":209,"context_line":"            \u0027share_type_id\u0027: \u0027fake\u0027,"},{"line_number":210,"context_line":"            \u0027display_name\u0027: \u0027foo\u0027,"},{"line_number":211,"context_line":"            \u0027display_description\u0027: \u0027bar\u0027,"},{"line_number":212,"context_line":"            \u0027mount_point_name\u0027: \u0027mount_point\u0027"},{"line_number":213,"context_line":"        }"},{"line_number":214,"context_line":"        data[\u0027share\u0027][\u0027is_public\u0027] \u003d \u0027foo\u0027"},{"line_number":215,"context_line":"        data[\u0027share\u0027][\u0027mount_point_name\u0027] \u003d \u0027mount_point\u0027"},{"line_number":216,"context_line":"        driver_options \u003d data[\u0027share\u0027].get(\u0027driver_options\u0027, {})"},{"line_number":217,"context_line":"        if isinstance(share[\u0027export_location_path\u0027], dict):"},{"line_number":218,"context_line":"            share[\u0027export_location_path\u0027] \u003d ("}],"source_content_type":"text/x-python","patch_set":9,"id":"0ba6eb74_1d9f3478","line":215,"range":{"start_line":212,"start_character":12,"end_line":215,"end_character":57},"updated":"2026-02-20 08:41:47.000000000","message":"@ces.eduardo98@gmail.com: And according to your change, I removed this test code\u0027s change, too.","commit_id":"55fb7e03e78f0c9fae7f08344d57ab95629a7383"}],"manila/tests/api/v2/test_shares.py":[{"author":{"_account_id":36741,"name":"Eunkyung Kim","display_name":"eunkyung","email":"ek121.kim@samsung.com","username":"eunkyung"},"change_message_id":"c7d50b6bed35c1db398867b4bef9027313e920a1","unresolved":true,"context_lines":[{"line_number":4137,"context_line":"        if (api_version.APIVersionRequest(version) \u003e\u003d"},{"line_number":4138,"context_line":"                api_version.APIVersionRequest(\u00272.8\u0027)):"},{"line_number":4139,"context_line":"            share[\u0027is_public\u0027] \u003d data[\u0027share\u0027][\u0027is_public\u0027]"},{"line_number":4140,"context_line":""},{"line_number":4141,"context_line":"        if (api_version.APIVersionRequest(version) \u003e\u003d"},{"line_number":4142,"context_line":"                api_version.APIVersionRequest(\u00272.80\u0027)):"},{"line_number":4143,"context_line":"            share[\u0027source_backup_id\u0027] \u003d None"},{"line_number":4144,"context_line":""},{"line_number":4145,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/shares/manage\u0027,"},{"line_number":4146,"context_line":"                                      version\u003dversion,"},{"line_number":4147,"context_line":"                                      use_admin_context\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":10,"id":"ac89b47a_88afbb90","side":"PARENT","line":4144,"range":{"start_line":4140,"start_character":0,"end_line":4144,"end_character":0},"updated":"2026-02-20 08:41:47.000000000","message":"And I added the new test to test_shares.py, but I realized that the test data was \noutdated and incorrect, like the sample response in `/api-ref/source/samples/share-manage-response.json`. (There were no tests calling with versions higher than 2.16, so there was no fail.)\nSo I added some codes that are related to the request and response of the manage API.\nPlease check my changes here, @gouthampravi@gmail.com, @ces.eduardo98@gmail.com.","commit_id":"8e0bbbcaef98702af7c080529cf1cd74e56a4112"}]}
