EMC manila driver framework (EMCShareDriver) utilizes the EMC storage products to provide the 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.
Unity plugin is the plugin which manages the Unity Storage System to provide shared filesystems. EMC driver framework with Unity plugin is referred to as Unity driver in this document.
This driver performs the operations on Unity by REST API. Each backend manages one Unity Storage System. Multiple manila backends need to be configured to manage multiple Unity Storage Systems.
In detail, users are allowed to do following operation with EMC Unity Storage Systems.
StorOps library is required to run Unity driver. Please install it with the pip command. You may need root privilege to install python libraries.
pip install storops
Configure the NTP server for your Unity at:
Unisphere -> Settings -> Management -> System Time and NTP
Select “Enable NTP synchronization” and add your NTP server(s).
Configure the DNS server for your Unity at:
Unisphere -> Settings -> Management -> DNS Server
Select “Configure DNS server address manually” and add your DNS server(s).
Following configurations need to be configured in /etc/manila/manila.conf for the Unity driver.
share_driver = manila.share.drivers.dell_emc.driver.EMCShareDriver
emc_share_backend = unity
emc_nas_server = <management IP address of the Unity system>
emc_nas_login = <user with administrator privilege>
emc_nas_password = <password>
emc_nas_server_container = [SPA|SPB]
emc_nas_pool_names = <Comma separated pool names>
emc_interface_ports = <Comma separated ports list>
Restart of manila-share service is needed for the configuration changes to take effect.
The Unity driver has following restrictions.
Following driver features are implemented in the plugin.
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.
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_network_allocations_number
()Returns number of network allocations for creating VIFs.
Unity backend for the EMC Manila driver.
UnityStorageConnection
(*args, **kwargs)Bases: manila.share.drivers.dell_emc.plugins.base.StorageConnection
Implements Unity specific functionality for EMC Manila driver.
IP_ALLOCATIONS
= 1allow_access
(context, share, access, share_server=None)Allow access to a share.
check_for_setup_error
()Check for setup error.
clear_access
(share, white_list=None)connect
(emc_share_driver, context)Connect to Unity storage.
create_share
(context, share, share_server=None)Create a share and export it based on protocol used.
create_share_from_snapshot
(context, share, snapshot, share_server=None)Create a share from a snapshot - clone a snapshot.
create_snapshot
(context, snapshot, share_server=None)Create snapshot from share.
delete_share
(context, share, share_server=None)Delete a share.
delete_snapshot
(context, snapshot, share_server=None)Delete a snapshot.
deny_access
(context, share, access, share_server)Deny access to a share.
ensure_share
(context, share, share_server)Ensure that the share is exported.
extend_share
(share, new_size, share_server=None)get_network_allocations_number
()Returns number of network allocations for creating VIFs.
get_pool
(share)Get the pool name of the share.
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_stats
(stats_dict)Communicate with EMCNASClient to get the stats.
validate_network
(network_info)validate_port_configuration
(port_ids_conf)Initializes the SP and ports based on the port option.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.