Isilon Driver

The EMC Manila driver framework (EMCShareDriver) utilizes EMC storage products to provide shared filesystems to OpenStack. The EMC Manila driver is a plugin based driver which is designed to use different plugins to manage different EMC storage products.

The Isilon manila driver is a plugin for the EMC Manila driver framework which allows manila to interface with an Isilon backend to provide a shared filesystem. The EMC driver framework with the Isilon plugin is referred to as the “Isilon Driver” in this document.

This Isilon Driver interfaces with an Isilon cluster via the REST Isilon Platform API (PAPI) and the RESTful Access to Namespace API (RAN).

Requirements

  • Isilon cluster running OneFS 7.2 or higher

Supported Operations

The following operations will be supported on an Isilon cluster:

  • Create CIFS/NFS Share
  • Delete CIFS/NFS Share
  • Allow CIFS/NFS Share access * Only IP access type is supported for NFS and CIFS. * Only RW access supported
  • Deny CIFS/NFS Share access
  • Create snapshot
  • Delete snapshot
  • Create share from snapshot

Backend Configuration

The following parameters need to be configured in the manila configuration file for the Isilon driver:

share_driver = manila.share.drivers.emc.driver.EMCShareDriver emc_share_backend = isilon emc_nas_server = <IP address of Isilon cluster> emc_nas_login = <username> emc_nas_password = <password> isilon_share_root_dir = <directory on Isilon where shares will be created>

Restart of manila-share service is needed for the configuration changes to take effect.

Restrictions

The Isilon driver has the following restrictions:

  • Only IP access type is supported for NFS and CIFS.
  • Only FLAT network is supported.
  • Quotas are not yet supported

The manila.share.drivers.emc.driver Module

EMC specific NAS storage driver. This driver is a pluggable driver that allows specific EMC NAS devices to be plugged-in as the underlying backend. Use the Manila configuration variable “share_backend_name” to specify, which backend plugins to use.

class EMCShareDriver(*args, **kwargs)

Bases: manila.share.driver.ShareDriver

EMC specific NAS driver. Allows for NFS and CIFS NAS storage usage.

allow_access(context, share, access, share_server=None)

Allow access to the share.

check_for_setup_error()

Check for setup error.

create_share(context, share, share_server=None)

Is called to create share.

create_share_from_snapshot(context, share, snapshot, share_server=None)

Is called to create share from snapshot.

create_snapshot(context, snapshot, share_server=None)

Is called to create snapshot.

delete_share(context, share, share_server=None)

Is called to remove share.

delete_snapshot(context, snapshot, share_server=None)

Is called to remove snapshot.

deny_access(context, share, access, share_server=None)

Deny access to the share.

do_setup(context)

Any initialization the share driver does while starting.

ensure_share(context, share, share_server=None)

Invoked to sure that share is exported.

get_network_allocations_number()

Returns number of network allocations for creating VIFs.

The manila.share.drivers.emc.plugins.isilon.isilon Module

Isilon specific NAS backend plugin.

class IsilonStorageConnection(*args, **kwargs)

Bases: manila.share.drivers.emc.plugins.base.StorageConnection

Implements Isilon specific functionality for EMC Manila driver.

allow_access(emc_share_driver, context, share, access, share_server)

Allow access to the share.

connect(emc_share_driver, context)

Connect to an Isilon cluster.

create_share(emc_share_driver, context, share, share_server)

Is called to create share.

create_share_from_snapshot(emc_share_driver, context, share, snapshot, share_server)

Creates a share from the snapshot.

create_snapshot(emc_share_driver, context, snapshot, share_server)

Is called to create snapshot.

delete_share(emc_share_driver, context, share, share_server)

Is called to remove share.

delete_snapshot(emc_share_driver, context, snapshot, share_server)

Is called to remove snapshot.

deny_access(emc_share_driver, context, share, access, share_server)

Deny access to the share.

ensure_share(emc_share_driver, context, share, share_server)

Invoked to ensure that share is exported.

get_network_allocations_number()

Returns number of network allocations for creating VIFs.

setup_server(network_info, metadata=None)

Set up and configures share server with given network parameters.

teardown_server(server_details, security_services=None)

Teardown share server.

update_share_stats(stats_dict)

TODO.