Oracle HSM Sideband Python Module

Oracle HSM Side Band Database Module.

HSM Sideband Backend Archive Module.

Module that implements the abstract_backend_archive class for a HSM Sideband backend.

class pacifica.archiveinterface.backends.oracle_hsm_sideband.archive.HsmSidebandBackendArchive(prefix)[source]

HSM Sideband Backend Archive Class.

Class that implements the abstract base class for the hsm sideband archive interface backend.

__init__(prefix)[source]

Constructor for HSM Sideband Backend Archive.

close()[source]

Close a HSM Sideband file.

open(filepath, mode)[source]

Open a hsm sideband file.

patch(file_id, old_path)[source]

Move a hsm file.

read(blocksize)[source]

Read a HSM Sideband file.

remove()[source]

Remove the file for a posix file.

set_file_permissions()[source]

Set the file permissions for a posix file.

set_mod_time(mod_time)[source]

Set the mod time on a HSM file.

stage()[source]

Stage a HSM Sideband file.

status()[source]

Get the status of a HSM Sideband file.

write(buf)[source]

Write a HSM Sideband file to the archive.

pacifica.archiveinterface.backends.oracle_hsm_sideband.archive.path_info_munge(filepath)[source]

Munge the path for this filetype.

Module that allows for the extension of the hsm sideband archive.

pacifica.archiveinterface.backends.oracle_hsm_sideband.extended_file_factory.extended_hsmsideband_factory(filepath, mode, sam_qfs_path)[source]

Return appropiate binary io object with additional methods.

ORM for the sideband database.

class pacifica.archiveinterface.backends.oracle_hsm_sideband.orm.BaseModel(*args, **kwargs)[source]

Base class models inherit from.

Has Connection pieces.

DoesNotExist

alias of BaseModelDoesNotExist

_meta = <peewee.Metadata object>
_schema = <peewee.SchemaManager object>
classmethod database_close()[source]

Close the database connection.

classmethod database_connect()[source]

Make sure database is connected.

Dont reopen connection.

id = <AutoField: BaseModel.id>
reload()[source]

Reload my current state from the DB.

class pacifica.archiveinterface.backends.oracle_hsm_sideband.orm.SamArchive(*args, **kwargs)[source]

Model for sam_archive table in the sideband database.

DoesNotExist

alias of SamArchiveDoesNotExist

_meta = <peewee.Metadata object>
_schema = <peewee.SchemaManager object>
copy = <IntegerField: SamArchive.copy>
create_time = <IntegerField: SamArchive.create_time>
gen = <IntegerField: SamArchive.gen>
ino = <IntegerField: SamArchive.ino>
media_type = <CharField: SamArchive.media_type>
offset = <IntegerField: SamArchive.offset>
position = <BigIntegerField: SamArchive.position>
seq = <IntegerField: SamArchive.seq>
size = <BigIntegerField: SamArchive.size>
stale = <IntegerField: SamArchive.stale>
vsn = <CharField: SamArchive.vsn>
class pacifica.archiveinterface.backends.oracle_hsm_sideband.orm.SamFile(*args, **kwargs)[source]

Model for sam_file table in the sideband database.

DoesNotExist

alias of SamFileDoesNotExist

_meta = <peewee.Metadata object>
_schema = <peewee.SchemaManager object>
gen = <IntegerField: SamFile.gen>
ino = <IntegerField: SamFile.ino>
name = <CharField: SamFile.name>
name_hash = <IntegerField: SamFile.name_hash>
p_gen = <IntegerField: SamFile.p_gen>
p_ino = <IntegerField: SamFile.p_ino>
class pacifica.archiveinterface.backends.oracle_hsm_sideband.orm.SamInode(*args, **kwargs)[source]

Model for sam_inode table in the sideband database.

DoesNotExist

alias of SamInodeDoesNotExist

_meta = <peewee.Metadata object>
_schema = <peewee.SchemaManager object>
create_time = <IntegerField: SamInode.create_time>
csum = <CharField: SamInode.csum>
gen = <IntegerField: SamInode.gen>
gid = <IntegerField: SamInode.gid>
ino = <IntegerField: SamInode.ino>
modify_time = <IntegerField: SamInode.modify_time>
online = <IntegerField: SamInode.online>
size = <BigIntegerField: SamInode.size>
type = <IntegerField: SamInode.type>
uid = <IntegerField: SamInode.uid>
class pacifica.archiveinterface.backends.oracle_hsm_sideband.orm.SamPath(*args, **kwargs)[source]

Model for sam_path table in the sideband database.

DoesNotExist

alias of SamPathDoesNotExist

_meta = <peewee.Metadata object>
_schema = <peewee.SchemaManager object>
gen = <IntegerField: SamPath.gen>
ino = <IntegerField: SamPath.ino>
path = <CharField: SamPath.path>
class pacifica.archiveinterface.backends.oracle_hsm_sideband.orm.SamVersion(*args, **kwargs)[source]

Model for sam_version table in the sideband database.

DoesNotExist

alias of SamVersionDoesNotExist

_meta = <peewee.Metadata object>
_schema = <peewee.SchemaManager object>
id = <IntegerField: SamVersion.id>
version = <FloatField: SamVersion.version>

Module that implements the Abstract Status class.

For the oracle hsm sideband archive backend type.

class pacifica.archiveinterface.backends.oracle_hsm_sideband.status.HsmSidebandStatus(mtime, ctime, bytes_per_level, filesize)[source]

Class for handling hsmSideband status pieces.

Needs mtime,ctime, bytes per level array

__init__(mtime, ctime, bytes_per_level, filesize)[source]

Constructor to build the object.

_disk = 'disk'
_tape = 'tape'
define_levels()[source]

Set up what each level definition means.

find_file_storage_media()[source]

Get the file storage media.

Should always be disk for hsmSideband.

set_filepath(filepath)[source]

Set the filepath that the status is for.