The cinder.volume.drivers.huawei.huawei_driver Module

class HuaweiBaseDriver(*args, **kwargs)

Bases: cinder.volume.driver.VolumeDriver

check_for_setup_error()
create_cloned_volume(volume, src_vref)

Clone a new volume from an existing volume.

create_export(context, volume, connector)

Export a volume.

create_snapshot(snapshot)
create_volume(volume)

Create a volume.

create_volume_from_snapshot(volume, snapshot)

Create a volume from a snapshot.

We use LUNcopy to copy a new volume from snapshot. The time needed increases as volume size does.

delete_snapshot(snapshot)
delete_volume(volume)

Delete a volume.

Three steps: Firstly, remove associate from lungroup. Secondly, remove associate from QoS policy. Thirdly, remove the lun.

determine_changes_when_retype(volume, new_type, host)
do_setup(context)

Instantiate common class and login storage system.

ensure_export(context, volume)

Synchronously recreate an export for a volume.

extend_volume(volume, new_size)

Extend a volume.

failover_host(context, volumes, secondary_id=None)

Failover all volumes to secondary.

get_local_and_remote_client_conf()
get_local_and_remote_dev_conf()
get_lun_specs(lun_id)
get_volume_stats(refresh=False)

Get volume status and reload huawei config file.

manage_existing(volume, external_ref)

Manage an existing volume on the backend storage.

manage_existing_get_size(volume, external_ref)

Get the size of the existing volume.

manage_existing_snapshot(snapshot, existing_ref)
manage_existing_snapshot_get_size(snapshot, existing_ref)

Get the size of the existing snapshot.

migrate_volume(ctxt, volume, host, new_type=None)

Migrate a volume within the same array.

modify_lun(lun_id, change_opts)
remove_export(context, volume)

Remove an export for a volume.

remove_host_with_check(host_id)
retype(ctxt, volume, new_type, diff, host)

Convert the volume to be of the new type.

unmanage(volume)

Export Huawei volume from Cinder.

unmanage_snapshot(snapshot)

Unmanage the specified snapshot from Cinder management.

update_migrated_volume(ctxt, volume, new_volume, original_volume_status=None)
class HuaweiFCDriver(*args, **kwargs)

Bases: cinder.volume.drivers.huawei.huawei_driver.HuaweiBaseDriver, cinder.volume.driver.FibreChannelDriver

FC driver for Huawei OceanStor storage arrays.

Version history:

1.0.0 - Initial driver 1.1.0 - Provide Huawei OceanStor 18000 storage volume driver 1.1.1 - Code refactor

Multiple pools support SmartX support Volume migration support Volume retype support FC zone enhancement Volume hypermetro support

2.0.0 - Rename to HuaweiFCDriver 2.0.1 - Manage/unmanage volume support 2.0.2 - Refactor HuaweiFCDriver 2.0.3 - Manage/unmanage snapshot support 2.0.4 - Balanced FC port selection 2.0.5 - Replication V2 support

VERSION = '2.0.5'
get_volume_stats(refresh=False)

Get volume status.

initialize_connection(*args, **kwargs)
terminate_connection(*args, **kwargs)
class HuaweiISCSIDriver(*args, **kwargs)

Bases: cinder.volume.drivers.huawei.huawei_driver.HuaweiBaseDriver, cinder.volume.driver.ISCSIDriver

ISCSI driver for Huawei storage arrays.

Version history:

1.0.0 - Initial driver 1.1.0 - Provide Huawei OceanStor storage 18000 driver 1.1.1 - Code refactor

CHAP support Multiple pools support ISCSI multipath support SmartX support Volume migration support Volume retype support

2.0.0 - Rename to HuaweiISCSIDriver 2.0.1 - Manage/unmanage volume support 2.0.2 - Refactor HuaweiISCSIDriver 2.0.3 - Manage/unmanage snapshot support 2.0.5 - Replication V2 support

VERSION = '2.0.5'
get_volume_stats(refresh=False)

Get volume status.

initialize_connection(*args, **kwargs)

Map a volume to a host and return target iSCSI information.

terminate_connection(*args, **kwargs)

Delete map between a volume and a host.

Previous topic

The cinder.volume.drivers.huawei.huawei_conf Module

Next topic

The cinder.volume.drivers.huawei.huawei_utils Module

Project Source

This Page