Module OSCPlugin :: Class IFileSystemPlugin
[hide private]
[frames] | no frames]

Class IFileSystemPlugin

source code

object --+    
         |    
   IPlugin --+
             |
            IFileSystemPlugin

Plugin interface for file system management.

Instance Methods [hide private]

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __init__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Methods [hide private]
dict
getPluginInfo(klass)
Return all the required information to identify this plugin
source code
    Inherited from IPlugin
 
getNamedTemporaryFile(klass, mode='w+b', bufsize=-1, suffix='', prefix='tmpfil', directory=None, delete=True)
This method is identical to the standard tempfile.NamedTemporaryFile() method.
source code
str
getPluginType(klass)
Return the plugin type.
source code
 
getTemporaryFile(klass, mode='w+b', bufsize=-1, suffix='', prefix='tmpfil', directory=None)
This method is identical to the standard tempfile.TemporaryFile() method.
source code
Static Methods [hide private]
 
validate(ss_record)
Validate the Storage Server record.
source code
dict
getCapabilities(ss_record)
Obtain the capabilities from the Storage Server.
source code
list
getStorageNames(ss_record)
Obtain a list of available storage names from which the user would choose the specific Storage Server to associate with this specific Storage Server record.
source code
dict
getStorageServerInfo(ss_record)
Obtain information on the file File Server.
source code
dict
getFileSystemInfo(ss_record, fs_record)
Obtain information on either the File Server or the File System.
source code
dict
getFileInfo(ss_record, fs_record, file_record, file_comp_record=None)
Obtain information on the file or if two file records are given, info on both files including how much (if any) data blocks are shared by the files.
source code
list
getAccessGroups(ss_record, fs_record=None)
Get the access groups and access group entries for either the Storage Server or if specified the File System.
source code
list
createAccessGroups(ss_record, access_grps)
Create the access groups on the Storage Server.
source code
list
renameAccessGroup(ss_record, access_grp_name, new_access_grp_name)
Rename an access group on the Storage Server.
source code
list
removeAccessGroups(ss_record, access_grps)
Remove the access groups from the Storage Server.
source code
dict
addToAccessGroup(ss_record, access_grp_name, grp_entries)
Get the access groups and access group entries for either the Storage Server or if specified the File System.
source code
dict
removeFromAccessGroup(ss_record, access_grp_name, grp_entries)
Get the access groups and access group entries for either the Storage Server or if specified the File System.
source code
list
listFileSystems(ss_record, include_unpresented=False)
Return the list of available (or known) File Systems.
source code
list
listMountPoints(ss_record, fs_record=None)
Return the list of mount points the plugin can manage or if the FS Record is supplied, all the mount points for the specific file system.
source code
list
list(ss_record, fs_record, file_record, recursive=False)
Return the list of files.
source code
str
getStatus(ss_record, fs_record=None)
Return the status of the File System.
source code
dict
mount(ss_record, fs_record, mount_point, share_path=None, create_mount_point=False, mount_options=None)
Mount the File System if not already mounted.
source code
 
unmount(ss_record, fs_record, mount_point, destroy_mount_point=False)
Unmount the File System if mounted.
source code
dict
createFileSystem(ss_record, name, backing_device, size=0, access_grp_names=None, qos=None, force=False)
Create a new File System.
source code
dict
create(ss_record, fs_record, file_name, file_type, size, sparse=True, force=False)
Create a new File.
source code
dict
startPresent(ss_record, fs_record, access_grp_names)
Present a File system on the File Server to the list of nodes.
source code
dict
stopPresent(ss_record, fs_record, access_grp_names)
Unpresent a File System on the File Server to the list of nodes.
source code
dict
resizeFileSystem(ss_record, fs_record, new_size)
Resize the File System.
source code
dict
resize(ss_record, fs_record, file_record, new_size, sparse=True)
Resize the File.
source code
 
destroyFileSystem(ss_record, fs_record)
Remove a File System from the File Server.
source code
 
destroy(ss_record, fs_record, file_record)
Remove a file from the File System on the File Server.
source code
int
getFileSystemCloneLimits(ss_record, fs_record=None)
Return the maximum number of clones allowed for a File Server or File System.
source code
int
getCloneLimits(ss_record, fs_record, file_record)
Return the maximum number of snapshots allowed for a File Server or File System.
source code
bool
isCloneable(ss_record, fs_record, file_record)
Check if shallow (thin) clone creations is allowed for the file on the File System.
source code
dict
clone(ss_record, fs_record, file_record, dest_file_name=None)
Create a shallow clone of the file on the file system.
source code
bool
isSplittable(ss_record, fs_record, file_record)
Determine if a deep clone can be made from a shallow (thin) clone (split the clones).
source code
 
splitClone(ss_record, fs_record, file_record)
Create a deep clone from a shallow clone (Split the clones).
source code
dict
cloneFromSnap(ss_record, fs_record, snap_file_record, dest_file_name=None)
Create a shallow clone from a named snapshot.
source code
list
getCurrentClones(ss_record, fs_record, file_record=None)
Return a list of the current clones for the File System or Storage Element.
source code
int
getFileSystemSnapLimits(ss_record, fs_record=None)
Return the maximum number of snapshots allowed for a Storage Array or File System.
source code
int
getSnapLimits(ss_record, fs_record, file_record)
Return the maximum number of snapshots allowed for a specific file on the file system.
source code
bool
isSnapable(ss_record, fs_record, file_record)
Check if a snapshot creation is allowed for the file on the file system file.
source code
dict
createSnap(ss_record, fs_record, file_record, snap_name=None)
Create a snapshot of the file for the file system.
source code
list
createMultiSnap(ss_record, fs_record, file_records, snap_name=None)
Create a snapshot of all the files listed for the file system.
source code
bool
isRestorable(ss_record, fs_record, file_record, snap_file_record)
Check if the Storage Array or Storage Element can be rolled back to the named snapshot.
source code
 
snapRestore(ss_record, fs_record, file_record, snap_file_record)
Roll the file back to the named snapshot.
source code
 
snapRemove(ss_record, fs_record, snap_file_record)
Destroy the named snapshot.
source code
list
getCurrentSnaps(ss_record, fs_record, file_record=None)
Return a list of the current snapshots for a File System or File Record.
source code
list
getQoSList(ss_record, fs_record=None)
Return a list of possible QoS values for the File System.
source code
 
setQoS(ss_record, fs_record, qos)
Set the QoS for the Storage Element to the QoS supplied.
source code
list
getFileSystemBackingDevices(ss_record, fs_record)
Get the list of valid backing devices that can be used to create a file system on.
source code
dict
getAsyncProgress(ss_record, some_record)
Obtain Async Progress.
source code
    Inherited from IPlugin
dict
__get_key_value_pairs__(key_val_s, result_dict={})
Create a dict from a string in the form of attr=value[,...].
source code
a new object with type S, a subtype of T
__new__(cls, *args, **kwargs)
Override the method to enforce that no Storage Connect classes be instantiated.
source code
str
__set_key_value_pairs__(key_val_d)
This method will create a string in the form of key=value[,...] from a dict.
source code
 
copy(src, dst)
This will do a block copy from the source to the destination
source code
Class Variables [hide private]
str name = 'IFileSystemPlugin'
Class name.
list of str fs_api_version = ['1', '2', '7']
File system plugin API version.
str filesys_type = ''
File system type this plugin can handle, either LocalFileSystem or NetworkFileSystem.
str filesys_name = ''
Name of the file system to show to the user when selecting which file system to use, for example "OCFS2" or "ZFS" etc.
str plugin_type = 'ifs'
Oracle Storage Connect plugin type.
dict __required_methods__ = {'addToAccessGroup': True, 'clone': Fal...
List of required methods for this Version of the API
    Inherited from IPlugin
str BlkDevType = 'BlockDevice'
Used to designate that the FR record represent a block device.
str CharDevType = 'CharDevice'
Used to designate that the FR record represent a character device.
str DirType = 'Directory'
Used to designate that the FR record represent a directory.
str FifoType = 'FIFOFile'
Used to designate that the FR record represent a FIFO file.
str FileSysStorage = 'FileSys'
Used to designate that the plugin handle File System storage.
str FileType = 'File'
Used to designate that the FR record represent a file.
str GhostLUNType = 'GhostLUN'
Used to designate that the SE record represent a Ghost LUN.
str LUNType = 'LUN'
Used to designate that the SE record represent a LUN.
str LocalFileSystem = 'LocalFS'
Used to designate that the plugin is for a local file system.
str NetworkFileSystem = 'NetworkFS'
Used to designate that the plugin is for a network file system.
str SANStorage = 'SAN'
Used to designate that the plugin can handle all types of SCSI storage (FC, FCoE, SAS, SATA, etc.) except iSCSI.
str SnapCloneType = 'SnapClone'
Used to designate that the SE record represent a clone from a snapshot.
str SnapType = 'Snapshot'
Used to designate that the SE record represent a Snapshot.
str SockFileType = 'SocketFile'
Used to designate that the FR record represent a socket file.
str SymLinkType = 'SymbolicLink'
Used to designate that the FR record represent a symbolic link.
dict __BackingDeviceRecord__ = {'description': '', 'free_sz': 0, 'n...
Backing device record.
dict __BackingDeviceRecord_fields__ = {'description': (<type 'str'>...
Field list for the backing device records.
list __FRTypes__ = ['File', 'Directory', 'SymbolicLink', 'CharDevic...
Known File record types.
dict __FSRecord__ = {'access_grp_names': [''], 'access_path': '', '...
File System record.
dict __FSRecord_fields__ = {'access_grp_names': (<type 'list'>, Tru...
Field list for the File System record.
dict __FileRecord__ = {'extra_info': '', 'file_path': '', 'file_sz'...
File record.
dict __FileRecord_fields__ = {'extra_info': (<type 'str'>, False), ...
Field list for the File System record.
dict __MountRecord__ = {'extra_info': '', 'fs_uuid': '', 'mount_poi...
Mount point record.
dict __MountRecord_fields__ = {'extra_info': (<type 'str'>, False),...
Field list for the Mount point records.
dict __SERecord__ = {'access_grp_names': [''], 'array_path': '', 'e...
Storage Element record.
dict __SERecord_fields__ = {'access_grp_names': (<type 'list'>, Tru...
Field list for the Storage Element record.
list __SETypes__ = ['LUN', 'GhostLUN', 'Snapshot', 'SnapClone']
Known Storage Element types.
dict __SSRecord__ = {'access_grps': [{'grp_entries': [''], 'grp_mod...
Storage Server record.
dict __SSRecord_fields__ = {'access_grps': (<type 'list'>, True), '...
Field list for the Storage Server record.
dict __access_grp_fields__ = {'grp_entries': (<type 'list'>, True),...
Field list for the access group.
bool __cluster_required__ = False
Flag if this Plugin requires the cluster to be up - Vendor implemented plugins should NOT change this!
bool __generic_plugin__ = False
Flag if this is a generic Plugin - Vendor implemented plugins should NOT change this!
str __osc_install_dir__ = '/opt/storage-connect'
The Oracle Storage Connect installation directory.
str __plugin_temp_dir__ = '/var/tmp/storage-connect'
Directory where temporrary files woud be created under.
str __plugin_top_dir__ = '/opt/storage-connect/plugins'
Top directory under which all Storage Connect plugins will be installed.
list __plugin_types__ = ['isa', 'ifs']
Known Oracle Storage Connect plugin types.
dict __qos_vals_fields__ = {'priority': (<type 'int'>, True), 'valu...
Field list for the qos_vals.
dict __vol_group_fields__ = {'vol_alloc_sz': (<type 'int'>, False),...
Field list for the volume group.
cache object cache = OSCCache.OSCDefaultCache()
Caching that can be used by the plugin.
str dev_name_regex = '^[0-9a-zA-Z]+'
This is the device name regex that plug-ins should use when scanning through the devices to fill in the path in SERecord.
str dev_path_prefix = '/dev/mapper'
This is the device path prefix that plug-ins should use when filling in the path in the SERecord.
str file_extra_info_help = 'None'
The help text that will be displayed for the extra info to the user when creating a File.
str fs_extra_info_help = 'None'
The help text that will be displayed for the extra info to the user when creating a File System.
str iSCSIStorage = 'iSCSI'
Used to designate that the plugin can handle iSCSI storage.
str iscsiadm = '/sbin/iscsiadm'
Location of the iscsiadm executable.
logging object logger = None
Logging instance to be used by the plugin.
dict plugin_ability = {'access_control': 255, 'backing_device_type'...
Capabilities that this specific plugin support.
list of str plugin_api_version = ['1', '2', '7']
The over arching API version for the plugin interface.
str plugin_name = ''
The name of the plugin - Name used to populate the user interface drop down list.
str plugin_version = ''
Version of the plugin.
list of str required_api_vers = None
The minimum API version required by the plugin.
str se_extra_info_help = 'None'
The help text that will be displayed for the extra info to the user when creating a Storage Element.
str ss_extra_info_help = 'None'
The help text that will be displayed for the extra info to the user when creating the Storage Server.
str vendor_name = ''
Name of the Vendor supplying the plugin.
Instance Variables [hide private]
    Inherited from IPlugin
dict __access_grp__ = {'grp_entries': [''], 'grp_modes': [''], 'grp...
Access group.
dict __qos_vals__ = {'priority': 0, 'value': ''}
Quality-of-Service.
dict __vol_group__ = {'vol_alloc_sz': 0, 'vol_desc': '', 'vol_free_...
Volume group.
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

getPluginInfo(klass)
Class Method

source code 

Return all the required information to identify this plugin

Returns: dict
{"plugin_type", "plugin_name", "vendor_name", "plugin_version", "plugin_desc", "filesys_type", "filesys_name", "ss_extra_info_help", "fs_extra_info_help", "file_extra_info_help", "required_api_vers", "fs_api_version", "plugin_ability", "generic_plugin"}

validate(ss_record)
Static Method

source code 

Validate the Storage Server record.

Parameters:
Raises:

getCapabilities(ss_record)
Static Method

source code 

Obtain the capabilities from the Storage Server.

Parameters:
Returns: dict
Storage Server Capabilities
Raises:

getStorageNames(ss_record)
Static Method

source code 

Obtain a list of available storage names from which the user would choose the specific Storage Server to associate with this specific Storage Server record.

Parameters:
Returns: list
list of available storage names OR if not required or supported an empty list.
Raises:

getStorageServerInfo(ss_record)
Static Method

source code 

Obtain information on the file File Server.

Parameters:
Returns: dict
updated Storage Server record
Raises:

getFileSystemInfo(ss_record, fs_record)
Static Method

source code 

Obtain information on either the File Server or the File System.

Parameters:
Returns: dict
updated File System record
Raises:

getFileInfo(ss_record, fs_record, file_record, file_comp_record=None)
Static Method

source code 

Obtain information on the file or if two file records are given, info on both files including how much (if any) data blocks are shared by the files.

Parameters:
Returns: dict
updated File record
Raises:

getAccessGroups(ss_record, fs_record=None)
Static Method

source code 

Get the access groups and access group entries for either the Storage Server or if specified the File System.

Parameters:
Returns: list
list of Access groups
Raises:

createAccessGroups(ss_record, access_grps)
Static Method

source code 

Create the access groups on the Storage Server.

Parameters:
Returns: list
list of Access groups
Raises:

renameAccessGroup(ss_record, access_grp_name, new_access_grp_name)
Static Method

source code 

Rename an access group on the Storage Server.

Parameters:
Returns: list
list of Access groups
Raises:

removeAccessGroups(ss_record, access_grps)
Static Method

source code 

Remove the access groups from the Storage Server.

Parameters:
Returns: list
list of Access groups
Raises:

addToAccessGroup(ss_record, access_grp_name, grp_entries)
Static Method

source code 

Get the access groups and access group entries for either the Storage Server or if specified the File System.

Parameters:
  • ss_record (dict) - Storage Server record
  • access_grp_name (str) - Access group that the access control entries should be added to.
  • grp_entries (list) - List of access control entries to add to the access group.
Returns: dict
Access group
Raises:

removeFromAccessGroup(ss_record, access_grp_name, grp_entries)
Static Method

source code 

Get the access groups and access group entries for either the Storage Server or if specified the File System.

Parameters:
  • ss_record (dict) - Storage Server record
  • access_grp_name (str) - Access group that the access control entries should be removed from.
  • grp_entries (list) - List of access control entries to add to the access group.
Returns: dict
Access group
Raises:

listFileSystems(ss_record, include_unpresented=False)
Static Method

source code 

Return the list of available (or known) File Systems.

Parameters:
  • ss_record (dict) - Storage Server record
  • include_unpresented (bool) - True if ALL File Systems on the File Server should be returned not just the available ones.
Returns: list
list of File System records
Raises:

listMountPoints(ss_record, fs_record=None)
Static Method

source code 

Return the list of mount points the plugin can manage or if the FS Record is supplied, all the mount points for the specific file system.

Parameters:
Returns: list
list of Moint point records
Raises:

list(ss_record, fs_record, file_record, recursive=False)
Static Method

source code 

Return the list of files.

Parameters:
Returns: list
list of File records
Raises:

getStatus(ss_record, fs_record=None)
Static Method

source code 

Return the status of the File System.

Parameters:
Returns: str
Status of the File System or File Server
Raises:

mount(ss_record, fs_record, mount_point, share_path=None, create_mount_point=False, mount_options=None)
Static Method

source code 

Mount the File System if not already mounted.

Parameters:
  • ss_record (dict) - Storage Server record
  • fs_record (dict) - File System record
  • mount_point (str) - Directory where File System should be mounted.
  • share_path (str) - Subdirectory of File System could be mounted.
  • create_mount_point (bool) - Optional flag to indicate that the mount point should be created.
  • mount_options (list) - Optional list of mount options
Returns: dict
File System record
Raises:

unmount(ss_record, fs_record, mount_point, destroy_mount_point=False)
Static Method

source code 

Unmount the File System if mounted.

Parameters:
  • ss_record (dict) - Storage Server record
  • fs_record (dict) - File System record
  • mount_point (str) - Directory of the File System that should be un-mounted.
  • destroy_mount_point (bool) - Optional flag to indicate that the mount point should be removed.
Raises:

createFileSystem(ss_record, name, backing_device, size=0, access_grp_names=None, qos=None, force=False)
Static Method

source code 

Create a new File System.

Parameters:
  • ss_record (dict) - Storage Server record
  • name (str) - User friendly name for the new File System
  • backing_device (str or list) - File System backing device, can be either a string with the backing device if only a single device is supported (as indicated in the plugin ability dict) or a list of backing devices.
  • size (int) - Desired size for the new File System (0 implies as large as possible)
  • access_grp_names (list) - Desired Quality-of-Service for the new File System
  • qos (str) - Desired Quality-of-Service for the new File System
  • force (bool) - Flag to indicate any existing File System should be overwritten
Returns: dict
new File System record
Raises:

Note: ONLY overwrite an existing File System if the force option is specified.

create(ss_record, fs_record, file_name, file_type, size, sparse=True, force=False)
Static Method

source code 

Create a new File.

Parameters:
  • ss_record (dict) - Storage Server record
  • fs_record (dict) - File System record
  • file_name (str) - Name of the file to create.
  • file_type (str) - Type of file to create. will be one of Known File Types
  • size (int) - Size of the file to create.
  • sparse (bool) - Flag to indicate the File should be sparsely allocated (if possible).
  • force (bool) - Flag to indicate any existing File should be overwritten.
Returns: dict
updated File record
Raises:

Note: ONLY overwrite an existing File if the force option is specified.

startPresent(ss_record, fs_record, access_grp_names)
Static Method

source code 

Present a File system on the File Server to the list of nodes.

Parameters:
Returns: dict
updated File System record
Raises:

stopPresent(ss_record, fs_record, access_grp_names)
Static Method

source code 

Unpresent a File System on the File Server to the list of nodes.

Parameters:
Returns: dict
updated File System record
Raises:

resizeFileSystem(ss_record, fs_record, new_size)
Static Method

source code 

Resize the File System.

Parameters:
Returns: dict
updated File System record
Raises:

Note: It is the plugin responsibilty to verify that all conditions are met for the resize operation. For example if online resize is not supported, the plugin must make sure the file system is not mounted and raise an Exception if it is.

resize(ss_record, fs_record, file_record, new_size, sparse=True)
Static Method

source code 

Resize the File.

Parameters:
  • ss_record (dict) - Storage Server record
  • fs_record (dict) - File System record
  • file_record (dict) - File record
  • new_size (int) - New desired size for the file.
  • sparse (bool) - Flag to indicate the File should be extended using sparse (if possible).
Returns: dict
updated File record
Raises:

Note: It is the plugin responsibilty to verify that all conditions are met for the resize operation. For example if online resize is not supported, the plugin must make sure the file is not currently open and/or locked and raise an Exception if it is.

destroyFileSystem(ss_record, fs_record)
Static Method

source code 

Remove a File System from the File Server.

Parameters:
Raises:

destroy(ss_record, fs_record, file_record)
Static Method

source code 

Remove a file from the File System on the File Server.

Parameters:
Raises:

getFileSystemCloneLimits(ss_record, fs_record=None)
Static Method

source code 

Return the maximum number of clones allowed for a File Server or File System.

Parameters:
Returns: int
Maximum number (-1 for unlimited) of clones allowed for the File Server or the specific file system if supplied.
Raises:

getCloneLimits(ss_record, fs_record, file_record)
Static Method

source code 

Return the maximum number of snapshots allowed for a File Server or File System.

Parameters:
Returns: int
Maximum number (-1 for unlimited) of clones allowed for the File.
Raises:

isCloneable(ss_record, fs_record, file_record)
Static Method

source code 

Check if shallow (thin) clone creations is allowed for the file on the File System.

Parameters:
Returns: bool
True if a snapshot can be created for the File record.
Raises:

clone(ss_record, fs_record, file_record, dest_file_name=None)
Static Method

source code 

Create a shallow clone of the file on the file system.

Parameters:
Returns: dict
newly created File record for the cloned storage element
Raises:

isSplittable(ss_record, fs_record, file_record)
Static Method

source code 

Determine if a deep clone can be made from a shallow (thin) clone (split the clones).

Parameters:
Returns: bool
True if the clones can be split.
Raises:

splitClone(ss_record, fs_record, file_record)
Static Method

source code 

Create a deep clone from a shallow clone (Split the clones).

Parameters:
Raises:

cloneFromSnap(ss_record, fs_record, snap_file_record, dest_file_name=None)
Static Method

source code 

Create a shallow clone from a named snapshot.

Parameters:
Returns: dict
created File record for the new clone
Raises:

getCurrentClones(ss_record, fs_record, file_record=None)
Static Method

source code 

Return a list of the current clones for the File System or Storage Element.

Parameters:
Returns: list
List of current known clones on the File record.
Raises:

getFileSystemSnapLimits(ss_record, fs_record=None)
Static Method

source code 

Return the maximum number of snapshots allowed for a Storage Array or File System.

Parameters:
Returns: int
Maximum number (-1 for unlimited) of snapshots allowed for the Storage Array or the specific file system if supplied.
Raises:

getSnapLimits(ss_record, fs_record, file_record)
Static Method

source code 

Return the maximum number of snapshots allowed for a specific file on the file system.

Parameters:
Returns: int
Maximum number (-1 for unlimited) of snapshots allowed for the specific file.
Raises:

isSnapable(ss_record, fs_record, file_record)
Static Method

source code 

Check if a snapshot creation is allowed for the file on the file system file.

Parameters:
Returns: bool
True if a snapshot can be created for the File record.
Raises:

createSnap(ss_record, fs_record, file_record, snap_name=None)
Static Method

source code 

Create a snapshot of the file for the file system.

Parameters:
Returns: dict
created File record for the snapshot
Raises:

createMultiSnap(ss_record, fs_record, file_records, snap_name=None)
Static Method

source code 

Create a snapshot of all the files listed for the file system.

Parameters:
Returns: list
Created File record for the snapshot
Raises:

isRestorable(ss_record, fs_record, file_record, snap_file_record)
Static Method

source code 

Check if the Storage Array or Storage Element can be rolled back to the named snapshot.

Parameters:
Returns: bool
True if a snapshot can be rolled .
Raises:

snapRestore(ss_record, fs_record, file_record, snap_file_record)
Static Method

source code 

Roll the file back to the named snapshot.

Parameters:
Raises:

snapRemove(ss_record, fs_record, snap_file_record)
Static Method

source code 

Destroy the named snapshot.

Parameters:
Raises:

getCurrentSnaps(ss_record, fs_record, file_record=None)
Static Method

source code 

Return a list of the current snapshots for a File System or File Record.

Parameters:
Returns: list
List of current known snapshots for the File System or File record if supplied.
Raises:

getQoSList(ss_record, fs_record=None)
Static Method

source code 

Return a list of possible QoS values for the File System.

Parameters:
Returns: list
List of qos_vals dicts for all the possible QoS values for either the Storage Server or the File System.
Raises:

setQoS(ss_record, fs_record, qos)
Static Method

source code 

Set the QoS for the Storage Element to the QoS supplied.

Parameters:
Raises:

getFileSystemBackingDevices(ss_record, fs_record)
Static Method

source code 

Get the list of valid backing devices that can be used to create a file system on.

Parameters:
Returns: list
List of backing_device dicts for all the possible backing devices that can be used to create a new file system on.
Raises:

getAsyncProgress(ss_record, some_record)
Static Method

source code 

Obtain Async Progress. This should never be called as the plugin should overide this method if it is in asynch mode.

Parameters:
  • ss_record (dict) - Storage Server record
  • some_record (dict) - Record previously returned from the call that started the asynchronous operation with the async_progress and if required the async_handle fields added (and not set to None).
Returns: dict
Fully completed record that would have been returned if the initial call completed synchronously except it have the async_progress field.
Raises:

Class Variable Details [hide private]

__required_methods__

List of required methods for this Version of the API
Type:
dict
Value:
{'addToAccessGroup': True,
 'clone': False,
 'cloneFromSnap': True,
 'create': True,
 'createAccessGroups': True,
 'createFileSystem': True,
 'createMultiSnap': True,
 'createSnap': True,
...