)]}'
{"doc/source/configuration/shared-file-systems/drivers/vastdata_driver.rst":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"542dab08de9cf932298f41242aca4bd877668aeb","unresolved":true,"context_lines":[{"line_number":104,"context_line":"    openstack share create NFS ${size} --name ${share_name} --share-type ${share_type_name}"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Multitenancy support via Share Types"},{"line_number":107,"context_line":"--------------------------------------------------"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"The VAST Share Driver supports multitenancy by allowing different share types"},{"line_number":110,"context_line":"to use different VIP pools. This enables tenant isolation and provides"}],"source_content_type":"text/x-rst","patch_set":8,"id":"29914443_07186c85","line":107,"range":{"start_line":107,"start_character":36,"end_line":107,"end_character":50},"updated":"2025-11-03 21:21:09.000000000","message":"nit: limit underline to text","commit_id":"9a94f280470b587eabec64e00c2830db7f6caee3"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"84225bb41e9b2c27aa4c2e9c1e3c0c01cf27e66e","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    openstack share create NFS ${size} --name ${share_name} --share-type ${share_type_name}"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Multitenancy support via Share Types"},{"line_number":107,"context_line":"--------------------------------------------------"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"The VAST Share Driver supports multitenancy by allowing different share types"},{"line_number":110,"context_line":"to use different VIP pools. This enables tenant isolation and provides"}],"source_content_type":"text/x-rst","patch_set":8,"id":"6d873696_26b3988b","line":107,"range":{"start_line":107,"start_character":36,"end_line":107,"end_character":50},"in_reply_to":"29914443_07186c85","updated":"2026-02-02 02:54:28.000000000","message":"Done","commit_id":"9a94f280470b587eabec64e00c2830db7f6caee3"}],"manila/share/drivers/vastdata/driver.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"542dab08de9cf932298f41242aca4bd877668aeb","unresolved":true,"context_lines":[{"line_number":172,"context_line":"            \"Capacity,physical_space_in_use\","},{"line_number":173,"context_line":"        ]"},{"line_number":174,"context_line":"        metrics \u003d self.rest.capacity_metrics.get(metrics_list)"},{"line_number":175,"context_line":"        data \u003d dict("},{"line_number":176,"context_line":"            share_backend_name\u003dself._backend_name,"},{"line_number":177,"context_line":"            vendor_name\u003d\"VAST STORAGE\","},{"line_number":178,"context_line":"            driver_version\u003dself.VERSION,"},{"line_number":179,"context_line":"            storage_protocol\u003d\"NFS\","},{"line_number":180,"context_line":"            data_reduction\u003dmetrics.drr,"},{"line_number":181,"context_line":"            total_capacity_gb\u003dfloat(metrics.logical_space) / units.Gi,"},{"line_number":182,"context_line":"            free_capacity_gb\u003dfloat("},{"line_number":183,"context_line":"                metrics.logical_space - metrics.logical_space_in_use"},{"line_number":184,"context_line":"            )"},{"line_number":185,"context_line":"            / units.Gi,"},{"line_number":186,"context_line":"            provisioned_capacity_gb\u003dfloat("},{"line_number":187,"context_line":"                metrics.logical_space_in_use) / units.Gi,"},{"line_number":188,"context_line":"            snapshot_support\u003dTrue,"},{"line_number":189,"context_line":"            create_share_from_snapshot_support\u003dFalse,"},{"line_number":190,"context_line":"            mount_snapshot_support\u003dFalse,"},{"line_number":191,"context_line":"            revert_to_snapshot_support\u003dFalse,"},{"line_number":192,"context_line":"        )"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        super()._update_share_stats(data)"},{"line_number":195,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"87824c08_dc04bc6d","line":192,"range":{"start_line":175,"start_character":8,"end_line":192,"end_character":9},"updated":"2025-11-03 21:21:09.000000000","message":"Other drivers here report each pool to the Manila Scheduler, and include a \"pool_name\" that share type extra-specs can match. You\u0027re choosing to implement a scoped extra-spec to specify pools. Have you identified any advantages to doing this?\n\nBy reporting the pool information to the Scheduler, you enable cloud administrators to discover the pool names that can then be mapped to specific share types if necessary.","commit_id":"9a94f280470b587eabec64e00c2830db7f6caee3"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"84225bb41e9b2c27aa4c2e9c1e3c0c01cf27e66e","unresolved":false,"context_lines":[{"line_number":172,"context_line":"            \"Capacity,physical_space_in_use\","},{"line_number":173,"context_line":"        ]"},{"line_number":174,"context_line":"        metrics \u003d self.rest.capacity_metrics.get(metrics_list)"},{"line_number":175,"context_line":"        data \u003d dict("},{"line_number":176,"context_line":"            share_backend_name\u003dself._backend_name,"},{"line_number":177,"context_line":"            vendor_name\u003d\"VAST STORAGE\","},{"line_number":178,"context_line":"            driver_version\u003dself.VERSION,"},{"line_number":179,"context_line":"            storage_protocol\u003d\"NFS\","},{"line_number":180,"context_line":"            data_reduction\u003dmetrics.drr,"},{"line_number":181,"context_line":"            total_capacity_gb\u003dfloat(metrics.logical_space) / units.Gi,"},{"line_number":182,"context_line":"            free_capacity_gb\u003dfloat("},{"line_number":183,"context_line":"                metrics.logical_space - metrics.logical_space_in_use"},{"line_number":184,"context_line":"            )"},{"line_number":185,"context_line":"            / units.Gi,"},{"line_number":186,"context_line":"            provisioned_capacity_gb\u003dfloat("},{"line_number":187,"context_line":"                metrics.logical_space_in_use) / units.Gi,"},{"line_number":188,"context_line":"            snapshot_support\u003dTrue,"},{"line_number":189,"context_line":"            create_share_from_snapshot_support\u003dFalse,"},{"line_number":190,"context_line":"            mount_snapshot_support\u003dFalse,"},{"line_number":191,"context_line":"            revert_to_snapshot_support\u003dFalse,"},{"line_number":192,"context_line":"        )"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        super()._update_share_stats(data)"},{"line_number":195,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"8282e761_800921de","line":192,"range":{"start_line":175,"start_character":8,"end_line":192,"end_character":9},"in_reply_to":"42163834_dc3b441e","updated":"2026-02-02 02:54:28.000000000","message":"I clarified if we have option of logical separation that we can represent as \"pool\" and we don\u0027t. \nSo for now better to stick to one \"default\" pool.","commit_id":"9a94f280470b587eabec64e00c2830db7f6caee3"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"4ad46bfa1fd6c393829ccf745dcaee461617189a","unresolved":true,"context_lines":[{"line_number":172,"context_line":"            \"Capacity,physical_space_in_use\","},{"line_number":173,"context_line":"        ]"},{"line_number":174,"context_line":"        metrics \u003d self.rest.capacity_metrics.get(metrics_list)"},{"line_number":175,"context_line":"        data \u003d dict("},{"line_number":176,"context_line":"            share_backend_name\u003dself._backend_name,"},{"line_number":177,"context_line":"            vendor_name\u003d\"VAST STORAGE\","},{"line_number":178,"context_line":"            driver_version\u003dself.VERSION,"},{"line_number":179,"context_line":"            storage_protocol\u003d\"NFS\","},{"line_number":180,"context_line":"            data_reduction\u003dmetrics.drr,"},{"line_number":181,"context_line":"            total_capacity_gb\u003dfloat(metrics.logical_space) / units.Gi,"},{"line_number":182,"context_line":"            free_capacity_gb\u003dfloat("},{"line_number":183,"context_line":"                metrics.logical_space - metrics.logical_space_in_use"},{"line_number":184,"context_line":"            )"},{"line_number":185,"context_line":"            / units.Gi,"},{"line_number":186,"context_line":"            provisioned_capacity_gb\u003dfloat("},{"line_number":187,"context_line":"                metrics.logical_space_in_use) / units.Gi,"},{"line_number":188,"context_line":"            snapshot_support\u003dTrue,"},{"line_number":189,"context_line":"            create_share_from_snapshot_support\u003dFalse,"},{"line_number":190,"context_line":"            mount_snapshot_support\u003dFalse,"},{"line_number":191,"context_line":"            revert_to_snapshot_support\u003dFalse,"},{"line_number":192,"context_line":"        )"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        super()._update_share_stats(data)"},{"line_number":195,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"f5724c48_5b0d8b33","line":192,"range":{"start_line":175,"start_character":8,"end_line":192,"end_character":9},"in_reply_to":"87824c08_dc04bc6d","updated":"2026-01-16 01:10:29.000000000","message":"Thanks Goutham. \nCould you explain what is a benefit of separated pools?\nVAST doesn\u0027 have option to report usage by pools. It is one total_capacity_gb per whole cluster.","commit_id":"9a94f280470b587eabec64e00c2830db7f6caee3"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8e68c63259a72b6c7fe6b3e26ff9d37babdfd8a5","unresolved":true,"context_lines":[{"line_number":172,"context_line":"            \"Capacity,physical_space_in_use\","},{"line_number":173,"context_line":"        ]"},{"line_number":174,"context_line":"        metrics \u003d self.rest.capacity_metrics.get(metrics_list)"},{"line_number":175,"context_line":"        data \u003d dict("},{"line_number":176,"context_line":"            share_backend_name\u003dself._backend_name,"},{"line_number":177,"context_line":"            vendor_name\u003d\"VAST STORAGE\","},{"line_number":178,"context_line":"            driver_version\u003dself.VERSION,"},{"line_number":179,"context_line":"            storage_protocol\u003d\"NFS\","},{"line_number":180,"context_line":"            data_reduction\u003dmetrics.drr,"},{"line_number":181,"context_line":"            total_capacity_gb\u003dfloat(metrics.logical_space) / units.Gi,"},{"line_number":182,"context_line":"            free_capacity_gb\u003dfloat("},{"line_number":183,"context_line":"                metrics.logical_space - metrics.logical_space_in_use"},{"line_number":184,"context_line":"            )"},{"line_number":185,"context_line":"            / units.Gi,"},{"line_number":186,"context_line":"            provisioned_capacity_gb\u003dfloat("},{"line_number":187,"context_line":"                metrics.logical_space_in_use) / units.Gi,"},{"line_number":188,"context_line":"            snapshot_support\u003dTrue,"},{"line_number":189,"context_line":"            create_share_from_snapshot_support\u003dFalse,"},{"line_number":190,"context_line":"            mount_snapshot_support\u003dFalse,"},{"line_number":191,"context_line":"            revert_to_snapshot_support\u003dFalse,"},{"line_number":192,"context_line":"        )"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        super()._update_share_stats(data)"},{"line_number":195,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"42163834_dc3b441e","line":192,"range":{"start_line":175,"start_character":8,"end_line":192,"end_character":9},"in_reply_to":"f5724c48_5b0d8b33","updated":"2026-01-16 19:09:02.000000000","message":"I see the same concern with CephFS. Space accounting is across the storage cluster rather than specific pools - but reporting pools individually with cluster capacity stats isn\u0027t really going to break anything. \n\nThe biggest benefit I\u0027m thinking of is cloud administrators knowing what vippool names exist. If the driver reports these to manila, they\u0027ll see it when they use: \"openstack share pool list --detail\".","commit_id":"9a94f280470b587eabec64e00c2830db7f6caee3"}],"releasenotes/notes/vastdata-multitenancly-6936c95f94213548.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7b63ebafc7b178d1b6d5b425b215242e16c2a769","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"4e9fab89_c371da67","updated":"2025-11-03 21:23:42.000000000","message":"typo in the file name: multitenancy","commit_id":"9a94f280470b587eabec64e00c2830db7f6caee3"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"e5532c9ab3906698f18269ea87f8faa512673f3e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"c29928ab_f1521297","in_reply_to":"4e9fab89_c371da67","updated":"2026-03-02 09:24:19.000000000","message":"Done","commit_id":"9a94f280470b587eabec64e00c2830db7f6caee3"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"542dab08de9cf932298f41242aca4bd877668aeb","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The VAST Manila driver now supports multitenancy via share types using"},{"line_number":5,"context_line":"    namespaced extra specs. Administrators can specify different VIP pools"},{"line_number":6,"context_line":"    per share type using the ``vast:vippool_name`` extra spec, enabling"},{"line_number":7,"context_line":"    network isolation between different tenants or projects. This allows"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"fd598c32_f3780920","line":4,"range":{"start_line":4,"start_character":31,"end_line":4,"end_character":39},"updated":"2025-11-03 21:21:09.000000000","message":"enhances?\n\nMultitenancy was always supported, i.e., all OpenStack Manila resources are namespace isolated; however, by dedicating pools to tenants, you\u0027re enabling a different level of data isolation. \n\nI presume this can be done today by setting up multiple VAST backend sections, each specifying a different vast_vippool_name","commit_id":"9a94f280470b587eabec64e00c2830db7f6caee3"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8e68c63259a72b6c7fe6b3e26ff9d37babdfd8a5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The VAST Manila driver now supports multitenancy via share types using"},{"line_number":5,"context_line":"    namespaced extra specs. Administrators can specify different VIP pools"},{"line_number":6,"context_line":"    per share type using the ``vast:vippool_name`` extra spec, enabling"},{"line_number":7,"context_line":"    network isolation between different tenants or projects. This allows"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"f607c47c_cfbb20ca","line":4,"range":{"start_line":4,"start_character":31,"end_line":4,"end_character":39},"in_reply_to":"6f3d11ca_a91b16b4","updated":"2026-01-16 19:09:02.000000000","message":"yes, i meant replacing \"supports\" with \"enhances\" in the text will be better because right now it sounds as though multitenancy wasn\u0027t supported at all.","commit_id":"9a94f280470b587eabec64e00c2830db7f6caee3"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"84225bb41e9b2c27aa4c2e9c1e3c0c01cf27e66e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The VAST Manila driver now supports multitenancy via share types using"},{"line_number":5,"context_line":"    namespaced extra specs. Administrators can specify different VIP pools"},{"line_number":6,"context_line":"    per share type using the ``vast:vippool_name`` extra spec, enabling"},{"line_number":7,"context_line":"    network isolation between different tenants or projects. This allows"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"061c7749_03d00f6f","line":4,"range":{"start_line":4,"start_character":31,"end_line":4,"end_character":39},"in_reply_to":"f607c47c_cfbb20ca","updated":"2026-02-02 02:54:28.000000000","message":"Done","commit_id":"9a94f280470b587eabec64e00c2830db7f6caee3"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"4ad46bfa1fd6c393829ccf745dcaee461617189a","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The VAST Manila driver now supports multitenancy via share types using"},{"line_number":5,"context_line":"    namespaced extra specs. Administrators can specify different VIP pools"},{"line_number":6,"context_line":"    per share type using the ``vast:vippool_name`` extra spec, enabling"},{"line_number":7,"context_line":"    network isolation between different tenants or projects. This allows"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"6f3d11ca_a91b16b4","line":4,"range":{"start_line":4,"start_character":31,"end_line":4,"end_character":39},"in_reply_to":"fd598c32_f3780920","updated":"2026-01-16 01:10:29.000000000","message":"Probably there is misunderstanding. \nMy change has nothing to do with Openstack tenants as wwell as Multitenancy is not related to Openstack.\n\nAll these terms are also used in Vast and here I\u0027d like to be able to specify different vast vip pools for connection (vast vip pool is list of ip addresses assigned to specific vast tenant)\n\nNamely we have manila.conf where I can specify vastdata_vip_pool as one of required arguments. So far only this vip pool ( all ips of vip pool is all available export locations of manila share) was used for connections.\n\nBut we have request from customer who wants to use different vip pools thus different tenants for different shares.\n\nOne way to provide \"extra\" vip pools besides one that is specified in manila.conf is to use extra specs where you can actually provide arbitrary, driver related key value pairs. I saw this approach in some cinder drivers.","commit_id":"9a94f280470b587eabec64e00c2830db7f6caee3"}]}
