Pure Storage FlashBlade Driver for OpenStack Manila¶
The Pure Storage FlashBlade Manila driver provides NFS shared file systems to OpenStack using Pure Storage’s FlashBlade native filesystem capabilities.
Supported Operations¶
The following operations are supported with Pure Storage FlashBlade:
Create/delete NFS shares
Shares are not accessible until access rules allow access
Allow/deny NFS share access
IP access rules are required for NFS share access
Create/delete snapshots
Expand and Shrink shares
Revert to Snapshot
Share networks are not supported. Shares are created directly on the FlashBlade without the use of a share server or service VM. Network connectivity is setup outside of Manila.
General Requirements¶
On the system running the Manila share service:
purity_fb 1.12.1 or newer from PyPI.
On the Pure Storage FlashBlade:
Purity//FB Operating System software version 2.3.0 or higher
Network Requirements¶
Connectivity between the FlashBlade (REST) and the manila host is required for share management.
Connectivity between the clients and the FlashBlade is required for mounting and using the shares. This includes:
Routing from the client to the external network
Assigning the client an external IP address (e.g., a floating IP)
Configuring the manila host networking properly for IP forwarding
Configuring the FlashBlade networking properly for client subnets
Driver Configuration¶
Before configuring the driver, make sure the following networking requirements have been met:
A management subnet must be accessible from the system running the Manila share services
A data subnet must be accessible from the system running the Nova compute services
An API token must be available for a user with administrative privileges
Perform the following steps:
Configure the Pure Storage FlashBlade parameters in manila.conf
Configure/create a share type
Restart the services
It is also assumed that the OpenStack networking has been confiured correctly.
Step 1 - FlashBlade Parameters configuration¶
The following parameters need to be configured in the [DEFAULT] section of /etc/manila/manila.conf:
Option |
Description |
---|---|
enabled_share_backends |
Name of the section on |
enabled_share_protocols |
Specify a list of protocols to be allowed for share creation. This driver version only supports NFS |
The following parameters need to be configured in the [backend] section
of /etc/manila/manila.conf
:
Option |
Description |
---|---|
share_backend_name |
A name for the backend. |
share_driver |
Python module path. For this driver this must be: manila.share.drivers.purestorage.flashblade.FlashBladeShareDriver |
driver_handles_share_servers |
Driver working mode. For this driver this must be: False. |
flashblade_mgmt_vip |
The name (or IP address) for the Pure Storage FlashBlade storage system management VIP. |
flashblade_data_vip |
The names (or IP address) for the Pure Storage FlashBlade storage system data VIPs. |
flashblade_api |
API token for an administrative user account |
flashblade_eradicate (Optional) |
When enabled, all FlashBlade file systems and snapshots will be eradicated at the time of deletion in Manila. Data will NOT be recoverable after a delete with this set to True! When disabled, file systems and snapshots will go into pending eradication state and can be recovered. Default value is True. |
Below is an example of a valid configuration of the FlashBlade driver:
[DEFAULT]
...
enabled_share_backends = flashblade
enabled_share_protocols = NFS
...
[flashblade]
share_backend_name = flashblade
share_driver = manila.share.drivers.purestorage.flashblade.FlashBladeShareDriver
driver_handles_share_servers = False
flashblade_mgmt_vip = 1.2.3.4
flashblade_data_vip = 1.2.3.5,1.2.3.6
flashblade_api = T-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Restart of manila-share service is needed for the configuration changes to take effect.
Step 3 - Restart the Services¶
Restart all Shared File Systems services (manila-share, manila-scheduler and manila-api). This step is specific to your environment. for example, systemctl restart <controller>@manila-shr is used to restart the share service.