The cinder.volume.drivers.hgst Module¶
Desc : Driver to store Cinder volumes using HGST Flash Storage Suite Require : HGST Flash Storage Suite Author : Earle F. Philhower, III <earle.philhower.iii@hgst.com>
- 
class HGSTDriver(*args, **kwargs)¶
- Bases: - cinder.volume.driver.VolumeDriver- This is the Class to set in cinder.conf (volume_driver). - Implements a Cinder Volume driver which creates a HGST Space for each Cinder Volume or Snapshot requested. Use the vgc-cluster CLI to do all management operations. - The Cinder host will nominally have all Spaces made visible to it, while individual compute nodes will only have Spaces connected to KVM instances connected. - 
BLOCKED= 'BLOCKED'¶
 - 
CI_WIKI_NAME= 'HGST_Solutions_CI'¶
 - 
SPACEGB= 984000000¶
 - 
VERSION= '1.0.0'¶
 - 
VGCCLUSTER= 'vgc-cluster'¶
 - 
check_for_setup_error()¶
- Throw an exception if configuration values/setup isn’t okay. 
 - 
copy_image_to_volume(context, volume, image_service, image_id)¶
- Fetch the image from image_service and write it to the volume. 
 - 
copy_volume_to_image(context, volume, image_service, image_meta)¶
- Copy the volume to the specified image. 
 - 
create_cloned_volume(volume, src_vref)¶
- Create a cloned volume from an existing one. - No cloning operation in the current release so simply copy using DD to a new space. This could be a lengthy operation. 
 - 
create_export(context, volume, connector)¶
 - 
create_snapshot(snapshot)¶
- Create a snapshot volume. - We don’t yet support snaps in SW so make a new volume and dd the source one into it. This could be a lengthy operation. 
 - 
create_volume(*args, **kwargs)¶
- API entry to create a volume on the cluster as a HGST space. - Creates a volume, adjusting for GiB/GB sizing. Locked to ensure we don’t have race conditions on the name we pick to use for the space. 
 - 
create_volume_from_snapshot(volume, snapshot)¶
- Create volume from a snapshot, but snaps still full volumes. 
 - 
delete_snapshot(snapshot)¶
- Delete a snapshot. For now, snapshots are full volumes. 
 - 
delete_volume(volume)¶
- Delete a Volume’s underlying space. 
 - 
do_setup(context)¶
 - 
ensure_export(context, volume)¶
 - 
extend_volume(volume, new_size)¶
- Extend an existing volume. - We may not actually need to resize the space because it’s size is always rounded up to a function of the GiB/GB and number of storage nodes. 
 - 
get_volume_stats(refresh=False)¶
- Return Volume statistics, potentially cached copy. 
 - 
initialize_connection(volume, connector)¶
- Return connection information. - Need to return noremovehost so that the Nova host doesn’t accidentally remove us from the apphost list if it is running on the same host (like in devstack testing). 
 - 
local_path(volume)¶
- Query the provider_id to figure out the proper devnode. 
 - 
remove_export(context, volume)¶
 - 
terminate_connection(volume, connector, **kwargs)¶
 - 
update_volume_stats()¶
- Parse the JSON output of vgc-cluster to find space available. 
 
-