The cinder.volume.drivers.eqlx Module

Volume driver for Dell EqualLogic Storage.

class DellEQLSanISCSIDriver(*args, **kwargs)

Bases: cinder.volume.drivers.san.san.SanISCSIDriver

Implements commands for Dell EqualLogic SAN ISCSI management.

To enable the driver add the following line to the cinder configuration:
volume_driver=cinder.volume.drivers.eqlx.DellEQLSanISCSIDriver
Driver’s prerequisites are:
  • a separate volume group set up and running on the SAN

  • SSH access to the SAN

  • a special user must be created which must be able to
    • create/delete volumes and snapshots;
    • clone snapshots into volumes;
    • modify volume access records;

The access credentials to the SAN are provided by means of the following flags:

san_ip=<ip_address>
san_login=<user name>
san_password=<user password>
san_private_key=<file containing SSH private key>

Thin provision of volumes is enabled by default, to disable it use:

san_thin_provision=false

In order to use target CHAP authentication (which is disabled by default) SAN administrator must create a local CHAP user and specify the following flags for the driver:

use_chap_auth=True
chap_login=<chap_login>
chap_password=<chap_password>

eqlx_group_name parameter actually represents the CLI prompt message without ‘>’ ending. E.g. if prompt looks like ‘group-0>’, then the parameter must be set to ‘group-0’

Version history:

1.0   - Initial driver
1.1.0 - Misc fixes
1.2.0 - Deprecated eqlx_cli_timeout infavor of ssh_conn_timeout
1.3.0 - Added support for manage/unmanage volume
CI_WIKI_NAME = 'Dell_Storage_CI'
VERSION = '1.3.0'
add_multihost_access(volume)

Add multihost-access to a volume. Needed for live migration.

check_for_setup_error()
create_cloned_volume(volume, src_vref)

Creates a clone of the specified volume.

create_export(context, volume, connector)

Create an export of a volume.

Driver has nothing to do here for the volume has been exported already by the SAN, right after it’s creation.

create_snapshot(snapshot)

Create snapshot of existing volume on appliance.

create_volume(volume)

Create a volume.

create_volume_from_snapshot(volume, snapshot)

Create new volume from other volume’s snapshot on appliance.

delete_snapshot(snapshot)

Delete volume’s snapshot.

delete_volume(volume)

Delete a volume.

do_setup(context)

Disable cli confirmation and tune output format.

ensure_export(context, volume)

Ensure an export of a volume.

Driver has nothing to do here for the volume has been exported already by the SAN, right after it’s creation. We will just make sure that the volume exists on the array and issue a warning.

extend_volume(volume, new_size)

Extend the size of the volume.

initialize_connection(volume, connector)

Restrict access to a volume.

local_path(volume)
manage_existing(volume, existing_ref)

Manage an existing volume on the backend storage.

manage_existing_get_size(volume, existing_ref)

Return size of volume to be managed by manage_existing.

When calculating the size, round up to the next GB.

Parameters:
  • volume – Cinder volume to manage
  • existing_ref – Driver-specific information used to identify a

volume

remove_export(context, volume)

Remove an export of a volume.

Driver has nothing to do here for the volume has been exported already by the SAN, right after it’s creation. Nothing to remove since there’s nothing exported.

terminate_connection(volume, connector, force=False, **kwargs)

Remove access restrictions from a volume.

unmanage(volume)

Removes the specified volume from Cinder management.

Does not delete the underlying backend storage object.

Parameters:volume – Cinder volume to unmanage
with_timeout(f)

Previous topic

The cinder.volume.drivers.emc.xtremio Module

Next topic

The cinder.volume.drivers.falconstor.fc Module

Project Source

This Page