)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"39f752eadd9ab488a4431a00f2b2d9d5359f5e0c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7147d123_18142790","updated":"2026-06-02 14:30:56.000000000","message":"Added some additional comments.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eedca4014cb7ab9e6fd892ea00dbdea719fea554","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"26667a74_dfb2df7f","updated":"2026-06-18 23:02:15.000000000","message":"Apologies for the huge lag in my responses here. Highly appreciate all the reviews so far; very stoked that I have LUSTRE experts chiming in :) This is great for the Manila community and this effort. I\u0027ll push up a spec update with the changes you\u0027ve requested shortly.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"487c41d8c831b89e5fcaee22de87e49c3cabdded","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0242f82a_7ed34aec","updated":"2026-05-04 23:08:14.000000000","message":"Hi, @stig.openstack@telfer.org - i\u0027ve been playing with this a little bit. Please do let me know what you think :)","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"5c60542079d136250afb624b219c5a2030563d34","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f0167542_c4beb867","updated":"2026-05-29 12:05:42.000000000","message":"I never worked with Lustre, I\u0027m just a manila core that tries to follow the implications of the spec with the help of some llm ;)\n\nDid you think about adding striping config, which is an essential feature? e.g. via driver specific share type extra spec `lustre:stripe_count` and `lustre:stripe_size`. Or would you defer this to a future implementation?","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4cbc31e6cb1369d7ea9a05388fbaa3e6f573a6ee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a5d842f4_f64b6e49","updated":"2026-05-21 04:37:55.000000000","message":"Thank you for the comments Stig! :)","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":10910,"name":"Stig Telfer","email":"stig.openstack@telfer.org","username":"stigtelfer"},"change_message_id":"c99ab24217a42d07c632a6f6da138d12ac7b70f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"bd827df6_80528a22","updated":"2026-05-07 14:57:05.000000000","message":"Thanks Goutham, really great to see this.  Have you considered reaching out to the Lustre Collective (https://thelustrecollective.com)?  I might be able to help.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"3fccaac9d11d3c2018afc4a79293936a3ba2c7c6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d0de7912_6fcec98b","updated":"2026-06-11 19:05:33.000000000","message":"The Lustre driver will be a great addition. I have no further comments other than what is already noted. Thank you for working on this spec, Goutham","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":39151,"name":"Timothy Day","email":"timday@thelustrecollective.com","username":"timday"},"change_message_id":"54540308cf111e601d5aebcc8117016516e32c95","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1e62cb86_74b0e637","updated":"2026-05-28 21:31:10.000000000","message":"This is great work. I\u0027m a developer on the Lustre project and I left some feedback/questions on the doc. If you have any technical questions or suggestions around Lustre, I\u0027m happy to help.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4cbc31e6cb1369d7ea9a05388fbaa3e6f573a6ee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"326e1f18_a7f2aada","in_reply_to":"bd827df6_80528a22","updated":"2026-05-21 04:37:55.000000000","message":"Nice :) I am not familiar with their work.. thank you for the pointer. I filled out their contact form with a link to this specification: https://thelustrecollective.com/contact","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"dbfa745c4c3f8820a8c5c16dfa58c40a227e79bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"2060d919_9b1ec561","updated":"2026-06-19 05:14:20.000000000","message":"Except some nits, I am good with the spec.","commit_id":"63013ef7e5eb81b7936f25351be4ec41ad7c3e2b"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"d503ef685fed0a7e043ba970cf1d0c05aab5b119","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6d681774_819c0240","updated":"2026-06-22 06:13:21.000000000","message":"LGTM ..!","commit_id":"63013ef7e5eb81b7936f25351be4ec41ad7c3e2b"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"3d5b9ce4c0938e300045a665f2e266c83e1d7b01","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"58662629_adf6e4ce","updated":"2026-06-19 00:34:36.000000000","message":"LGTM, thank you Goutham!","commit_id":"63013ef7e5eb81b7936f25351be4ec41ad7c3e2b"}],"specs/hibiscus/lustre-driver.rst":[{"author":{"_account_id":39151,"name":"Timothy Day","email":"timday@thelustrecollective.com","username":"timday"},"change_message_id":"54540308cf111e601d5aebcc8117016516e32c95","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Lustre is the dominant parallel filesystem in high-performance computing,"},{"line_number":14,"context_line":"running on the majority of the world\u0027s largest supercomputers and"},{"line_number":15,"context_line":"increasingly serving as checkpoint and scratch storage for large-scale"},{"line_number":16,"context_line":"AI/ML training. This spec proposes adding ``LUSTRE`` as a supported"},{"line_number":17,"context_line":"share protocol in Manila and providing a native share driver that maps"},{"line_number":18,"context_line":"Manila shares to Lustre subdirectories with project quotas, and access"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7332b115_f91d7366","line":15,"updated":"2026-05-28 21:31:10.000000000","message":"Lustre is increasingly used for persistent home directories as well. This is common when researchers want to use the same shared filesystem for research and actual training runs.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eedca4014cb7ab9e6fd892ea00dbdea719fea554","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Lustre is the dominant parallel filesystem in high-performance computing,"},{"line_number":14,"context_line":"running on the majority of the world\u0027s largest supercomputers and"},{"line_number":15,"context_line":"increasingly serving as checkpoint and scratch storage for large-scale"},{"line_number":16,"context_line":"AI/ML training. This spec proposes adding ``LUSTRE`` as a supported"},{"line_number":17,"context_line":"share protocol in Manila and providing a native share driver that maps"},{"line_number":18,"context_line":"Manila shares to Lustre subdirectories with project quotas, and access"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f2a70ecc_0f8f2913","line":15,"in_reply_to":"7332b115_f91d7366","updated":"2026-06-18 23:02:15.000000000","message":"That\u0027s great to know! I\u0027ve incorporated this","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"ba0728ef8d1b47a7e6c46f8a9d54b808795fab29","unresolved":true,"context_lines":[{"line_number":22,"context_line":"Problem description"},{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Manila supports several share protocols (NFS, CIFS, CephFS, GlusterFS,"},{"line_number":26,"context_line":"HDFS, MAPRFS) but has no support for Lustre, the most widely deployed"},{"line_number":27,"context_line":"parallel filesystem in HPC (running on over 60% of the TOP500"},{"line_number":28,"context_line":"supercomputers `[1]`_). All four major cloud providers (AWS FSx for"},{"line_number":29,"context_line":"Lustre, Google Cloud Managed Lustre, Azure Managed Lustre, and Oracle"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dbbf1e84_9a0a3947","line":26,"range":{"start_line":25,"start_character":0,"end_line":26,"end_character":43},"updated":"2026-06-18 16:57:51.000000000","message":"Is Lustre is file system or protocol ..? It seems both protocol and filesystem name is Lustre, it is confusing..!","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eedca4014cb7ab9e6fd892ea00dbdea719fea554","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Problem description"},{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Manila supports several share protocols (NFS, CIFS, CephFS, GlusterFS,"},{"line_number":26,"context_line":"HDFS, MAPRFS) but has no support for Lustre, the most widely deployed"},{"line_number":27,"context_line":"parallel filesystem in HPC (running on over 60% of the TOP500"},{"line_number":28,"context_line":"supercomputers `[1]`_). All four major cloud providers (AWS FSx for"},{"line_number":29,"context_line":"Lustre, Google Cloud Managed Lustre, Azure Managed Lustre, and Oracle"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5c175b2a_f808d481","line":26,"range":{"start_line":25,"start_character":0,"end_line":26,"end_character":43},"in_reply_to":"dbbf1e84_9a0a3947","updated":"2026-06-18 23:02:15.000000000","message":"I can clarify, but yes, it is both.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":39151,"name":"Timothy Day","email":"timday@thelustrecollective.com","username":"timday"},"change_message_id":"54540308cf111e601d5aebcc8117016516e32c95","unresolved":true,"context_lines":[{"line_number":71,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Add ``LUSTRE`` to the set of supported share protocols in Manila and"},{"line_number":74,"context_line":"implement a new share driver that operates in DHSS\u003dFalse mode on a"},{"line_number":75,"context_line":"pre-existing Lustre filesystem. The driver manages subdirectories,"},{"line_number":76,"context_line":"project quotas, and nodemaps using standard Lustre CLI tools (``lfs``"},{"line_number":77,"context_line":"and ``lctl``)."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3959abae_23d2c807","line":74,"updated":"2026-05-28 21:31:10.000000000","message":"Which existing Manila drivers support DHSS\u003dTrue vs. DHSS\u003dFalse?","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eedca4014cb7ab9e6fd892ea00dbdea719fea554","unresolved":false,"context_lines":[{"line_number":71,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Add ``LUSTRE`` to the set of supported share protocols in Manila and"},{"line_number":74,"context_line":"implement a new share driver that operates in DHSS\u003dFalse mode on a"},{"line_number":75,"context_line":"pre-existing Lustre filesystem. The driver manages subdirectories,"},{"line_number":76,"context_line":"project quotas, and nodemaps using standard Lustre CLI tools (``lfs``"},{"line_number":77,"context_line":"and ``lctl``)."}],"source_content_type":"text/x-rst","patch_set":1,"id":"e36355bd_59fd4270","line":74,"in_reply_to":"3959abae_23d2c807","updated":"2026-06-18 23:02:15.000000000","message":"This list is here: https://docs.openstack.org/manila/2026.1/admin/share_back_ends_feature_support_mapping.html#mapping-of-share-drivers-and-common-capabilities","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"628379ea833097abd67ad0e2d341675e2bb758e4","unresolved":true,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* **Share** -- a subdirectory (fileset) under a configurable path"},{"line_number":82,"context_line":"  prefix on the Lustre filesystem."},{"line_number":83,"context_line":"* **Share size** -- a Lustre project quota assigned to the"},{"line_number":84,"context_line":"  subdirectory\u0027s project ID, enforced by the filesystem."},{"line_number":85,"context_line":"* **Access rule** -- a Lustre nodemap that maps client IP addresses"},{"line_number":86,"context_line":"  (NIDs) to UID/GID squash settings, controlling who can access the"},{"line_number":87,"context_line":"  subdirectory. The driver uses ``access_type\u003d\u0027ip\u0027``."}],"source_content_type":"text/x-rst","patch_set":1,"id":"d0cc0877_ecb54c55","line":84,"range":{"start_line":83,"start_character":2,"end_line":84,"end_character":56},"updated":"2026-05-26 14:53:46.000000000","message":"Since we are talking about AI workloads, do we have any ceilings on the share size that needs to be documented? What are the limitations, any minimum size enforced by Luster etc?","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"39f752eadd9ab488a4431a00f2b2d9d5359f5e0c","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* **Share** -- a subdirectory (fileset) under a configurable path"},{"line_number":82,"context_line":"  prefix on the Lustre filesystem."},{"line_number":83,"context_line":"* **Share size** -- a Lustre project quota assigned to the"},{"line_number":84,"context_line":"  subdirectory\u0027s project ID, enforced by the filesystem."},{"line_number":85,"context_line":"* **Access rule** -- a Lustre nodemap that maps client IP addresses"},{"line_number":86,"context_line":"  (NIDs) to UID/GID squash settings, controlling who can access the"},{"line_number":87,"context_line":"  subdirectory. The driver uses ``access_type\u003d\u0027ip\u0027``."}],"source_content_type":"text/x-rst","patch_set":1,"id":"4eb9bada_4c1b9c66","line":84,"range":{"start_line":83,"start_character":2,"end_line":84,"end_character":56},"in_reply_to":"7d9eb122_d0224632","updated":"2026-06-02 14:30:56.000000000","message":"Acknowledged.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":39151,"name":"Timothy Day","email":"timday@thelustrecollective.com","username":"timday"},"change_message_id":"54540308cf111e601d5aebcc8117016516e32c95","unresolved":true,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* **Share** -- a subdirectory (fileset) under a configurable path"},{"line_number":82,"context_line":"  prefix on the Lustre filesystem."},{"line_number":83,"context_line":"* **Share size** -- a Lustre project quota assigned to the"},{"line_number":84,"context_line":"  subdirectory\u0027s project ID, enforced by the filesystem."},{"line_number":85,"context_line":"* **Access rule** -- a Lustre nodemap that maps client IP addresses"},{"line_number":86,"context_line":"  (NIDs) to UID/GID squash settings, controlling who can access the"},{"line_number":87,"context_line":"  subdirectory. The driver uses ``access_type\u003d\u0027ip\u0027``."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7d9eb122_d0224632","line":84,"range":{"start_line":83,"start_character":2,"end_line":84,"end_character":56},"in_reply_to":"d0cc0877_ecb54c55","updated":"2026-05-28 21:31:10.000000000","message":"Lustre doesn\u0027t really have a practical upper limit to the filesystem size. The largest production cluster (that\u0027s publicly documented) is around 700 PiB. But Lustre can easily go as large as you want.\n\nWe don\u0027t enforce a minimum size. You could likely create a 2MiB filesystem (or something in that range) and expect it work. It wouldn\u0027t be very useful though.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":10910,"name":"Stig Telfer","email":"stig.openstack@telfer.org","username":"stigtelfer"},"change_message_id":"c99ab24217a42d07c632a6f6da138d12ac7b70f2","unresolved":true,"context_lines":[{"line_number":84,"context_line":"  subdirectory\u0027s project ID, enforced by the filesystem."},{"line_number":85,"context_line":"* **Access rule** -- a Lustre nodemap that maps client IP addresses"},{"line_number":86,"context_line":"  (NIDs) to UID/GID squash settings, controlling who can access the"},{"line_number":87,"context_line":"  subdirectory. The driver uses ``access_type\u003d\u0027ip\u0027``."},{"line_number":88,"context_line":"* **Export location** -- a standard Lustre mount specifier in the"},{"line_number":89,"context_line":"  format ``\u003cIP\u003e@\u003cnid_type\u003e:/\u003cfsname\u003e/\u003cprefix\u003e/\u003cshare_id\u003e``."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"d762725c_ac2971a4","line":87,"updated":"2026-05-07 14:57:05.000000000","message":"Kerberos authenticated mounts of subtree exports would be a plus.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4cbc31e6cb1369d7ea9a05388fbaa3e6f573a6ee","unresolved":false,"context_lines":[{"line_number":84,"context_line":"  subdirectory\u0027s project ID, enforced by the filesystem."},{"line_number":85,"context_line":"* **Access rule** -- a Lustre nodemap that maps client IP addresses"},{"line_number":86,"context_line":"  (NIDs) to UID/GID squash settings, controlling who can access the"},{"line_number":87,"context_line":"  subdirectory. The driver uses ``access_type\u003d\u0027ip\u0027``."},{"line_number":88,"context_line":"* **Export location** -- a standard Lustre mount specifier in the"},{"line_number":89,"context_line":"  format ``\u003cIP\u003e@\u003cnid_type\u003e:/\u003cfsname\u003e/\u003cprefix\u003e/\u003cshare_id\u003e``."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ee28692_ee4f7ca0","line":87,"in_reply_to":"d762725c_ac2971a4","updated":"2026-05-21 04:37:55.000000000","message":"That\u0027s neat. Yes, I can note this in future work.. I haven\u0027t dabbled with this myself, but I can imagine how it works based off my experience with Ceph and other storage solutions.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"ba0728ef8d1b47a7e6c46f8a9d54b808795fab29","unresolved":true,"context_lines":[{"line_number":89,"context_line":"  format ``\u003cIP\u003e@\u003cnid_type\u003e:/\u003cfsname\u003e/\u003cprefix\u003e/\u003cshare_id\u003e``."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"The driver supports share creation, deletion, extend, shrink, and"},{"line_number":92,"context_line":"IP-based access control (read-write and read-only). Capacity is"},{"line_number":93,"context_line":"reported by parsing ``lfs df`` output."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"The following configuration options are introduced in the driver\u0027s"}],"source_content_type":"text/x-rst","patch_set":1,"id":"46bea511_1e87740d","line":92,"range":{"start_line":92,"start_character":0,"end_line":92,"end_character":24},"updated":"2026-06-18 16:57:51.000000000","message":"Any particular use case to provide only IP based access. There is not support for user base access ..?","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eedca4014cb7ab9e6fd892ea00dbdea719fea554","unresolved":false,"context_lines":[{"line_number":89,"context_line":"  format ``\u003cIP\u003e@\u003cnid_type\u003e:/\u003cfsname\u003e/\u003cprefix\u003e/\u003cshare_id\u003e``."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"The driver supports share creation, deletion, extend, shrink, and"},{"line_number":92,"context_line":"IP-based access control (read-write and read-only). Capacity is"},{"line_number":93,"context_line":"reported by parsing ``lfs df`` output."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"The following configuration options are introduced in the driver\u0027s"}],"source_content_type":"text/x-rst","patch_set":1,"id":"45849b3b_9b9255e1","line":92,"range":{"start_line":92,"start_character":0,"end_line":92,"end_character":24},"in_reply_to":"46bea511_1e87740d","updated":"2026-06-18 23:02:15.000000000","message":"User based access is associated with kerberos as Stig pointed out above. It can come as a later improvement.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":39151,"name":"Timothy Day","email":"timday@thelustrecollective.com","username":"timday"},"change_message_id":"54540308cf111e601d5aebcc8117016516e32c95","unresolved":true,"context_lines":[{"line_number":96,"context_line":"backend section:"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"* ``lustre_share_export_ip`` -- IP or hostname used in export locations"},{"line_number":99,"context_line":"* ``lustre_mds_ip`` -- MDS hostname for remote admin operations (optional)"},{"line_number":100,"context_line":"* ``lustre_mount_point`` -- local mount point of the Lustre filesystem"},{"line_number":101,"context_line":"* ``lustre_fs_name`` -- Lustre filesystem name"},{"line_number":102,"context_line":"* ``lustre_share_path_prefix`` -- subdirectory prefix for Manila shares"}],"source_content_type":"text/x-rst","patch_set":1,"id":"a135571e_e6e5afc7","line":99,"updated":"2026-05-28 21:31:10.000000000","message":"It\u0027s important to note:\n\n- Lustre has three service types: MGS (ManaGement Service), MDS (MetaData Service), and OSS (Object Storage Service). The MGS (which can either be collocated with MDS0 or standalone) is responsible for filesystem configuration. And it\u0027s the server that clients must connect to in order to mount. You likely want the MGS IP here.\n\n- Lustre doesn\u0027t have a remotely accessible management API. Management tasks have to be performed by running a command on the servers, typically the MGS.\n\n- A single MGS may host multiple filesystems, each with a unique fsname.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eedca4014cb7ab9e6fd892ea00dbdea719fea554","unresolved":false,"context_lines":[{"line_number":96,"context_line":"backend section:"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"* ``lustre_share_export_ip`` -- IP or hostname used in export locations"},{"line_number":99,"context_line":"* ``lustre_mds_ip`` -- MDS hostname for remote admin operations (optional)"},{"line_number":100,"context_line":"* ``lustre_mount_point`` -- local mount point of the Lustre filesystem"},{"line_number":101,"context_line":"* ``lustre_fs_name`` -- Lustre filesystem name"},{"line_number":102,"context_line":"* ``lustre_share_path_prefix`` -- subdirectory prefix for Manila shares"}],"source_content_type":"text/x-rst","patch_set":1,"id":"15bc150d_acf0360c","line":99,"in_reply_to":"33027c70_78542440","updated":"2026-06-18 23:02:15.000000000","message":"This is pretty cool info, thank you for sharing this @timday@thelustrecollective.com. I\u0027ll make the correction and I\u0027ll work on a composable driver interface that can talk to MGS/MDS remotely, and locally. \n\nIn situations like this with other storage technologies, we\u0027ve recommended running manila\u0027s \"share-manager\" process on the same host as the storage interfaces; but, remote driver interactions are equally supported in those drivers as Carlos pointed out..","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"3fccaac9d11d3c2018afc4a79293936a3ba2c7c6","unresolved":true,"context_lines":[{"line_number":96,"context_line":"backend section:"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"* ``lustre_share_export_ip`` -- IP or hostname used in export locations"},{"line_number":99,"context_line":"* ``lustre_mds_ip`` -- MDS hostname for remote admin operations (optional)"},{"line_number":100,"context_line":"* ``lustre_mount_point`` -- local mount point of the Lustre filesystem"},{"line_number":101,"context_line":"* ``lustre_fs_name`` -- Lustre filesystem name"},{"line_number":102,"context_line":"* ``lustre_share_path_prefix`` -- subdirectory prefix for Manila shares"}],"source_content_type":"text/x-rst","patch_set":1,"id":"33027c70_78542440","line":99,"in_reply_to":"5f6467c4_d7799533","updated":"2026-06-11 19:05:33.000000000","message":"That\u0027s a good discussion. I think this should be okay considering the driver helpers we have and other drivers that need similar ssh capabilities.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"5c60542079d136250afb624b219c5a2030563d34","unresolved":true,"context_lines":[{"line_number":96,"context_line":"backend section:"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"* ``lustre_share_export_ip`` -- IP or hostname used in export locations"},{"line_number":99,"context_line":"* ``lustre_mds_ip`` -- MDS hostname for remote admin operations (optional)"},{"line_number":100,"context_line":"* ``lustre_mount_point`` -- local mount point of the Lustre filesystem"},{"line_number":101,"context_line":"* ``lustre_fs_name`` -- Lustre filesystem name"},{"line_number":102,"context_line":"* ``lustre_share_path_prefix`` -- subdirectory prefix for Manila shares"}],"source_content_type":"text/x-rst","patch_set":1,"id":"a98cda1b_14fb9aee","line":99,"in_reply_to":"a135571e_e6e5afc7","updated":"2026-05-29 12:05:42.000000000","message":"If I get this right that means the driver cannot work with only local oslo.privsep execution.\nIt requires SSH access to both MGS (for access rules) and MDS (for quota) nodes.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":39151,"name":"Timothy Day","email":"timday@thelustrecollective.com","username":"timday"},"change_message_id":"e0d38a733e2bb1eac2915244cf6a9255c2f15c0c","unresolved":true,"context_lines":[{"line_number":96,"context_line":"backend section:"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"* ``lustre_share_export_ip`` -- IP or hostname used in export locations"},{"line_number":99,"context_line":"* ``lustre_mds_ip`` -- MDS hostname for remote admin operations (optional)"},{"line_number":100,"context_line":"* ``lustre_mount_point`` -- local mount point of the Lustre filesystem"},{"line_number":101,"context_line":"* ``lustre_fs_name`` -- Lustre filesystem name"},{"line_number":102,"context_line":"* ``lustre_share_path_prefix`` -- subdirectory prefix for Manila shares"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f6467c4_d7799533","line":99,"in_reply_to":"a98cda1b_14fb9aee","updated":"2026-06-02 21:59:45.000000000","message":"Yes. But you could have the user preconfigure the tenants on the Lustre side.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":10910,"name":"Stig Telfer","email":"stig.openstack@telfer.org","username":"stigtelfer"},"change_message_id":"c99ab24217a42d07c632a6f6da138d12ac7b70f2","unresolved":true,"context_lines":[{"line_number":102,"context_line":"* ``lustre_share_path_prefix`` -- subdirectory prefix for Manila shares"},{"line_number":103,"context_line":"* ``lustre_project_id_start`` / ``lustre_project_id_end`` -- project ID"},{"line_number":104,"context_line":"  range for quota allocation"},{"line_number":105,"context_line":"* ``lustre_nid_type`` -- LNet NID type (tcp, o2ib, etc.)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"The driver requires Lustre 2.16 or later. This version introduced"},{"line_number":108,"context_line":"RBAC nodemaps and root project quota enforcement, which prevent"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f1a7b8f7_695da792","line":105,"updated":"2026-05-07 14:57:05.000000000","message":"I think o2ib is important to include, but also may change the use of LNet gateways (I don\u0027t think o2ib mode supports this, may be wrong).","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"ba0728ef8d1b47a7e6c46f8a9d54b808795fab29","unresolved":true,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"* ``lustre_share_export_ip`` -- IP or hostname used in export locations"},{"line_number":99,"context_line":"* ``lustre_mds_ip`` -- MDS hostname for remote admin operations (optional)"},{"line_number":100,"context_line":"* ``lustre_mount_point`` -- local mount point of the Lustre filesystem"},{"line_number":101,"context_line":"* ``lustre_fs_name`` -- Lustre filesystem name"},{"line_number":102,"context_line":"* ``lustre_share_path_prefix`` -- subdirectory prefix for Manila shares"},{"line_number":103,"context_line":"* ``lustre_project_id_start`` / ``lustre_project_id_end`` -- project ID"},{"line_number":104,"context_line":"  range for quota allocation"},{"line_number":105,"context_line":"* ``lustre_nid_type`` -- LNet NID type (tcp, o2ib, etc.)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"The driver requires Lustre 2.16 or later. This version introduced"},{"line_number":108,"context_line":"RBAC nodemaps and root project quota enforcement, which prevent"}],"source_content_type":"text/x-rst","patch_set":1,"id":"6eecc02e_ab04016c","line":105,"range":{"start_line":100,"start_character":3,"end_line":105,"end_character":56},"updated":"2026-06-18 16:57:51.000000000","message":"To connect to remote file system, we need to have remote filesystem credentials (user_name, user_password, auth transport etc), those are not mentioned here. I think these all are require to create the remote connection so that manila can do some active operation or monitoring on remote file system.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c933b9140101a620cfaf15441f4699e45fa034ed","unresolved":true,"context_lines":[{"line_number":102,"context_line":"* ``lustre_share_path_prefix`` -- subdirectory prefix for Manila shares"},{"line_number":103,"context_line":"* ``lustre_project_id_start`` / ``lustre_project_id_end`` -- project ID"},{"line_number":104,"context_line":"  range for quota allocation"},{"line_number":105,"context_line":"* ``lustre_nid_type`` -- LNet NID type (tcp, o2ib, etc.)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"The driver requires Lustre 2.16 or later. This version introduced"},{"line_number":108,"context_line":"RBAC nodemaps and root project quota enforcement, which prevent"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ac74ed94_fa75f050","line":105,"in_reply_to":"33c6ec80_f2f5f811","updated":"2026-06-18 23:16:20.000000000","message":"Yes. \n\nManila users can fetch a share\u0027s export path to then mount onto their clients. An export path looks like this:\n\n```\n\u003clustre_share_export_ip\u003e@\u003clustre_nid_type\u003e:/\u003cfsname\u003e/\u003cprefix\u003e/\u003cshare_id\u003e\n```\n\n(example: 10.0.0.1@tcp:/scratch/manila_shares/abc-123)\n\nThe `lustre_share_export_ip` here could be the raw MGS IP, or a load-balanced virtual IP, or a DNS name.. Manila will use this info to construct the export path.. \n\nThe export path also needs the \"lustre_nid_type\". Maybe i can skip this and let it be discovered by the driver at startup.. `lctl list_nids` would do that. However, how do i interpret the results? Should I present all paths possible?\n\nAn internal detail in manila is to hash all such \"export affecting\" configuration and if they change, refresh the exports - we could auto-discover and preserve this behavior too. Let me know if you have an opinion about this","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":39151,"name":"Timothy Day","email":"timday@thelustrecollective.com","username":"timday"},"change_message_id":"54540308cf111e601d5aebcc8117016516e32c95","unresolved":true,"context_lines":[{"line_number":102,"context_line":"* ``lustre_share_path_prefix`` -- subdirectory prefix for Manila shares"},{"line_number":103,"context_line":"* ``lustre_project_id_start`` / ``lustre_project_id_end`` -- project ID"},{"line_number":104,"context_line":"  range for quota allocation"},{"line_number":105,"context_line":"* ``lustre_nid_type`` -- LNet NID type (tcp, o2ib, etc.)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"The driver requires Lustre 2.16 or later. This version introduced"},{"line_number":108,"context_line":"RBAC nodemaps and root project quota enforcement, which prevent"}],"source_content_type":"text/x-rst","patch_set":1,"id":"33c6ec80_f2f5f811","line":105,"in_reply_to":"5db0ca5d_d0bf3aeb","updated":"2026-05-28 21:31:10.000000000","message":"Could you explain more about how you use lustre_nid_type and lustre_share_export_ip?","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eedca4014cb7ab9e6fd892ea00dbdea719fea554","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"* ``lustre_share_export_ip`` -- IP or hostname used in export locations"},{"line_number":99,"context_line":"* ``lustre_mds_ip`` -- MDS hostname for remote admin operations (optional)"},{"line_number":100,"context_line":"* ``lustre_mount_point`` -- local mount point of the Lustre filesystem"},{"line_number":101,"context_line":"* ``lustre_fs_name`` -- Lustre filesystem name"},{"line_number":102,"context_line":"* ``lustre_share_path_prefix`` -- subdirectory prefix for Manila shares"},{"line_number":103,"context_line":"* ``lustre_project_id_start`` / ``lustre_project_id_end`` -- project ID"},{"line_number":104,"context_line":"  range for quota allocation"},{"line_number":105,"context_line":"* ``lustre_nid_type`` -- LNet NID type (tcp, o2ib, etc.)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"The driver requires Lustre 2.16 or later. This version introduced"},{"line_number":108,"context_line":"RBAC nodemaps and root project quota enforcement, which prevent"}],"source_content_type":"text/x-rst","patch_set":1,"id":"6bc124c3_d23e7b62","line":105,"range":{"start_line":100,"start_character":3,"end_line":105,"end_character":56},"in_reply_to":"6eecc02e_ab04016c","updated":"2026-06-18 23:02:15.000000000","message":"For SSH, yes. I\u0027ll add these now that we\u0027ve identified that MGS/MDS can be remote to manila\u0027s share-manager","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4cbc31e6cb1369d7ea9a05388fbaa3e6f573a6ee","unresolved":true,"context_lines":[{"line_number":102,"context_line":"* ``lustre_share_path_prefix`` -- subdirectory prefix for Manila shares"},{"line_number":103,"context_line":"* ``lustre_project_id_start`` / ``lustre_project_id_end`` -- project ID"},{"line_number":104,"context_line":"  range for quota allocation"},{"line_number":105,"context_line":"* ``lustre_nid_type`` -- LNet NID type (tcp, o2ib, etc.)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"The driver requires Lustre 2.16 or later. This version introduced"},{"line_number":108,"context_line":"RBAC nodemaps and root project quota enforcement, which prevent"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5db0ca5d_d0bf3aeb","line":105,"in_reply_to":"f1a7b8f7_695da792","updated":"2026-05-21 04:37:55.000000000","message":"I\u0027m hoping to make the driver transport agnostic.. this config opt only helps the driver construct export paths.. The underlying type (i.e., if the fabric is tc/o2ib or if LNet routers are needed to bridge the two) would definitely matter to the deployer..","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":10910,"name":"Stig Telfer","email":"stig.openstack@telfer.org","username":"stigtelfer"},"change_message_id":"c99ab24217a42d07c632a6f6da138d12ac7b70f2","unresolved":true,"context_lines":[{"line_number":120,"context_line":"  via NFS-Ganesha and use existing NFS drivers. This introduces a"},{"line_number":121,"context_line":"  single-point bottleneck, sacrifices Lustre\u0027s parallel I/O"},{"line_number":122,"context_line":"  performance, and loses features like client-side striping and"},{"line_number":123,"context_line":"  project quotas."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* **Cinder block driver.** Previously attempted by DDN and abandoned."},{"line_number":126,"context_line":"  The block model does not support shared multi-tenant POSIX access."}],"source_content_type":"text/x-rst","patch_set":1,"id":"0b7ad621_769367f8","line":123,"updated":"2026-05-07 14:57:05.000000000","message":"Best avoided!","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4cbc31e6cb1369d7ea9a05388fbaa3e6f573a6ee","unresolved":false,"context_lines":[{"line_number":120,"context_line":"  via NFS-Ganesha and use existing NFS drivers. This introduces a"},{"line_number":121,"context_line":"  single-point bottleneck, sacrifices Lustre\u0027s parallel I/O"},{"line_number":122,"context_line":"  performance, and loses features like client-side striping and"},{"line_number":123,"context_line":"  project quotas."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* **Cinder block driver.** Previously attempted by DDN and abandoned."},{"line_number":126,"context_line":"  The block model does not support shared multi-tenant POSIX access."}],"source_content_type":"text/x-rst","patch_set":1,"id":"ebdd8266_6d659ef2","line":123,"in_reply_to":"0b7ad621_769367f8","updated":"2026-05-21 04:37:55.000000000","message":"++","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":10910,"name":"Stig Telfer","email":"stig.openstack@telfer.org","username":"stigtelfer"},"change_message_id":"c99ab24217a42d07c632a6f6da138d12ac7b70f2","unresolved":true,"context_lines":[{"line_number":128,"context_line":"* **DHSS\u003dTrue mode.** Creating entire Lustre filesystems per share is"},{"line_number":129,"context_line":"  infeasible because Lustre filesystem provisioning involves deploying"},{"line_number":130,"context_line":"  MGS, MDS, and OSS servers. This could be explored as future work"},{"line_number":131,"context_line":"  for container-based or virtual appliance deployments."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Data model impact"},{"line_number":134,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f1e10bef_82591490","line":131,"updated":"2026-05-07 14:57:05.000000000","message":"It would be useful to clarify the position with regard to LNet gateways - if they should be assumed to exist for Lustre export via TCP","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eedca4014cb7ab9e6fd892ea00dbdea719fea554","unresolved":false,"context_lines":[{"line_number":128,"context_line":"* **DHSS\u003dTrue mode.** Creating entire Lustre filesystems per share is"},{"line_number":129,"context_line":"  infeasible because Lustre filesystem provisioning involves deploying"},{"line_number":130,"context_line":"  MGS, MDS, and OSS servers. This could be explored as future work"},{"line_number":131,"context_line":"  for container-based or virtual appliance deployments."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Data model impact"},{"line_number":134,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"90920395_a65c2a69","line":131,"in_reply_to":"67cd8785_c6a7c9d6","updated":"2026-06-18 23:02:15.000000000","message":"++ would be useful for my own knowledge; i\u0027ve added a clarification in the \"Other Deployer Impact\" section below","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":39151,"name":"Timothy Day","email":"timday@thelustrecollective.com","username":"timday"},"change_message_id":"54540308cf111e601d5aebcc8117016516e32c95","unresolved":true,"context_lines":[{"line_number":128,"context_line":"* **DHSS\u003dTrue mode.** Creating entire Lustre filesystems per share is"},{"line_number":129,"context_line":"  infeasible because Lustre filesystem provisioning involves deploying"},{"line_number":130,"context_line":"  MGS, MDS, and OSS servers. This could be explored as future work"},{"line_number":131,"context_line":"  for container-based or virtual appliance deployments."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Data model impact"},{"line_number":134,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"67cd8785_c6a7c9d6","line":131,"in_reply_to":"6da05c61_b28ed430","updated":"2026-05-28 21:31:10.000000000","message":"\u003e if they should be assumed to exist for Lustre export via TCP\n\nMany Lustre deployments use only TCP (and hence don\u0027t need LNet routers).\n\n\u003e network connectivity between tenant VMs and the Lustre filesystem is a deployment prerequisite\n\nThe Lustre client has some tools (lnetctl ping and OBD ping) that can help validate that the tenant VM can reach the Lustre filesystem for the share. I don\u0027t know how common client-side validations are for Manila, but I can provide some pointers if you\u0027re interested.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4cbc31e6cb1369d7ea9a05388fbaa3e6f573a6ee","unresolved":true,"context_lines":[{"line_number":128,"context_line":"* **DHSS\u003dTrue mode.** Creating entire Lustre filesystems per share is"},{"line_number":129,"context_line":"  infeasible because Lustre filesystem provisioning involves deploying"},{"line_number":130,"context_line":"  MGS, MDS, and OSS servers. This could be explored as future work"},{"line_number":131,"context_line":"  for container-based or virtual appliance deployments."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Data model impact"},{"line_number":134,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"6da05c61_b28ed430","line":131,"in_reply_to":"f1e10bef_82591490","updated":"2026-05-21 04:37:55.000000000","message":"Ack; network connectivity between tenant VMs and the Lustre filesystem is a deployment prerequisite.. I\u0027ll clarify this.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"39f752eadd9ab488a4431a00f2b2d9d5359f5e0c","unresolved":true,"context_lines":[{"line_number":151,"context_line":"specifier format, for example:"},{"line_number":152,"context_line":"``10.0.0.1@tcp:/scratch/manila_shares/abc-123``."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Access rules use the existing ``access_type\u003d\u0027ip\u0027`` with"},{"line_number":155,"context_line":"``access_level\u003d\u0027rw\u0027`` or ``\u0027ro\u0027``. No new access types are introduced."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Driver impact"},{"line_number":158,"context_line":"-------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ecd46386_c0cdee6c","line":155,"range":{"start_line":154,"start_character":0,"end_line":155,"end_character":70},"updated":"2026-06-02 14:30:56.000000000","message":"Does the access rule work like a policy on the backend? If so, what is the scope of that policy, for eg, entire filesystem or share server scoped. Do we need to document that part?","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"31f86e6d19b47fe1ea89f83ad385cf3b31545b05","unresolved":false,"context_lines":[{"line_number":151,"context_line":"specifier format, for example:"},{"line_number":152,"context_line":"``10.0.0.1@tcp:/scratch/manila_shares/abc-123``."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Access rules use the existing ``access_type\u003d\u0027ip\u0027`` with"},{"line_number":155,"context_line":"``access_level\u003d\u0027rw\u0027`` or ``\u0027ro\u0027``. No new access types are introduced."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Driver impact"},{"line_number":158,"context_line":"-------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"96069174_f39f93b8","line":155,"range":{"start_line":154,"start_character":0,"end_line":155,"end_character":70},"in_reply_to":"4e9e93b5_9f8cdbf3","updated":"2026-06-22 06:56:38.000000000","message":"Okay..understood. We can cover it in document then.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"62ae47d06fead456f92a005e8b1830176d7e50a3","unresolved":true,"context_lines":[{"line_number":151,"context_line":"specifier format, for example:"},{"line_number":152,"context_line":"``10.0.0.1@tcp:/scratch/manila_shares/abc-123``."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Access rules use the existing ``access_type\u003d\u0027ip\u0027`` with"},{"line_number":155,"context_line":"``access_level\u003d\u0027rw\u0027`` or ``\u0027ro\u0027``. No new access types are introduced."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Driver impact"},{"line_number":158,"context_line":"-------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"4e9e93b5_9f8cdbf3","line":155,"range":{"start_line":154,"start_character":0,"end_line":155,"end_character":70},"in_reply_to":"b45c061b_a711151b","updated":"2026-06-19 19:48:50.000000000","message":"In my view, this spec is more on the context for the driver and what we are planning to do and invite collaboration. It\u0027s not usual for us to do specs for new drivers we\u0027re proposing to Manila. This is a bit different to new features, where we need to discuss workflows and how things work under the hood. At the end, how the access rules work under the hood sound like a documentation thing.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4a8601b9359354205965eafe4f42c0ac74363efc","unresolved":true,"context_lines":[{"line_number":151,"context_line":"specifier format, for example:"},{"line_number":152,"context_line":"``10.0.0.1@tcp:/scratch/manila_shares/abc-123``."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Access rules use the existing ``access_type\u003d\u0027ip\u0027`` with"},{"line_number":155,"context_line":"``access_level\u003d\u0027rw\u0027`` or ``\u0027ro\u0027``. No new access types are introduced."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Driver impact"},{"line_number":158,"context_line":"-------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"b45c061b_a711151b","line":155,"range":{"start_line":154,"start_character":0,"end_line":155,"end_character":70},"in_reply_to":"c662c2ac_3cd1c9df","updated":"2026-06-19 19:37:18.000000000","message":"Not really, it\u0027s internal detail for the driver.. It makes sense in a doc perhaps. I don\u0027t see how it affects the implementation. What am i missing?","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"dbfa745c4c3f8820a8c5c16dfa58c40a227e79bf","unresolved":false,"context_lines":[{"line_number":151,"context_line":"specifier format, for example:"},{"line_number":152,"context_line":"``10.0.0.1@tcp:/scratch/manila_shares/abc-123``."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Access rules use the existing ``access_type\u003d\u0027ip\u0027`` with"},{"line_number":155,"context_line":"``access_level\u003d\u0027rw\u0027`` or ``\u0027ro\u0027``. No new access types are introduced."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Driver impact"},{"line_number":158,"context_line":"-------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c662c2ac_3cd1c9df","line":155,"range":{"start_line":154,"start_character":0,"end_line":155,"end_character":70},"in_reply_to":"e77e5249_f15e4a00","updated":"2026-06-19 05:14:20.000000000","message":"Okay. I think this is good information to add to the spec as right now the scope of access rules is abstracted.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eedca4014cb7ab9e6fd892ea00dbdea719fea554","unresolved":false,"context_lines":[{"line_number":151,"context_line":"specifier format, for example:"},{"line_number":152,"context_line":"``10.0.0.1@tcp:/scratch/manila_shares/abc-123``."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Access rules use the existing ``access_type\u003d\u0027ip\u0027`` with"},{"line_number":155,"context_line":"``access_level\u003d\u0027rw\u0027`` or ``\u0027ro\u0027``. No new access types are introduced."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Driver impact"},{"line_number":158,"context_line":"-------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e77e5249_f15e4a00","line":155,"range":{"start_line":154,"start_character":0,"end_line":155,"end_character":70},"in_reply_to":"ecd46386_c0cdee6c","updated":"2026-06-18 23:02:15.000000000","message":"\"Nodemaps\" would be akin to ONTAP\u0027s export policy.\n\nThe driver creates one nodemap per access rule, mapping the client IP to the share\u0027s subdirectory. The nodemap does not grant access to other shares on the\nsame filesystem - just the subdirectory we\u0027re concerned about","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"39f752eadd9ab488a4431a00f2b2d9d5359f5e0c","unresolved":true,"context_lines":[{"line_number":165,"context_line":"IP-based access control (grant and revoke), capacity reporting, and"},{"line_number":166,"context_line":"share ensure (re-verification on service restart)."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Not supported in the initial implementation: snapshots, share"},{"line_number":169,"context_line":"replication, manage/unmanage of existing shares, and share groups."},{"line_number":170,"context_line":"These can be added as future enhancements."},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"0f5db259_4dde30a3","line":168,"range":{"start_line":168,"start_character":45,"end_line":168,"end_character":54},"updated":"2026-06-02 14:30:56.000000000","message":"I feel snapshots would be a great addition for data recovery. Without that, there are risks users will run where the data can be lost without a backup strategy.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eedca4014cb7ab9e6fd892ea00dbdea719fea554","unresolved":false,"context_lines":[{"line_number":165,"context_line":"IP-based access control (grant and revoke), capacity reporting, and"},{"line_number":166,"context_line":"share ensure (re-verification on service restart)."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Not supported in the initial implementation: snapshots, share"},{"line_number":169,"context_line":"replication, manage/unmanage of existing shares, and share groups."},{"line_number":170,"context_line":"These can be added as future enhancements."},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"d27d771c_1ff5e335","line":168,"range":{"start_line":168,"start_character":45,"end_line":168,"end_character":54},"in_reply_to":"00bc37ae_70ad67ec","updated":"2026-06-18 23:02:15.000000000","message":"Yeah, in manila, snapshot policy/periodic automation and replicating those elsewhere is handled externally via tools like the ones Anoop mentions. Manila however provides the API primitives to perform this sort of thing (\"take a snapshot of this share, restore this snapshot, replicate this share to a different AZ\") \n\nSnapshots are an optional feature in manila, and so while I agree that data protection is important, the limitation here is that LUSTRE needs to provide a way to snapshot a single subdirectory for an effective implementation. It can be a future work item.\n\nManila\u0027s backup API will work with this driver once backup support is added, providing a path for data recovery without requiring Lustre-native snapshots.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":39151,"name":"Timothy Day","email":"timday@thelustrecollective.com","username":"timday"},"change_message_id":"e0d38a733e2bb1eac2915244cf6a9255c2f15c0c","unresolved":true,"context_lines":[{"line_number":165,"context_line":"IP-based access control (grant and revoke), capacity reporting, and"},{"line_number":166,"context_line":"share ensure (re-verification on service restart)."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Not supported in the initial implementation: snapshots, share"},{"line_number":169,"context_line":"replication, manage/unmanage of existing shares, and share groups."},{"line_number":170,"context_line":"These can be added as future enhancements."},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"182d1cbe_49cd7a74","line":168,"range":{"start_line":168,"start_character":45,"end_line":168,"end_character":54},"in_reply_to":"0f5db259_4dde30a3","updated":"2026-06-02 21:59:45.000000000","message":"Do other Manila drivers handle automatic/scheduled backup? I\u0027d imagine we\u0027d need some workflow to replicate a snapshot to secondary storage?","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"5ec3055188955a00a78d84f74437c49598d817a3","unresolved":true,"context_lines":[{"line_number":165,"context_line":"IP-based access control (grant and revoke), capacity reporting, and"},{"line_number":166,"context_line":"share ensure (re-verification on service restart)."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Not supported in the initial implementation: snapshots, share"},{"line_number":169,"context_line":"replication, manage/unmanage of existing shares, and share groups."},{"line_number":170,"context_line":"These can be added as future enhancements."},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"00bc37ae_70ad67ec","line":168,"range":{"start_line":168,"start_character":45,"end_line":168,"end_character":54},"in_reply_to":"182d1cbe_49cd7a74","updated":"2026-06-03 12:43:07.000000000","message":"On demand snapshots can be used with third party backup tools like veritas and commvault etc. that can help with enabling DR for data which can be stored in a third site to increase redundancy. I dont think Manila has a policy backed snapshot. Other storage systems can have default policies that can create local backups that are stored locally.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"dbfa745c4c3f8820a8c5c16dfa58c40a227e79bf","unresolved":false,"context_lines":[{"line_number":165,"context_line":"IP-based access control (grant and revoke), capacity reporting, and"},{"line_number":166,"context_line":"share ensure (re-verification on service restart)."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Not supported in the initial implementation: snapshots, share"},{"line_number":169,"context_line":"replication, manage/unmanage of existing shares, and share groups."},{"line_number":170,"context_line":"These can be added as future enhancements."},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"b1988e35_04c3274d","line":168,"range":{"start_line":168,"start_character":45,"end_line":168,"end_character":54},"in_reply_to":"d27d771c_1ff5e335","updated":"2026-06-19 05:14:20.000000000","message":"Okay thats good to know. Thanks.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":39151,"name":"Timothy Day","email":"timday@thelustrecollective.com","username":"timday"},"change_message_id":"54540308cf111e601d5aebcc8117016516e32c95","unresolved":true,"context_lines":[{"line_number":257,"context_line":""},{"line_number":258,"context_line":"Future work (out of scope for initial implementation):"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"* Snapshot support via Lustre filesystem snapshots."},{"line_number":261,"context_line":"* DHSS\u003dTrue mode for container-based Lustre deployments."},{"line_number":262,"context_line":"* Manage/unmanage support for adopting existing subdirectories."},{"line_number":263,"context_line":"* Dynamic nodemap support (Lustre 2.17+) for ephemeral VM"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f9b3f98b_afeaabbc","line":260,"updated":"2026-05-28 21:31:10.000000000","message":"Lustre doesn\u0027t currently have native snapshot support. You can take snapshots of individual Lustre servers if the underlying storage supports it i.e. ldiskfs on LVM, or ZFS.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eedca4014cb7ab9e6fd892ea00dbdea719fea554","unresolved":false,"context_lines":[{"line_number":257,"context_line":""},{"line_number":258,"context_line":"Future work (out of scope for initial implementation):"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"* Snapshot support via Lustre filesystem snapshots."},{"line_number":261,"context_line":"* DHSS\u003dTrue mode for container-based Lustre deployments."},{"line_number":262,"context_line":"* Manage/unmanage support for adopting existing subdirectories."},{"line_number":263,"context_line":"* Dynamic nodemap support (Lustre 2.17+) for ephemeral VM"}],"source_content_type":"text/x-rst","patch_set":1,"id":"413babe7_7267c583","line":260,"in_reply_to":"f9b3f98b_afeaabbc","updated":"2026-06-18 23:02:15.000000000","message":"++\nI\u0027ll update the future work section to accurately describe Lustre\u0027s snapshot\ncapabilities and the potential approaches.","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":39151,"name":"Timothy Day","email":"timday@thelustrecollective.com","username":"timday"},"change_message_id":"54540308cf111e601d5aebcc8117016516e32c95","unresolved":true,"context_lines":[{"line_number":258,"context_line":"Future work (out of scope for initial implementation):"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"* Snapshot support via Lustre filesystem snapshots."},{"line_number":261,"context_line":"* DHSS\u003dTrue mode for container-based Lustre deployments."},{"line_number":262,"context_line":"* Manage/unmanage support for adopting existing subdirectories."},{"line_number":263,"context_line":"* Dynamic nodemap support (Lustre 2.17+) for ephemeral VM"},{"line_number":264,"context_line":"  environments."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5e4c26f8_07b6d4be","line":261,"updated":"2026-05-28 21:31:10.000000000","message":"What is a container-based Lustre deployment, in this context?","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eedca4014cb7ab9e6fd892ea00dbdea719fea554","unresolved":false,"context_lines":[{"line_number":258,"context_line":"Future work (out of scope for initial implementation):"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"* Snapshot support via Lustre filesystem snapshots."},{"line_number":261,"context_line":"* DHSS\u003dTrue mode for container-based Lustre deployments."},{"line_number":262,"context_line":"* Manage/unmanage support for adopting existing subdirectories."},{"line_number":263,"context_line":"* Dynamic nodemap support (Lustre 2.17+) for ephemeral VM"},{"line_number":264,"context_line":"  environments."}],"source_content_type":"text/x-rst","patch_set":1,"id":"068ff473_2e088869","line":261,"in_reply_to":"5e4c26f8_07b6d4be","updated":"2026-06-18 23:02:15.000000000","message":"I meant a deployment where Lustre services (MGS/MDS/OSS) run in containers or VMs that Manila could provision on demand, similar to how the generic driver provisions share servers. I\u0027ll clarify this in the text..","commit_id":"da17cb57aca3f4ddb4401f2c6614d0c42101cbd0"}]}
