The cinder.volume.targets.iscsi Module

class ISCSITarget(*args, **kwargs)

Bases: cinder.volume.targets.driver.Target

Target object for block storage devices.

Base class for target object, where target is data transport mechanism (target) specific calls. This includes things like create targets, attach, detach etc.

create_export(context, volume, volume_path)

Creates an export for a logical volume.

create_iscsi_target(name, tid, lun, path, chap_auth, **kwargs)
ensure_export(context, volume, volume_path)

Recreates an export for a logical volume.

initialize_connection(volume, connector)

Initializes the connection and returns connection info.

The iscsi driver returns a driver_volume_type of ‘iscsi’. The format of the driver data is defined in _get_iscsi_properties. Example return value:

{
    'driver_volume_type': 'iscsi'
    'data': {
        'target_discovered': True,
        'target_iqn': 'iqn.2010-10.org.openstack:volume-00000001',
        'target_portal': '127.0.0.0.1:3260',
        'volume_id': '9a0d35d0-175a-11e4-8c21-0800200c9a66',
        'discard': False,
    }
}
remove_export(context, volume)
remove_iscsi_target(tid, lun, vol_id, vol_name, **kwargs)
show_target(iscsi_target, iqn, **kwargs)
terminate_connection(volume, connector, **kwargs)
validate_connector(connector)
class SanISCSITarget(*args, **kwargs)

Bases: cinder.volume.targets.iscsi.ISCSITarget

iSCSI target for san devices.

San devices are slightly different, they don’t need to implement all of the same things that we need to implement locally fro LVM and local block devices when we create and manage our own targets.

create_export(context, volume, volume_path)
create_iscsi_target(name, tid, lun, path, chap_auth, **kwargs)
ensure_export(context, volume, volume_path)
remove_export(context, volume)
remove_iscsi_target(tid, lun, vol_id, vol_name, **kwargs)
terminate_connection(volume, connector, **kwargs)