)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"fdd846aacbcd721875417afefda59e6140d55d21","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Kiran Pawar \u003ckinpaa@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-05-05 13:00:05 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"netapp: skip pcuser config for DP read-only FlexGroup volumes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When all_squash\u003dtrue metadata is set on an NFS share and access rules"},{"line_number":10,"context_line":"are updated on a readable DP (data protection) FlexGroup replica, the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"6f12da6d_c7c41179","line":7,"updated":"2026-05-05 13:29:42.000000000","message":"We observed this for flexgroup, but I think flexvol would have the same issue - and the fix presented here applies to both","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8c63ba111ed6d3b088a99fe37099f305f4b0c371","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Kiran Pawar \u003ckinpaa@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-05-05 13:00:05 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"netapp: skip pcuser config for DP read-only FlexGroup volumes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When all_squash\u003dtrue metadata is set on an NFS share and access rules"},{"line_number":10,"context_line":"are updated on a readable DP (data protection) FlexGroup replica, the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"93924efc_555d1138","line":7,"in_reply_to":"6f12da6d_c7c41179","updated":"2026-05-08 07:24:02.000000000","message":"Done","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"b6678f1e4d169d3fcaa13d658ca3f6ce468f87e1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Kiran Pawar \u003ckinpaa@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-05-05 13:00:05 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"netapp: skip pcuser config for DP read-only FlexGroup volumes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When all_squash\u003dtrue metadata is set on an NFS share and access rules"},{"line_number":10,"context_line":"are updated on a readable DP (data protection) FlexGroup replica, the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"a925ba4a_8f043efc","line":7,"in_reply_to":"93924efc_555d1138","updated":"2026-05-08 14:14:38.000000000","message":"I think what Maurice wanted here was to also call DP read-only FlexGroup and FlexVol volumes?","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"b6678f1e4d169d3fcaa13d658ca3f6ce468f87e1","unresolved":true,"context_lines":[{"line_number":7,"context_line":"netapp: skip pcuser config for DP read-only FlexGroup volumes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When all_squash\u003dtrue metadata is set on an NFS share and access rules"},{"line_number":10,"context_line":"are updated on a readable DP (data protection) FlexGroup replica, the"},{"line_number":11,"context_line":"driver was calling set_pcuser_for_volume on the SnapMirror destination"},{"line_number":12,"context_line":"volume. ONTAP rejects this with error code 160 because DP volumes are"},{"line_number":13,"context_line":"read-only and their user attribute cannot be modified."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"200eb84a_efe8d262","line":10,"updated":"2026-05-08 14:14:38.000000000","message":"Same here. We are explicitly calling out FlexGroup replicas.","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"bba6c93ea07e9aa86d6f54c8edf4ac91b7990a38","unresolved":true,"context_lines":[{"line_number":7,"context_line":"netapp: skip pcuser config for DP read-only FlexGroup volumes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When all_squash\u003dtrue metadata is set on an NFS share and access rules"},{"line_number":10,"context_line":"are updated on a readable DP (data protection) FlexGroup replica, the"},{"line_number":11,"context_line":"driver was calling set_pcuser_for_volume on the SnapMirror destination"},{"line_number":12,"context_line":"volume. ONTAP rejects this with error code 160 because DP volumes are"},{"line_number":13,"context_line":"read-only and their user attribute cannot be modified."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5e49a9bb_b619a2ed","line":10,"in_reply_to":"200eb84a_efe8d262","updated":"2026-05-11 09:23:56.000000000","message":"you are referring old patchset. in recent, i have removed flexgroup explicit mention and hence applied to both.","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"2ef1be89edfa320bf5ac5d9977ed2b498932ada5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"netapp: skip pcuser config for DP read-only FlexGroup volumes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When all_squash\u003dtrue metadata is set on an NFS share and access rules"},{"line_number":10,"context_line":"are updated on a readable DP (data protection) FlexGroup replica, the"},{"line_number":11,"context_line":"driver was calling set_pcuser_for_volume on the SnapMirror destination"},{"line_number":12,"context_line":"volume. ONTAP rejects this with error code 160 because DP volumes are"},{"line_number":13,"context_line":"read-only and their user attribute cannot be modified."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"12a9ab7c_ec8fc9ce","line":10,"in_reply_to":"5e49a9bb_b619a2ed","updated":"2026-05-11 11:09:11.000000000","message":"Done","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"4acc391ea71e2aee93776b05fcaf9b4b48a21e62","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"200ac40a_8c4a7186","updated":"2026-05-05 15:37:32.000000000","message":"FYI error log.\n\n^^^\n2026-05-04 13:52:28,047 11 ERROR oslo_messaging.rpc.server   File \"/var/lib/openstack/lib/python3.10/site-packages/manila/share/drivers/netapp/dataontap/client/client_cmode.py\", line 4925, in set_pcuser_for_volume\n2026-05-04 13:52:28,047 11 ERROR oslo_messaging.rpc.server     raise netapp_api.NaApiError(\n2026-05-04 13:52:28,047 11 ERROR oslo_messaging.rpc.server manila.share.drivers.netapp.dataontap.client.api.NaApiError: NetApp API failed. Reason - 160:Modification of the following fields: user not allowed for volumes of the type \"FlexGroup volume - DP read-only volume\".","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"ef6aec90424e7a896a2cbc4cb8c1e7228d01373f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6c4533e8_6a438020","in_reply_to":"200ac40a_8c4a7186","updated":"2026-05-06 06:56:30.000000000","message":"same for flexvol fyi\nhttps://paste.opendev.org/show/bOZvjXM6y9aH8cM4aNX8/","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"7f12c7a1089b7beb70403952dbb736b78953bc43","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f68b9edf_c2f37d5e","updated":"2026-05-08 08:52:23.000000000","message":"Giving a -1 till the comment is resolved. I still feel a better way of doing this is by looking at the volume type. Rest of the code looks fine to me.","commit_id":"74a8848477a740e01debadf6901929dda5f0ca46"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a4cf949b8c27e030bccc8c47e45370b38032684e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"eed86817_175b076e","updated":"2026-05-13 14:49:55.000000000","message":"LGTM, thanks Kiran","commit_id":"74a8848477a740e01debadf6901929dda5f0ca46"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"eb07dc891398e1367e917407d31075b049390dec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ac303703_6c90611c","updated":"2026-05-12 11:24:43.000000000","message":"Run-NetApp CI","commit_id":"74a8848477a740e01debadf6901929dda5f0ca46"}],"manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"f7a9617cae942477e419b2c35d6186ad811206b3","unresolved":true,"context_lines":[{"line_number":3089,"context_line":""},{"line_number":3090,"context_line":"        share_name \u003d self._get_backend_share_name(share[\u0027id\u0027])"},{"line_number":3091,"context_line":"        if self._share_exists(share_name, vserver_client):"},{"line_number":3092,"context_line":"            is_dp_replica \u003d ("},{"line_number":3093,"context_line":"                replica_state is not None and"},{"line_number":3094,"context_line":"                replica_state !\u003d constants.REPLICA_STATE_ACTIVE and"},{"line_number":3095,"context_line":"                self._is_readable_replica(share))"},{"line_number":3096,"context_line":"            helper \u003d self._get_helper(share)"},{"line_number":3097,"context_line":"            helper.set_client(vserver_client)"},{"line_number":3098,"context_line":"            helper.update_access(share, share_name, access_rules,"}],"source_content_type":"text/x-python","patch_set":1,"id":"860557b9_23cca90e","line":3095,"range":{"start_line":3092,"start_character":11,"end_line":3095,"end_character":49},"updated":"2026-05-06 12:36:43.000000000","message":"Instead, shouldnt this logic be based out of the Volume type on the storage? For a dp type, you skip setting pc user while for a rw volume you set it? Why do we need dp_replica status to be propogated?","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"3a70db26548a608a0cda2636af8b3363c2c5d079","unresolved":false,"context_lines":[{"line_number":3089,"context_line":""},{"line_number":3090,"context_line":"        share_name \u003d self._get_backend_share_name(share[\u0027id\u0027])"},{"line_number":3091,"context_line":"        if self._share_exists(share_name, vserver_client):"},{"line_number":3092,"context_line":"            is_dp_replica \u003d ("},{"line_number":3093,"context_line":"                replica_state is not None and"},{"line_number":3094,"context_line":"                replica_state !\u003d constants.REPLICA_STATE_ACTIVE and"},{"line_number":3095,"context_line":"                self._is_readable_replica(share))"},{"line_number":3096,"context_line":"            helper \u003d self._get_helper(share)"},{"line_number":3097,"context_line":"            helper.set_client(vserver_client)"},{"line_number":3098,"context_line":"            helper.update_access(share, share_name, access_rules,"}],"source_content_type":"text/x-python","patch_set":1,"id":"c15bd675_ef83e8d7","line":3095,"range":{"start_line":3092,"start_character":11,"end_line":3095,"end_character":49},"in_reply_to":"04780d13_9613046c","updated":"2026-05-11 10:08:59.000000000","message":"Acknowledged.","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"7f12c7a1089b7beb70403952dbb736b78953bc43","unresolved":false,"context_lines":[{"line_number":3089,"context_line":""},{"line_number":3090,"context_line":"        share_name \u003d self._get_backend_share_name(share[\u0027id\u0027])"},{"line_number":3091,"context_line":"        if self._share_exists(share_name, vserver_client):"},{"line_number":3092,"context_line":"            is_dp_replica \u003d ("},{"line_number":3093,"context_line":"                replica_state is not None and"},{"line_number":3094,"context_line":"                replica_state !\u003d constants.REPLICA_STATE_ACTIVE and"},{"line_number":3095,"context_line":"                self._is_readable_replica(share))"},{"line_number":3096,"context_line":"            helper \u003d self._get_helper(share)"},{"line_number":3097,"context_line":"            helper.set_client(vserver_client)"},{"line_number":3098,"context_line":"            helper.update_access(share, share_name, access_rules,"}],"source_content_type":"text/x-python","patch_set":1,"id":"923b9a4c_03a22d24","line":3095,"range":{"start_line":3092,"start_character":11,"end_line":3095,"end_character":49},"in_reply_to":"6ecbfe89_83813352","updated":"2026-05-08 08:52:23.000000000","message":"What if replica is not there but the volume is not R/W (for eg. ls/dp)? In that case as well this will fail right?","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"b6678f1e4d169d3fcaa13d658ca3f6ce468f87e1","unresolved":false,"context_lines":[{"line_number":3089,"context_line":""},{"line_number":3090,"context_line":"        share_name \u003d self._get_backend_share_name(share[\u0027id\u0027])"},{"line_number":3091,"context_line":"        if self._share_exists(share_name, vserver_client):"},{"line_number":3092,"context_line":"            is_dp_replica \u003d ("},{"line_number":3093,"context_line":"                replica_state is not None and"},{"line_number":3094,"context_line":"                replica_state !\u003d constants.REPLICA_STATE_ACTIVE and"},{"line_number":3095,"context_line":"                self._is_readable_replica(share))"},{"line_number":3096,"context_line":"            helper \u003d self._get_helper(share)"},{"line_number":3097,"context_line":"            helper.set_client(vserver_client)"},{"line_number":3098,"context_line":"            helper.update_access(share, share_name, access_rules,"}],"source_content_type":"text/x-python","patch_set":1,"id":"c7ae0d78_5ff19726","line":3095,"range":{"start_line":3092,"start_character":11,"end_line":3095,"end_character":49},"in_reply_to":"7ae003c4_f9bc530c","updated":"2026-05-08 14:14:38.000000000","message":"Okay. I understand that ls type is never used by Manila driver. But my point was to make it accurate for any type of share that is managed or later managed by Manila. Do we know whether we can only manage share of type rw? Do we have that check in manage share workflow?","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"003b01a49b0b5f3b7140161d0937b2690f0388d3","unresolved":false,"context_lines":[{"line_number":3089,"context_line":""},{"line_number":3090,"context_line":"        share_name \u003d self._get_backend_share_name(share[\u0027id\u0027])"},{"line_number":3091,"context_line":"        if self._share_exists(share_name, vserver_client):"},{"line_number":3092,"context_line":"            is_dp_replica \u003d ("},{"line_number":3093,"context_line":"                replica_state is not None and"},{"line_number":3094,"context_line":"                replica_state !\u003d constants.REPLICA_STATE_ACTIVE and"},{"line_number":3095,"context_line":"                self._is_readable_replica(share))"},{"line_number":3096,"context_line":"            helper \u003d self._get_helper(share)"},{"line_number":3097,"context_line":"            helper.set_client(vserver_client)"},{"line_number":3098,"context_line":"            helper.update_access(share, share_name, access_rules,"}],"source_content_type":"text/x-python","patch_set":1,"id":"6ecbfe89_83813352","line":3095,"range":{"start_line":3092,"start_character":11,"end_line":3095,"end_character":49},"in_reply_to":"860557b9_23cca90e","updated":"2026-05-06 14:50:19.000000000","message":"The is_dp_replica flag is derived entirely from data already in memory (share replica_state + replication_type extra spec), avoiding an extra get_volume\nONTAP API call on every update_access() invocation. Manila provisioned the DP volume itself, so it already has knowledge of its type. The same pattern (deriving DP status from Manila state rather than storage) is used in create_replica, promote_replica, and _safe_change_replica_source.","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"b649e76ba8d603916072e24db5847c5e3e577c8f","unresolved":false,"context_lines":[{"line_number":3089,"context_line":""},{"line_number":3090,"context_line":"        share_name \u003d self._get_backend_share_name(share[\u0027id\u0027])"},{"line_number":3091,"context_line":"        if self._share_exists(share_name, vserver_client):"},{"line_number":3092,"context_line":"            is_dp_replica \u003d ("},{"line_number":3093,"context_line":"                replica_state is not None and"},{"line_number":3094,"context_line":"                replica_state !\u003d constants.REPLICA_STATE_ACTIVE and"},{"line_number":3095,"context_line":"                self._is_readable_replica(share))"},{"line_number":3096,"context_line":"            helper \u003d self._get_helper(share)"},{"line_number":3097,"context_line":"            helper.set_client(vserver_client)"},{"line_number":3098,"context_line":"            helper.update_access(share, share_name, access_rules,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ae003c4_f9bc530c","line":3095,"range":{"start_line":3092,"start_character":11,"end_line":3095,"end_character":49},"in_reply_to":"923b9a4c_03a22d24","updated":"2026-05-08 09:03:46.000000000","message":"ls and dp volumes are never created for non-replica shares. The driver only provisions rw volumes for regular shares (_allocate_container defaults to volume_type\u003d\u0027rw\u0027) and only provisions dp volumes explicitly through the replication workflow. So if replica_state is None, the underlying ONTAP volume is always rw and set_pcuser_for_volume is safe to call. The ls type is never used by the Manila driver at all.\n  so the is_dp_replica guard correctly covers all cases where the call would fail.\n\ncode at 3074 line also makes sure for this. Downstream we had used type only, but this is unnecesarry API call (as reviewer suggested) and hence changed to skip it.","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"bba6c93ea07e9aa86d6f54c8edf4ac91b7990a38","unresolved":false,"context_lines":[{"line_number":3089,"context_line":""},{"line_number":3090,"context_line":"        share_name \u003d self._get_backend_share_name(share[\u0027id\u0027])"},{"line_number":3091,"context_line":"        if self._share_exists(share_name, vserver_client):"},{"line_number":3092,"context_line":"            is_dp_replica \u003d ("},{"line_number":3093,"context_line":"                replica_state is not None and"},{"line_number":3094,"context_line":"                replica_state !\u003d constants.REPLICA_STATE_ACTIVE and"},{"line_number":3095,"context_line":"                self._is_readable_replica(share))"},{"line_number":3096,"context_line":"            helper \u003d self._get_helper(share)"},{"line_number":3097,"context_line":"            helper.set_client(vserver_client)"},{"line_number":3098,"context_line":"            helper.update_access(share, share_name, access_rules,"}],"source_content_type":"text/x-python","patch_set":1,"id":"04780d13_9613046c","line":3095,"range":{"start_line":3092,"start_character":11,"end_line":3095,"end_character":49},"in_reply_to":"c7ae0d78_5ff19726","updated":"2026-05-11 09:23:56.000000000","message":"The manage share workflow already enforces this. _validate_volume_for_manage (lib_base.py) explicitly checks volume[\u0027type\u0027] !\u003d \u0027rw\u0027 and raises ManageInvalidShare if the volume is not read-write flex. So dp and ls volumes are rejected at manage time — they can never become a non-replica Manila share. Combined with the fact that the driver only creates dp volumes through the explicit replication path, replica_state is None always means the volume is rw, and the is_dp_replica guard is accurate for all reachable cases.","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"}],"manila/share/drivers/netapp/dataontap/protocols/cifs_cmode.py":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"b6678f1e4d169d3fcaa13d658ca3f6ce468f87e1","unresolved":true,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    @na_utils.trace"},{"line_number":75,"context_line":"    @base.access_rules_synchronized"},{"line_number":76,"context_line":"    def update_access(self, share, share_name, rules, replica\u003dFalse):"},{"line_number":77,"context_line":"        \"\"\"Replaces the list of access rules known to the backend storage.\"\"\""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        _, cifs_share_name \u003d self._get_export_location(share)"}],"source_content_type":"text/x-python","patch_set":2,"id":"c5880d74_8f66dd44","line":76,"updated":"2026-05-08 14:14:38.000000000","message":"Why do we need this change for CIFS shares? This should not be applicable for CIFS shares.","commit_id":"74a8848477a740e01debadf6901929dda5f0ca46"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a4cf949b8c27e030bccc8c47e45370b38032684e","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    @na_utils.trace"},{"line_number":75,"context_line":"    @base.access_rules_synchronized"},{"line_number":76,"context_line":"    def update_access(self, share, share_name, rules, replica\u003dFalse):"},{"line_number":77,"context_line":"        \"\"\"Replaces the list of access rules known to the backend storage.\"\"\""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        _, cifs_share_name \u003d self._get_export_location(share)"}],"source_content_type":"text/x-python","patch_set":2,"id":"d4e624d5_86c9a91c","line":76,"in_reply_to":"2da3b562_a8aec680","updated":"2026-05-13 14:49:55.000000000","message":"\u003e update_access() should have the same function signature for all childs of NetAppBaseHelper. It is correct to put it here, too, afaik\n\n+1 :)","commit_id":"74a8848477a740e01debadf6901929dda5f0ca46"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"3a70db26548a608a0cda2636af8b3363c2c5d079","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    @na_utils.trace"},{"line_number":75,"context_line":"    @base.access_rules_synchronized"},{"line_number":76,"context_line":"    def update_access(self, share, share_name, rules, replica\u003dFalse):"},{"line_number":77,"context_line":"        \"\"\"Replaces the list of access rules known to the backend storage.\"\"\""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        _, cifs_share_name \u003d self._get_export_location(share)"}],"source_content_type":"text/x-python","patch_set":2,"id":"2da3b562_a8aec680","line":76,"in_reply_to":"a5fab73e_987f6a70","updated":"2026-05-11 10:08:59.000000000","message":"Okay. I was just thinking if this could be avoided. But I do not have a better recommendation because thats how it is implemented in the interface level.","commit_id":"74a8848477a740e01debadf6901929dda5f0ca46"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"bba6c93ea07e9aa86d6f54c8edf4ac91b7990a38","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    @na_utils.trace"},{"line_number":75,"context_line":"    @base.access_rules_synchronized"},{"line_number":76,"context_line":"    def update_access(self, share, share_name, rules, replica\u003dFalse):"},{"line_number":77,"context_line":"        \"\"\"Replaces the list of access rules known to the backend storage.\"\"\""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        _, cifs_share_name \u003d self._get_export_location(share)"}],"source_content_type":"text/x-python","patch_set":2,"id":"64b5cabe_490ab064","line":76,"in_reply_to":"c5880d74_8f66dd44","updated":"2026-05-11 09:23:56.000000000","message":"update_access is wrapper and hence all helpers needs to update the declaration. the replica params is not used for CIFS though.","commit_id":"74a8848477a740e01debadf6901929dda5f0ca46"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"a79970675d2e9ca50d2d65a15e4f3177b8ee4333","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    @na_utils.trace"},{"line_number":75,"context_line":"    @base.access_rules_synchronized"},{"line_number":76,"context_line":"    def update_access(self, share, share_name, rules, replica\u003dFalse):"},{"line_number":77,"context_line":"        \"\"\"Replaces the list of access rules known to the backend storage.\"\"\""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        _, cifs_share_name \u003d self._get_export_location(share)"}],"source_content_type":"text/x-python","patch_set":2,"id":"a5fab73e_987f6a70","line":76,"in_reply_to":"c5880d74_8f66dd44","updated":"2026-05-11 09:29:59.000000000","message":"update_access() should have the same function signature for all childs of NetAppBaseHelper. It is correct to put it here, too, afaik","commit_id":"74a8848477a740e01debadf6901929dda5f0ca46"}],"releasenotes/notes/netapp-skip-pcuser-dp-flexgroup-replica-a3f8b2c1d4e56789.yaml":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"fdd846aacbcd721875417afefda59e6140d55d21","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5a5392bc_31359609","line":11,"range":{"start_line":4,"start_character":4,"end_line":11,"end_character":0},"updated":"2026-05-05 13:29:42.000000000","message":"I think this has too many NetApp internal details (good for the commit message, but not relevant for the consumers of the release notes)\n\nIt should just mention that setting access rules for shares having replicas in combination with all_squash\u003dtrue metadata was fixed.","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8c63ba111ed6d3b088a99fe37099f305f4b0c371","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"bee6097d_1f4d019c","line":11,"range":{"start_line":4,"start_character":4,"end_line":11,"end_character":0},"in_reply_to":"5a5392bc_31359609","updated":"2026-05-08 07:24:02.000000000","message":"Done","commit_id":"fed93c68e76cdc8457c7ef8d3abdaa74f1976427"}]}
