The cinder.volume.targets.iscsi Module

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.

extend_target(volume)

Reinitializes a target after the LV has been extended.

Note: This will cause IO disruption in most cases.

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)
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.