Previous topic

The cinder.volume.san Module

Next topic

The cinder.volume.storwize_svc Module

This Page

Psst... hey. You're reading the latest content, but it might be out of sync with code. You can read Cinder 2011.2 docs or all OpenStack docs too.

The cinder.volume.solidfire Module

Drivers for san-stored volumes.

The unique thing about a SAN is that we don’t expect that we can run the volume controller on the SAN hardware. We expect to access it over SSH or some API.

class SolidFire(*args, **kwargs)

Bases: cinder.volume.san.SanISCSIDriver

create_export(context, volume)
create_snapshot(snapshot)
create_volume(volume)

Create volume on SolidFire device.

The account is where CHAP settings are derived from, volume is created and exported. Note that the new volume is immediately ready for use.

One caveat here is that an existing user account must be specified in the API call to create a new volume. We use a set algorithm to determine account info based on passed in cinder volume object. First we check to see if the account already exists (and use it), or if it does not already exist, we’ll go ahead and create it.

For now, we’re just using very basic settings, QOS is turned off, 512 byte emulation is off etc. Will be looking at extensions for these things later, or this module can be hacked to suit needs.

create_volume_from_snapshot(volume, snapshot)
delete_snapshot(snapshot)
delete_volume(volume, is_snapshot=False)

Delete SolidFire Volume from device.

SolidFire allows multipe volumes with same name, volumeID is what’s guaranteed unique.

ensure_export(context, volume)
sf_qos_dict = {'performant': {'burstIOPS': 4000, 'minIOPS': 2000, 'maxIOPS': 4000}, 'medium': {'burstIOPS': 400, 'minIOPS': 200, 'maxIOPS': 400}, 'slow': {'burstIOPS': 200, 'minIOPS': 100, 'maxIOPS': 200}, 'off': None, 'fast': {'burstIOPS': 1000, 'minIOPS': 500, 'maxIOPS': 1000}}