The cinder.volume.drivers.nexenta.volume Module

nexenta.volume – Driver to store volumes on Nexenta Appliance

class NexentaDriver(*args, **kwargs)

Bases: cinder.volume.driver.ISCSIDriver

Executes volume driver commands on Nexenta Appliance.

VERSION = '1.0.0'
check_for_setup_error()

Verify that the volume for our zvols exists.

Raise :LookupError
create_cloned_volume(volume, src_vref)

Creates a clone of the specified volume.

Parameters:
  • volume – new volume reference
  • src_vref – source volume reference
create_export(_ctx, volume)

Create new export for zvol.

Parameters:volume – reference of volume to be exported
Returns:iscsiadm-formatted provider location string
create_snapshot(snapshot)

Create snapshot of existing zvol on appliance.

Parameters:snapshot – shapshot reference
create_volume(volume)

Create a zvol on appliance.

Parameters:volume – volume reference
Returns:model update dict for volume reference
create_volume_from_snapshot(volume, snapshot)

Create new volume from other’s snapshot on appliance.

Parameters:
  • volume – reference of volume to be created
  • snapshot – reference of source snapshot
delete_snapshot(snapshot)

Delete volume’s snapshot on appliance.

Parameters:snapshot – snapshot reference
delete_volume(volume)

Destroy a zvol on appliance.

Parameters:volume – volume reference
do_setup(context)
ensure_export(_ctx, volume)

Recreate parts of export if necessary.

Parameters:volume – reference of volume to be exported
extend_volume(volume, new_size)

Extend an existing volume.

Parameters:
  • volume – volume reference
  • new_size – volume new size in GB
get_volume_stats(refresh=False)

Get volume stats.

If ‘refresh’ is True, run update the stats first.

local_path(volume)

Return local path to existing local volume.

We never have local volumes, so it raises NotImplementedError.

Raise :NotImplementedError
remove_export(_ctx, volume)

Destroy all resources created to export zvol.

Parameters:volume – reference of volume to be unexported