)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"7529a89c6ef4dc2027ebdeb1e98fcb6d6fa5db3e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"61ffc88b_89af7644","updated":"2026-05-19 12:09:32.000000000","message":"Share-level replication has a Periodic task equivalent that polls replica state and drives resyncs. Share server replicas need an analogous periodic task to detect when a replica has drifted to out_of_sync and update the DB accordingly. Without it, replica_state in the DB can become stale and operators won\u0027t know a replica needs resyncing until they manually call resync. This is missing from the spec.","commit_id":"2ba460b552801172d42cfeae2c1956a586e87f16"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"c38224ecf83b2d552e54f76e07ac56c281312c1e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3e1bd1da_510e12d0","updated":"2026-05-21 14:47:03.000000000","message":"Adding Goutham to the review.","commit_id":"1005da84a0f25642cc6177329dca008da02a9023"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"1243475bfecdc735001566a5668b23fa2bc3b0b0","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"aeeab1c7_0a6b5d28","updated":"2026-05-22 15:19:20.000000000","message":"Hi, I start with two questions about design constraints:\n\nQ1: Scope - SM-AS only or generic sync/async?\n\nThe PTG document states \"SnapMirror Active Sync for NAS support\" (SM-AS specific), but the spec allows replication_type\u003d\u0027sync\u0027 or \u0027async\u0027. SM-AS and SVM-DR are different ONTAP technologies that cannot coexist in one relationship:\n\nShould this spec focus exclusively on SM-AS (automatic failover, mediator-based) or support both SM-AS and SVM-DR (manual failover, async)? Or am I overlooking an \u0027async\u0027 version of SM-AS?\n\nNetwork validation, mediator requirements, failover detection, and scheduler filtering requirements differ significantly between these modes.\n\n\nQ2: Network validation for automatic failover\n\nThe spec allows --share-network parameter, implying source and destination can use different networks. However, SM-AS requires a shared LIF (same L2 network, same IP address) for automatic failover to work. Clients continue using the same IP during failover.\n\nHow should Manila validate that source and destination share servers are on the same Layer 2 network for automatic failover scenarios?\n\nIf networks differ, shared LIF cannot be configured → automatic failover impossible → zero RTO broken. This is a hard technical constraint of SM-AS.\n\nHappy to discuss further and thanks for the comprehensive spec work!\n\nI have a couple more questions  queued - let me know if you would like to receive them in a batch or rather in smaller sets ;) I picked the two most fundamental ones as a start.","commit_id":"1005da84a0f25642cc6177329dca008da02a9023"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"67785278faba9b839d73cc6dd82fee80aee5f8d0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d231f2d8_d471f878","updated":"2026-05-29 16:02:02.000000000","message":"Thanks Kumar, @kinpaa@gmail.com and @maurice.escher@sap.com for your reveiw comments. I have incorporated few and responded to your queries. Let me know if you have any futher comments.","commit_id":"1005da84a0f25642cc6177329dca008da02a9023"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"67785278faba9b839d73cc6dd82fee80aee5f8d0","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"566357f4_75a6308d","in_reply_to":"aeeab1c7_0a6b5d28","updated":"2026-05-29 16:02:02.000000000","message":"Q1: Scope - SM-AS only or generic sync/async?\nA1: Share server replica creation should be vendor-agnostic. The API and CLI are designed to work with any vendor and any type of share server replication, not limited to NetApp SMAS-NAS replication. It should also support SVM-DR if the driver implements it.\n\nInitially, we planned to make the policy a mandatory parameter. However, after internal discussion, we decided to allow users to provide the policy through properties and make replication_type the mandatory parameter instead, as other vendors support this approach.\n\nQ2: Network validation for automatic failover\nA2: Yes, we are passing network information to the driver. In the case of SMAS-NAS, we will not create any network configuration for the destination SVM since all data LIFs from the source SVM will be replicated to the destination SVM. Since we cannot know how other vendors will implement this, we pass network information to the driver as well.","commit_id":"1005da84a0f25642cc6177329dca008da02a9023"}],"specs/hibiscus/share-server-replica.rst":[{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fd1fc20a2dc60acadc8ad467b96d6b1b2ef34a2b","unresolved":true,"context_lines":[{"line_number":70,"context_line":"* List replicas, optionally filtered by source share server."},{"line_number":71,"context_line":"* Show a single replica."},{"line_number":72,"context_line":"* Update replica metadata, replica state, and status."},{"line_number":73,"context_line":"* Delete a replica, with force support for active replicas."},{"line_number":74,"context_line":"* Promote a replica to active."},{"line_number":75,"context_line":"* Resync a replica with its active source."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f768930_05ab776a","line":73,"updated":"2026-05-19 11:03:07.000000000","message":"deletion of active replica ? Will it mean some other in-sync replica will be made active first and then original active i.e. current in-sync will be deleted ? Otherwise deletion of active replica i.e. source will break the chain relations ?","commit_id":"2ba460b552801172d42cfeae2c1956a586e87f16"},{"author":{"_account_id":38371,"name":"Kumar Tadepalli","display_name":"Kumar Tadepalli","email":"kumart.lead@gmail.com","username":"kumart","status":"NetApp"},"change_message_id":"736e1aa25118b92910315d6f4afce82a25eb86f3","unresolved":true,"context_lines":[{"line_number":70,"context_line":"* List replicas, optionally filtered by source share server."},{"line_number":71,"context_line":"* Show a single replica."},{"line_number":72,"context_line":"* Update replica metadata, replica state, and status."},{"line_number":73,"context_line":"* Delete a replica, with force support for active replicas."},{"line_number":74,"context_line":"* Promote a replica to active."},{"line_number":75,"context_line":"* Resync a replica with its active source."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"4a879a84_879db351","line":73,"in_reply_to":"1f768930_05ab776a","updated":"2026-05-19 11:52:28.000000000","message":"Agree. This must be a typo, only in-active replica can be deleted.","commit_id":"2ba460b552801172d42cfeae2c1956a586e87f16"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"67785278faba9b839d73cc6dd82fee80aee5f8d0","unresolved":false,"context_lines":[{"line_number":70,"context_line":"* List replicas, optionally filtered by source share server."},{"line_number":71,"context_line":"* Show a single replica."},{"line_number":72,"context_line":"* Update replica metadata, replica state, and status."},{"line_number":73,"context_line":"* Delete a replica, with force support for active replicas."},{"line_number":74,"context_line":"* Promote a replica to active."},{"line_number":75,"context_line":"* Resync a replica with its active source."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"d0c7ac35_cee042d5","line":73,"in_reply_to":"4a879a84_879db351","updated":"2026-05-29 16:02:02.000000000","message":"I corrected is as below \n\nDelete a replica, with force support to delete the replica and purge it from\nManila, even if the backend hasn\u0027t been cleaned up.","commit_id":"2ba460b552801172d42cfeae2c1956a586e87f16"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fd1fc20a2dc60acadc8ad467b96d6b1b2ef34a2b","unresolved":true,"context_lines":[{"line_number":108,"context_line":"* Ensure the destination share server network matches the source share server"},{"line_number":109,"context_line":"    network, or use the explicitly provided ``share_network`` if supplied."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Add Share Server Replica Details to Database"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* Add source share server details to the share_server_replicas table with:"},{"line_number":114,"context_line":"    replica state active and status available."}],"source_content_type":"text/x-rst","patch_set":3,"id":"e196a84f_6a7f9f41","line":111,"updated":"2026-05-19 11:03:07.000000000","message":"The share server should follow same DB structure as share with share instances. The share server replica can be upgraded from in-sync to active and hence it will no longer be replica.\n\nwith your approach going ahead share server creation will create both share server and active share server replica ?","commit_id":"2ba460b552801172d42cfeae2c1956a586e87f16"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"67785278faba9b839d73cc6dd82fee80aee5f8d0","unresolved":false,"context_lines":[{"line_number":108,"context_line":"* Ensure the destination share server network matches the source share server"},{"line_number":109,"context_line":"    network, or use the explicitly provided ``share_network`` if supplied."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Add Share Server Replica Details to Database"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* Add source share server details to the share_server_replicas table with:"},{"line_number":114,"context_line":"    replica state active and status available."}],"source_content_type":"text/x-rst","patch_set":3,"id":"8fb165f8_e4bc1d0e","line":111,"in_reply_to":"e196a84f_6a7f9f41","updated":"2026-05-29 16:02:02.000000000","message":"We need to add the destination share server details to the \"share_servers\" table. Additionally, we plan to add a new column called \"active_backend_share_server_id\" to the share_servers table.\n\nDuring promotion, we will flip the records in the share_server_replicas table and update the active_backend_share_server_id accordingly. All control paths will be calculated using the active_backend_share_server_id value. I have provided a detailed explanation with a flow diagram below.","commit_id":"2ba460b552801172d42cfeae2c1956a586e87f16"},{"author":{"_account_id":38371,"name":"Kumar Tadepalli","display_name":"Kumar Tadepalli","email":"kumart.lead@gmail.com","username":"kumart","status":"NetApp"},"change_message_id":"8442c82fa2e981d3e5343ce1846eec3abe35cb6e","unresolved":true,"context_lines":[{"line_number":318,"context_line":"* Replica must not be active."},{"line_number":319,"context_line":"* Manager calls driver-specific resync."},{"line_number":320,"context_line":"* Manager updates DB after driver returns."},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"On success:"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"* The replica status should be set to \u0027available\u0027 and the replica_state"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3d0f0739_ba8ba619","line":321,"updated":"2026-05-19 12:04:41.000000000","message":"Please update the periodic state update cron will execute this for replica status update and the interval can be managed by a config with default interval set at 300 seconds.","commit_id":"2ba460b552801172d42cfeae2c1956a586e87f16"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"67785278faba9b839d73cc6dd82fee80aee5f8d0","unresolved":false,"context_lines":[{"line_number":318,"context_line":"* Replica must not be active."},{"line_number":319,"context_line":"* Manager calls driver-specific resync."},{"line_number":320,"context_line":"* Manager updates DB after driver returns."},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"On success:"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"* The replica status should be set to \u0027available\u0027 and the replica_state"}],"source_content_type":"text/x-rst","patch_set":3,"id":"08baee14_b8989bb4","line":321,"in_reply_to":"3d0f0739_ba8ba619","updated":"2026-05-29 16:02:02.000000000","message":"Added below content \n\nManager will have a method to poll the replication status on configurable time interval","commit_id":"2ba460b552801172d42cfeae2c1956a586e87f16"},{"author":{"_account_id":38371,"name":"Kumar Tadepalli","display_name":"Kumar Tadepalli","email":"kumart.lead@gmail.com","username":"kumart","status":"NetApp"},"change_message_id":"35084f34f159ff6096f8a3612d94fe97972f8e76","unresolved":true,"context_lines":[{"line_number":450,"context_line":"connection info, etc.) target the correct backend. The mechanism works through"},{"line_number":451,"context_line":"four steps:"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"1. The ``active_backend_share_server_id`` column is introduced in the"},{"line_number":454,"context_line":"   ``share_servers`` table to make control-plane routing independent from the"},{"line_number":455,"context_line":"   static share instance mapping. A share instance continues to reference its"},{"line_number":456,"context_line":"   original share server record, while the system uses this pointer to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bd929d6c_ed8d96b3","line":453,"updated":"2026-05-19 09:12:02.000000000","message":"Does \u0027share show\u0027 or \u0027share list\u0027 command can reflect with the new/active share server id updated with this approach?","commit_id":"2ba460b552801172d42cfeae2c1956a586e87f16"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"67785278faba9b839d73cc6dd82fee80aee5f8d0","unresolved":false,"context_lines":[{"line_number":450,"context_line":"connection info, etc.) target the correct backend. The mechanism works through"},{"line_number":451,"context_line":"four steps:"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"1. The ``active_backend_share_server_id`` column is introduced in the"},{"line_number":454,"context_line":"   ``share_servers`` table to make control-plane routing independent from the"},{"line_number":455,"context_line":"   static share instance mapping. A share instance continues to reference its"},{"line_number":456,"context_line":"   original share server record, while the system uses this pointer to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"faae035d_03c14008","line":453,"in_reply_to":"bd929d6c_ed8d96b3","updated":"2026-05-29 16:02:02.000000000","message":"Yes, It should. We need to add the logic for list and show also.","commit_id":"2ba460b552801172d42cfeae2c1956a586e87f16"},{"author":{"_account_id":38371,"name":"Kumar Tadepalli","display_name":"Kumar Tadepalli","email":"kumart.lead@gmail.com","username":"kumart","status":"NetApp"},"change_message_id":"8442c82fa2e981d3e5343ce1846eec3abe35cb6e","unresolved":true,"context_lines":[{"line_number":562,"context_line":"             ▼"},{"line_number":563,"context_line":"         Execute driver call, return result"},{"line_number":564,"context_line":""},{"line_number":565,"context_line":"Quota and API guardrails"},{"line_number":566,"context_line":"------------------------"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"* Need to add share server replica quota enforcement for create operations."}],"source_content_type":"text/x-rst","patch_set":3,"id":"085b8cfd_4360dd17","line":565,"updated":"2026-05-19 12:04:41.000000000","message":"Add another lifecycle hook for automated site flip/failover detection to update the sites as discussed with the config interval option as discussed.","commit_id":"2ba460b552801172d42cfeae2c1956a586e87f16"},{"author":{"_account_id":38371,"name":"Kumar Tadepalli","display_name":"Kumar Tadepalli","email":"kumart.lead@gmail.com","username":"kumart","status":"NetApp"},"change_message_id":"b57a5f670bb66dc2e7dfbe744822e5fa53bbfb54","unresolved":true,"context_lines":[{"line_number":627,"context_line":"    +--------------------+------------------------+----------+-----------------------------------+"},{"line_number":628,"context_line":"    | share_server_id    | string(36)             | No       | FK to server                      |"},{"line_number":629,"context_line":"    +--------------------+------------------------+----------+-----------------------------------+"},{"line_number":630,"context_line":"    | replica_state      | string(32)             | No       | active/in_sync/out_of_sync        |"},{"line_number":631,"context_line":"    +--------------------+------------------------+----------+-----------------------------------+"},{"line_number":632,"context_line":"    | status             | string(32)             | No       | lifecycle state                   |"},{"line_number":633,"context_line":"    +--------------------+------------------------+----------+-----------------------------------+"}],"source_content_type":"text/x-rst","patch_set":3,"id":"a85b7f2a_6d87e48b","line":630,"updated":"2026-05-19 11:50:23.000000000","message":"error state?","commit_id":"2ba460b552801172d42cfeae2c1956a586e87f16"},{"author":{"_account_id":38371,"name":"Kumar Tadepalli","display_name":"Kumar Tadepalli","email":"kumart.lead@gmail.com","username":"kumart","status":"NetApp"},"change_message_id":"b57a5f670bb66dc2e7dfbe744822e5fa53bbfb54","unresolved":true,"context_lines":[{"line_number":629,"context_line":"    +--------------------+------------------------+----------+-----------------------------------+"},{"line_number":630,"context_line":"    | replica_state      | string(32)             | No       | active/in_sync/out_of_sync        |"},{"line_number":631,"context_line":"    +--------------------+------------------------+----------+-----------------------------------+"},{"line_number":632,"context_line":"    | status             | string(32)             | No       | lifecycle state                   |"},{"line_number":633,"context_line":"    +--------------------+------------------------+----------+-----------------------------------+"},{"line_number":634,"context_line":"    | host               | string(255)            | No       | backend@pool                      |"},{"line_number":635,"context_line":"    +--------------------+------------------------+----------+-----------------------------------+"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5dcb482f_cd9c08b4","line":632,"updated":"2026-05-19 11:50:23.000000000","message":"list all status","commit_id":"2ba460b552801172d42cfeae2c1956a586e87f16"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"7529a89c6ef4dc2027ebdeb1e98fcb6d6fa5db3e","unresolved":true,"context_lines":[{"line_number":643,"context_line":"    +--------------------+------------------------+----------+-----------------------------------+"},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"share_server_replica_properties::"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"    +-------------------------+-------------+----------+----------------+"},{"line_number":648,"context_line":"    | Field                   | Type        | Nullable | Notes          |"},{"line_number":649,"context_line":"    +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5e463749_d0392b04","line":646,"updated":"2026-05-19 12:09:32.000000000","message":"share_server_metadata similar to share_metadata ?","commit_id":"2ba460b552801172d42cfeae2c1956a586e87f16"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"67785278faba9b839d73cc6dd82fee80aee5f8d0","unresolved":false,"context_lines":[{"line_number":643,"context_line":"    +--------------------+------------------------+----------+-----------------------------------+"},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"share_server_replica_properties::"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"    +-------------------------+-------------+----------+----------------+"},{"line_number":648,"context_line":"    | Field                   | Type        | Nullable | Notes          |"},{"line_number":649,"context_line":"    +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"}],"source_content_type":"text/x-rst","patch_set":3,"id":"eacd5d3e_8d0630e9","line":646,"in_reply_to":"5e463749_d0392b04","updated":"2026-05-29 16:02:02.000000000","message":"yes, this is property data.","commit_id":"2ba460b552801172d42cfeae2c1956a586e87f16"},{"author":{"_account_id":38371,"name":"Kumar Tadepalli","display_name":"Kumar Tadepalli","email":"kumart.lead@gmail.com","username":"kumart","status":"NetApp"},"change_message_id":"35084f34f159ff6096f8a3612d94fe97972f8e76","unresolved":true,"context_lines":[{"line_number":940,"context_line":"* protected share delete may require an explicit unprotect step first,"},{"line_number":941,"context_line":"* deleting a share server with active replica relationships must be blocked"},{"line_number":942,"context_line":"    until replicas are removed."},{"line_number":943,"context_line":""},{"line_number":944,"context_line":""},{"line_number":945,"context_line":"Security impact"},{"line_number":946,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ac2af00a_4a19d7a1","line":943,"updated":"2026-05-19 09:12:02.000000000","message":"Lets add the Driver Interface APIs once finalized internally.","commit_id":"2ba460b552801172d42cfeae2c1956a586e87f16"},{"author":{"_account_id":38371,"name":"Kumar Tadepalli","display_name":"Kumar Tadepalli","email":"kumart.lead@gmail.com","username":"kumart","status":"NetApp"},"change_message_id":"f43e42d2e8a646f084e4bb051e4966ff9cde6cc4","unresolved":true,"context_lines":[{"line_number":82,"context_line":"The following input constraints are enforced:"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* share_server, host, and replication_type are required for create."},{"line_number":85,"context_line":"* replication_type must be one of ``sync`` or ``async`` (case-insensitive;"},{"line_number":86,"context_line":"  stored in normalized lowercase form)."},{"line_number":87,"context_line":"* include_shares and exclude_shares are mutually exclusive."},{"line_number":88,"context_line":"* host must be in backend@pool format."}],"source_content_type":"text/x-rst","patch_set":4,"id":"4f3fecf3_de36fdb9","line":85,"updated":"2026-05-21 11:23:09.000000000","message":"Can we use different name like \"replication_mode\" to avoid confusion with existing replication_type of share type?","commit_id":"1005da84a0f25642cc6177329dca008da02a9023"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"67785278faba9b839d73cc6dd82fee80aee5f8d0","unresolved":false,"context_lines":[{"line_number":82,"context_line":"The following input constraints are enforced:"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* share_server, host, and replication_type are required for create."},{"line_number":85,"context_line":"* replication_type must be one of ``sync`` or ``async`` (case-insensitive;"},{"line_number":86,"context_line":"  stored in normalized lowercase form)."},{"line_number":87,"context_line":"* include_shares and exclude_shares are mutually exclusive."},{"line_number":88,"context_line":"* host must be in backend@pool format."}],"source_content_type":"text/x-rst","patch_set":4,"id":"17fdf0d5_87616cb6","line":85,"in_reply_to":"4f3fecf3_de36fdb9","updated":"2026-05-29 16:02:02.000000000","message":"I went thorugh to other vendor doc and cinder code also, most of the vendor are using the replication_type so I thought of keeping the same here. I am levaing this comment open, other can also comments on this and based on it we can change this field name if require.","commit_id":"1005da84a0f25642cc6177329dca008da02a9023"},{"author":{"_account_id":38371,"name":"Kumar Tadepalli","display_name":"Kumar Tadepalli","email":"kumart.lead@gmail.com","username":"kumart","status":"NetApp"},"change_message_id":"f43e42d2e8a646f084e4bb051e4966ff9cde6cc4","unresolved":true,"context_lines":[{"line_number":87,"context_line":"* include_shares and exclude_shares are mutually exclusive."},{"line_number":88,"context_line":"* host must be in backend@pool format."},{"line_number":89,"context_line":"* promote is only allowed for replicas in in_sync state."},{"line_number":90,"context_line":"* resync is only allowed for non-active replicas."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Detailed workflow behavior"},{"line_number":93,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"c07741d1_47796d8f","line":90,"updated":"2026-05-21 11:23:09.000000000","message":"promote/resync/delete actions","commit_id":"1005da84a0f25642cc6177329dca008da02a9023"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"67785278faba9b839d73cc6dd82fee80aee5f8d0","unresolved":false,"context_lines":[{"line_number":87,"context_line":"* include_shares and exclude_shares are mutually exclusive."},{"line_number":88,"context_line":"* host must be in backend@pool format."},{"line_number":89,"context_line":"* promote is only allowed for replicas in in_sync state."},{"line_number":90,"context_line":"* resync is only allowed for non-active replicas."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Detailed workflow behavior"},{"line_number":93,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dc0499ef_b82db5bc","line":90,"in_reply_to":"c07741d1_47796d8f","updated":"2026-05-29 16:02:02.000000000","message":"resync is require if replica is out of sync and delete can be done any replication state so in_sync condition is only applicable for promote only.","commit_id":"1005da84a0f25642cc6177329dca008da02a9023"},{"author":{"_account_id":38371,"name":"Kumar Tadepalli","display_name":"Kumar Tadepalli","email":"kumart.lead@gmail.com","username":"kumart","status":"NetApp"},"change_message_id":"f43e42d2e8a646f084e4bb051e4966ff9cde6cc4","unresolved":true,"context_lines":[{"line_number":89,"context_line":"* promote is only allowed for replicas in in_sync state."},{"line_number":90,"context_line":"* resync is only allowed for non-active replicas."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Detailed workflow behavior"},{"line_number":93,"context_line":"--------------------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Share server replica create"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7281e655_17127218","line":92,"updated":"2026-05-21 11:23:09.000000000","message":"This requires any keys/properties to be defined at manila.conf backend stanza? If so please add the details.\nEx: replication_domain, backend_availability_zone etc.","commit_id":"1005da84a0f25642cc6177329dca008da02a9023"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"67785278faba9b839d73cc6dd82fee80aee5f8d0","unresolved":false,"context_lines":[{"line_number":89,"context_line":"* promote is only allowed for replicas in in_sync state."},{"line_number":90,"context_line":"* resync is only allowed for non-active replicas."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Detailed workflow behavior"},{"line_number":93,"context_line":"--------------------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Share server replica create"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f5cb333_c06ffa4c","line":92,"in_reply_to":"7281e655_17127218","updated":"2026-05-29 16:02:02.000000000","message":"Added.","commit_id":"1005da84a0f25642cc6177329dca008da02a9023"},{"author":{"_account_id":38371,"name":"Kumar Tadepalli","display_name":"Kumar Tadepalli","email":"kumart.lead@gmail.com","username":"kumart","status":"NetApp"},"change_message_id":"f43e42d2e8a646f084e4bb051e4966ff9cde6cc4","unresolved":true,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"Make Driver Call"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"* Driver delete call is issued with source and destination share server details."},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"On success:"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"73fd7d72_53e285a9","line":232,"updated":"2026-05-21 11:23:09.000000000","message":"Enhance the description to include:\nIts driver responsibility to clean up the dp site artifacts(relationship deletion, cleanup volumes, vserver etc) and denote the operation as success.","commit_id":"1005da84a0f25642cc6177329dca008da02a9023"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"67785278faba9b839d73cc6dd82fee80aee5f8d0","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"Make Driver Call"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"* Driver delete call is issued with source and destination share server details."},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"On success:"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"743df039_32a040a9","line":232,"in_reply_to":"73fd7d72_53e285a9","updated":"2026-05-29 16:02:02.000000000","message":"Added the require content.","commit_id":"1005da84a0f25642cc6177329dca008da02a9023"},{"author":{"_account_id":38371,"name":"Kumar Tadepalli","display_name":"Kumar Tadepalli","email":"kumart.lead@gmail.com","username":"kumart","status":"NetApp"},"change_message_id":"f43e42d2e8a646f084e4bb051e4966ff9cde6cc4","unresolved":true,"context_lines":[{"line_number":587,"context_line":""},{"line_number":588,"context_line":"The proposed approach keeps the user-visible behavior in Manila while still"},{"line_number":589,"context_line":"letting drivers implement backend-specific replication details."},{"line_number":590,"context_line":""},{"line_number":591,"context_line":""},{"line_number":592,"context_line":"Data model impact"},{"line_number":593,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"02e868f3_bc93f6a9","line":590,"updated":"2026-05-21 11:23:09.000000000","message":"We need to add the share server clean up job when there are no shares to factor the share server replica clean up as well.","commit_id":"1005da84a0f25642cc6177329dca008da02a9023"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"67785278faba9b839d73cc6dd82fee80aee5f8d0","unresolved":false,"context_lines":[{"line_number":587,"context_line":""},{"line_number":588,"context_line":"The proposed approach keeps the user-visible behavior in Manila while still"},{"line_number":589,"context_line":"letting drivers implement backend-specific replication details."},{"line_number":590,"context_line":""},{"line_number":591,"context_line":""},{"line_number":592,"context_line":"Data model impact"},{"line_number":593,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f6ee715_6fab50af","line":590,"in_reply_to":"02e868f3_bc93f6a9","updated":"2026-05-29 16:02:02.000000000","message":"Yes, we will do that but I don\u0027t think to mentioned this in this doc.","commit_id":"1005da84a0f25642cc6177329dca008da02a9023"},{"author":{"_account_id":38371,"name":"Kumar Tadepalli","display_name":"Kumar Tadepalli","email":"kumart.lead@gmail.com","username":"kumart","status":"NetApp"},"change_message_id":"f43e42d2e8a646f084e4bb051e4966ff9cde6cc4","unresolved":true,"context_lines":[{"line_number":946,"context_line":"                \u0027replica_state\u0027: \u0027out_of_sync\u0027,"},{"line_number":947,"context_line":"                \u0027host\u0027: \u0027openstack2@cmodeSSVMNFS2#pool1\u0027,"},{"line_number":948,"context_line":"                \u0027availability_zone_id\u0027: \u0027f6e146d0-65f0-11e5-9d70-feff819cdc9f\u0027,"},{"line_number":949,"context_line":"                \u0027replication_type\u0027: \u0027dr\u0027,"},{"line_number":950,"context_line":"                \u0027created_at\u0027: datetime.datetime(2015, 8, 10, 0, 5, 58),"},{"line_number":951,"context_line":"                \u0027updated_at\u0027: None,"},{"line_number":952,"context_line":"                \u0027share_server\u0027: {"}],"source_content_type":"text/x-rst","patch_set":4,"id":"21175dd6_f7611586","line":949,"updated":"2026-05-21 11:23:09.000000000","message":"dr? async?\nOther places also needs updation.","commit_id":"1005da84a0f25642cc6177329dca008da02a9023"}]}
