The cinder.volume.drivers.sheepdog Module¶
SheepDog Volume Driver.
- 
class SheepdogClient(node_list, port)¶
- Bases: - object- Sheepdog command executor. - 
DOG_RESP_CLUSTER_NOT_FORMATTED= 'Cluster status: Waiting for cluster to be formatted'¶
 - 
DOG_RESP_CLUSTER_RUNNING= 'Cluster status: running'¶
 - 
DOG_RESP_CLUSTER_WAITING= 'Cluster status: Waiting for other nodes to join cluster'¶
 - 
DOG_RESP_CONNECTION_ERROR= 'failed to connect to'¶
 - 
DOG_RESP_SNAPSHOT_EXISTED= 'tag (%(snapname)s) is existed'¶
 - 
DOG_RESP_SNAPSHOT_NOT_FOUND= ': Failed to find requested tag'¶
 - 
DOG_RESP_SNAPSHOT_VDI_NOT_FOUND= ': No VDI found'¶
 - 
DOG_RESP_VDI_ALREADY_EXISTS= ': VDI exists already'¶
 - 
DOG_RESP_VDI_NOT_FOUND= ': No VDI found'¶
 - 
DOG_RESP_VDI_SHRINK_NOT_SUPPORT= 'Shrinking VDIs is not implemented'¶
 - 
DOG_RESP_VDI_SIZE_TOO_LARGE= 'New VDI size is too large'¶
 - 
QEMU_IMG_RESP_ALREADY_EXISTS= ': VDI exists already'¶
 - 
QEMU_IMG_RESP_CONNECTION_ERROR= 'Failed to connect socket: Connection refused'¶
 - 
QEMU_IMG_RESP_SIZE_TOO_LARGE= 'An image is too large.'¶
 - 
QEMU_IMG_RESP_SNAPSHOT_NOT_FOUND= 'Failed to find the requested tag'¶
 - 
QEMU_IMG_RESP_VDI_NOT_FOUND= 'No vdi found'¶
 - 
QEMU_SHEEPDOG_PREFIX= 'sheepdog:'¶
 - 
check_cluster_status()¶
 - 
clone(src_vdiname, src_snapname, dst_vdiname, size)¶
 - 
create(vdiname, size)¶
 - 
create_snapshot(vdiname, snapname)¶
 - 
delete(vdiname)¶
 - 
delete_snapshot(vdiname, snapname)¶
 - 
get_addr()¶
- Get a random node in sheepdog cluster. 
 - 
get_vdi_info(vdiname)¶
 - 
get_volume_stats()¶
 - 
local_path(volume)¶
- Return a sheepdog location path. 
 - 
resize(vdiname, size)¶
 - 
update_node_list()¶
 
- 
- 
class SheepdogDriver(*args, **kwargs)¶
- Bases: - cinder.volume.driver.VolumeDriver- Executes commands relating to Sheepdog Volumes. - 
CI_WIKI_NAME= 'Cinder_Jenkins'¶
 - 
VERSION= '1.0.0'¶
 - 
backup_volume(context, backup, backup_service)¶
- Create a new backup from an existing volume. 
 - 
check_for_setup_error()¶
- Check cluster status and update node list. 
 - 
clone_image(context, volume, image_location, image_meta, image_service)¶
- Create a volume efficiently from an existing image. 
 - 
copy_image_to_volume(context, volume, image_service, image_id)¶
 - 
copy_volume_to_image(context, volume, image_service, image_meta)¶
- Copy the volume to the specified image. 
 - 
create_cloned_volume(volume, src_vref)¶
- Clone a sheepdog volume from another volume. 
 - 
create_export(context, volume, connector)¶
- Export a volume. 
 - 
create_snapshot(snapshot)¶
- Create a sheepdog snapshot. 
 - 
create_volume(volume)¶
- Create a sheepdog volume. 
 - 
create_volume_from_snapshot(volume, snapshot)¶
- Create a sheepdog volume from a snapshot. 
 - 
delete_snapshot(snapshot)¶
- Delete a sheepdog snapshot. 
 - 
delete_volume(volume)¶
- Delete a logical volume. 
 - 
ensure_export(context, volume)¶
- Safely and synchronously recreate an export for a logical volume. 
 - 
extend_volume(volume, new_size)¶
- Extend an Existing Volume. 
 - 
get_volume_stats(refresh=False)¶
 - 
initialize_connection(volume, connector)¶
 - 
remove_export(context, volume)¶
- Remove an export for a logical volume. 
 - 
restore_backup(context, backup, volume, backup_service)¶
- Restore an existing backup to a new or existing volume. 
 - 
terminate_connection(volume, connector, **kwargs)¶
 
- 
- 
class SheepdogIOWrapper(addr, port, volume, snapshot_name=None)¶
- Bases: - io.RawIOBase- File-like object with Sheepdog backend. - 
fileno()¶
- Sheepdog does not have support for fileno so we raise IOError. - Raising IOError is recommended way to notify caller that interface is not supported - see http://docs.python.org/2/library/io.html#io.IOBase 
 - 
flush()¶
 - 
read(length=None)¶
 - 
seek(offset, whence=0)¶
 - 
tell()¶
 - 
write(data)¶
 
-