INFINIDAT InfiniBox Share driver

The INFINIDAT Share driver provides support for managing filesystem shares on the INFINIDAT InfiniBox storage systems.

This section explains how to configure the INFINIDAT driver.

Supported operations

  • Create and delete filesystem shares.

  • Ensure filesystem shares.

  • Extend a share.

  • Create and delete filesystem snapshots.

  • Create a share from a share snapshot.

  • Revert a share to its snapshot.

  • Mount a snapshot.

  • Set access rights to shares and snapshots.

    Note the following limitations:

    • Only IP access type is supported.

    • Both RW & RO access levels are supported.

External package installation

The driver requires the infinisdk package for communicating with InfiniBox systems. Install the package from PyPI using the following command:

$ pip install infinisdk

Setting up the storage array

Create a storage pool object on the InfiniBox array in advance. The storage pool will contain shares managed by OpenStack. Refer to the InfiniBox manuals for details on pool management.

Driver configuration

Edit the manila.conf file, which is usually located under the following path /etc/manila/manila.conf.

  • Add a section for the INFINIDAT driver back end.

  • Under the [DEFAULT] section, set the enabled_share_backends parameter with the name of the new back-end section.

Configure the driver back-end section with the parameters below.

  • Configure the driver name by setting the following parameter:

    share_driver = manila.share.drivers.infinidat.infinibox.InfiniboxShareDriver
    
  • Configure the management IP of the InfiniBox array by adding the following parameter:

    infinibox_hostname = InfiniBox management IP
    
  • Configure SSL support for InfiniBox management API:

    We recommend enabling SSL support for InfiniBox management API. Refer to the InfiniBox manuals for details on security management. Configure SSL options by adding the following parameters:

    infinidat_use_ssl = true/false
    infinidat_suppress_ssl_warnings = true/false
    

    These parameters defaults to false.

  • Configure user credentials:

    The driver requires an InfiniBox user with administrative privileges. We recommend creating a dedicated OpenStack user account that holds a pool admin user role. Refer to the InfiniBox manuals for details on user account management. Configure the user credentials by adding the following parameters:

    infinibox_login = Infinibox management login
    infinibox_password = Infinibox management password
    
  • Configure the name of the InfiniBox pool by adding the following parameter:

    infinidat_pool_name = Pool as defined in the InfiniBox
    
  • Configure the name of the InfiniBox NAS network space by adding the following parameter:

    infinidat_nas_network_space_name = Network space as defined in the InfiniBox
    
  • The back-end name is an identifier for the back end. We recommend using the same name as the name of the section. Configure the back-end name by adding the following parameter:

    share_backend_name = back-end name
    
  • Thin provisioning:

    The INFINIDAT driver supports creating thin or thick provisioned filesystems. Configure thin or thick provisioning by adding the following parameter:

    infinidat_thin_provision = true/false
    

    This parameter defaults to true.

  • Controls access to the .snapshot directory:

    infinidat_snapdir_accessible = true/false
    

    By default, each share allows access to its own .snapshot directory, which contains files and directories of each snapshot taken. To restrict access to the .snapshot directory on the client side, this option should be set to false.

    This parameter defaults to true.

  • Controls visibility of the .snapshot directory:

    infinidat_snapdir_visible = true/false
    

    By default, each share contains the .snapshot directory, which is hidden on the client side. To make the .snapshot directory visible, this option should be set to true.

    This parameter defaults to false.

Configuration example

[DEFAULT]
enabled_share_backends = infinidat-pool-a

[infinidat-pool-a]
share_driver = manila.share.drivers.infinidat.infinibox.InfiniboxShareDriver
share_backend_name = infinidat-pool-a
driver_handles_share_servers = false
infinibox_hostname = 10.1.2.3
infinidat_use_ssl = true
infinidat_suppress_ssl_warnings = true
infinibox_login = openstackuser
infinibox_password = openstackpass
infinidat_pool_name = pool-a
infinidat_nas_network_space_name = nas_space
infinidat_thin_provision = true
infinidat_snapdir_accessible = true
infinidat_snapdir_visible = false

Driver options

Configuration options specific to this driver:

Description of INFINIDAT InfiniBox share driver configuration options

Configuration option = Default value

Description

[DEFAULT]

infinibox_hostname = None

(String) The name (or IP address) for the INFINIDAT Infinibox storage system.

infinidat_use_ssl = False

(Boolean) Enable SSL communication to access the INFINIDAT Infinibox storage system.

infinidat_suppress_ssl_warnings = False

(Boolean) Suppress requests library SSL certificate warnings.

infinibox_login = None

(String) Administrative user account name used to access the INFINIDAT Infinibox storage system.

infinibox_password = None

(String) Password for the administrative user account specified in the infinibox_login option.

infinidat_pool_name = None

(String) Name of the pool from which volumes are allocated.

infinidat_nas_network_space_name = None

(String) Name of the NAS network space on the INFINIDAT InfiniBox.

infinidat_thin_provision = True

(Boolean) Use thin provisioning.

infinidat_snapdir_accessible = True

(Boolean) Controls access to the .snapshot directory. By default, each share allows access to its own .snapshot directory, which contains files and directories of each snapshot taken. To restrict access to the .snapshot directory, this option should be set to False.

infinidat_snapdir_visible = False

(Boolean) Controls visibility of the .snapshot directory. By default, each share contains the .snapshot directory, which is hidden on the client side. To make the .snapshot directory visible, this option should be set to True.