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).
Supported Operations
The following operations are supported on an Isilon cluster:
Backend Configuration
The following parameters need to be configured in the manila configuration file
for the Isilon driver:
share_driver = manila.share.drivers.dell_emc.driver.EMCShareDriver
driver_handles_share_servers = False
emc_share_backend = isilon
emc_nas_server = <IP address of Isilon cluster>
emc_nas_server_port = <port to use for Isilon cluster (optional)>
emc_nas_login = <username>
emc_nas_password = <password>
emc_nas_root_dir = <root directory path to create shares (e.g./ifs/manila)>
Restart of manila-share service is needed for the configuration changes to take
effect.
Restrictions
The Isilon driver has the following restrictions:
The manila.share.drivers.dell_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.
-
extend_share
(share, new_size, share_server=None)
Is called to extend share.
-
get_configured_ip_versions
()
“Get allowed IP versions.
The supported versions are returned with list, possible
values are: [4], [6], or [4, 6]
Drivers that assert ipv6_implemented = True must override
this method. If the returned list includes 4, then shares
created by this driver must have an IPv4 export location.
If the list includes 6, then shares created by the driver
must have an IPv6 export location.
Drivers should check that their storage controller actually
has IPv4/IPv6 enabled and configured properly.
-
get_network_allocations_number
()
Returns number of network allocations for creating VIFs.
-
revert_to_snapshot
(context, snapshot, share_access_rules, snapshot_access_rules, share_server=None)
Reverts a share (in place) to the specified snapshot.
Does not delete the share snapshot. The share and snapshot must both
be ‘available’ for the restore to be attempted. The snapshot must be
the most recent one taken by Manila; the API layer performs this check
so the driver doesn’t have to.
The share must be reverted in place to the contents of the snapshot.
Application admins should quiesce or otherwise prepare the application
for the shared file system contents to change suddenly.
- Parameters
context – Current context
snapshot – The snapshot to be restored
share_access_rules – List of all access rules for the affected
share
snapshot_access_rules – List of all access rules for the affected
snapshot
share_server – Optional – Share server model or None
-
shrink_share
(share, new_size, share_server=None)
Is called to shrink share.
-
update_access
(context, share, access_rules, add_rules, delete_rules, share_server=None)
Update access to the share.
The manila.share.drivers.dell_emc.plugins.isilon.isilon
Module
Isilon specific NAS backend plugin.
-
class
IsilonStorageConnection
(*args, **kwargs)
Bases: manila.share.drivers.dell_emc.plugins.base.StorageConnection
Implements Isilon specific functionality for EMC Manila driver.
-
allow_access
(context, share, access, share_server)
Allow access to the share.
-
check_for_setup_error
()
Check for setup error.
-
connect
(emc_share_driver, context)
Connect to an Isilon cluster.
-
create_share
(context, share, share_server)
Is called to create share.
-
create_share_from_snapshot
(context, share, snapshot, share_server)
Creates a share from the snapshot.
-
create_snapshot
(context, snapshot, share_server)
Is called to create snapshot.
-
delete_share
(context, share, share_server)
Is called to remove share.
-
delete_snapshot
(context, snapshot, share_server)
Is called to remove snapshot.
-
deny_access
(context, share, access, share_server)
Deny access to the share.
-
ensure_share
(context, share, share_server)
Invoked to ensure that share is exported.
-
extend_share
(share, new_size, share_server=None)
Extends a share.
-
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_access
(context, share, access_rules, add_rules, delete_rules, share_server=None)
Update share access.
-
update_share_stats
(stats_dict)
TODO.