The cinder.volume.drivers.hpe.hpe_3par_fc Module

The cinder.volume.drivers.hpe.hpe_3par_fc Module

Volume driver for HPE 3PAR Storage array. This driver requires 3.1.3 firmware on the 3PAR array, using the 4.x version of the hpe3parclient.

You will need to install the python hpe3parclient. sudo pip install –upgrade “hpe3parclient>=4.0”

Set the following in the cinder.conf file to enable the 3PAR Fibre Channel Driver along with the required flags:


class HPE3PARFCDriver(*args, **kwargs)

Bases: cinder.volume.driver.ManageableVD, cinder.volume.driver.ManageableSnapshotsVD, cinder.volume.driver.MigrateVD, cinder.volume.driver.BaseVD

OpenStack Fibre Channel driver to enable 3PAR storage array.

Version history:

1.0   - Initial driver
1.1   - QoS, extend volume, multiple iscsi ports, remove domain,
        session changes, faster clone, requires 3.1.2 MU2 firmware,
        copy volume <--> Image.
1.2.0 - Updated the use of the hp3parclient to 2.0.0 and refactored
        the drivers to use the new APIs.
1.2.1 - Synchronized extend_volume method.
1.2.2 - Added try/finally around client login/logout.
1.2.3 - Added ability to add WWNs to host.
1.2.4 - Added metadata during attach/detach bug #1258033.
1.3.0 - Removed all SSH code.  We rely on the hp3parclient now.
2.0.0 - Update hp3parclient API uses 3.0.x
2.0.2 - Add back-end assisted volume migrate
2.0.3 - Added initiator-target map for FC Zone Manager
2.0.4 - Added support for managing/unmanaging of volumes
2.0.5 - Only remove FC Zone on last volume detach
2.0.6 - Added support for volume retype
2.0.7 - Only one FC port is used when a single FC path
        is present.  bug #1360001
2.0.8 - Fixing missing login/logout around attach/detach bug #1367429
2.0.9 - Add support for pools with model update
2.0.10 - Migrate without losing type settings bug #1356608
2.0.11 - Removing locks bug #1381190
2.0.12 - Fix queryHost call to specify wwns bug #1398206
2.0.13 - Fix missing host name during attach bug #1398206
2.0.14 - Removed usage of host name cache #1398914
2.0.15 - Added support for updated detach_volume attachment.
2.0.16 - Added encrypted property to initialize_connection #1439917
2.0.17 - Improved VLUN creation and deletion logic. #1469816
2.0.18 - Changed initialize_connection to use getHostVLUNs. #1475064
2.0.19 - Adds consistency group support
2.0.20 - Update driver to use ABC metaclasses
2.0.21 - Added update_migrated_volume. bug # 1492023
3.0.0 - Rebranded HP to HPE.
3.0.1 - Remove db access for consistency groups
3.0.2 - Adds v2 managed replication support
3.0.3 - Adds v2 unmanaged replication support
3.0.4 - Adding manage/unmanage snapshot support
3.0.5 - Optimize array ID retrieval
3.0.6 - Update replication to version 2.1
3.0.7 - Remove metadata that tracks the instance ID. bug #1572665
3.0.8 - NSP feature, creating FC Vlun as match set instead of
        host sees. bug #1577993
3.0.9 - Handling HTTP conflict 409, host WWN/iSCSI name already used
        by another host, while creating 3PAR FC Host. bug #1597454
3.0.10 - Added Entry point tracing
3.0.11 - Handle manage and unmanage hosts present. bug #1648067
3.0.12 - Adds consistency group capability in generic volume groups.
3.0.13 - Create one vlun in single path configuration. bug #1727176
3.0.14 - Added check to remove FC zones. bug #1730720
3.0.15 - Create FC vlun as host sees. bug #1734505
3.0.16 - Handle force detach case. bug #1686745
VERSION = '3.0.16'

Setup errors are already checked for in do_setup so return pass.

create_cloned_volume(*args, **kwargs)
create_export(context, volume, connector)
create_group(*args, **kwargs)
create_group_from_src(*args, **kwargs)
create_group_snapshot(*args, **kwargs)
create_snapshot(*args, **kwargs)
create_volume(*args, **kwargs)
create_volume_from_snapshot(*args, **kwargs)

Create a volume from a snapshot.

TODO: support using the size from the user.

delete_group(*args, **kwargs)
delete_group_snapshot(*args, **kwargs)
delete_snapshot(*args, **kwargs)
delete_volume(*args, **kwargs)
ensure_export(context, volume)
extend_volume(*args, **kwargs)
failover_host(*args, **kwargs)

Force failover to a secondary replication target.

get_pool(*args, **kwargs)
initialize_connection(*args, **kwargs)
manage_existing(*args, **kwargs)
manage_existing_get_size(*args, **kwargs)
manage_existing_snapshot(*args, **kwargs)
manage_existing_snapshot_get_size(*args, **kwargs)
migrate_volume(*args, **kwargs)
remove_export(context, volume)
retype(*args, **kwargs)

Convert the volume to be of the new type.

terminate_connection(*args, **kwargs)
unmanage(*args, **kwargs)
unmanage_snapshot(*args, **kwargs)
update_group(*args, **kwargs)
update_migrated_volume(*args, **kwargs)

Update the name of the migrated volume to it’s new ID.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.