Plugin interface for file system management.
|
|
dict
|
|
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
|
|
dict
|
|
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
|
|
list
|
|
list
|
|
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
|
|
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
|
|
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
|
|
dict
|
resize(ss_record,
fs_record,
file_record,
new_size,
sparse=True)
Resize the File. |
source code
|
|
|
|
|
destroy(ss_record,
fs_record,
file_record)
Remove a file from the File System on the File Server. |
source code
|
|
int
|
|
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
|
|
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
|
|
|
|
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
|
|
dict
|
|
dict
|
|
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
|
|
|
copy(src,
dst)
This will do a block copy from the source to the destination |
source code
|
|
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
|
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.
|