SandboxStoreHandler

SandboxHandler is the implementation of the Sandbox service

in the DISET framework

SandboxStore options
SandboxStore
{
  Port = 9196
  LocalSE = ProductionSandboxSE
  MaxThreads = 200
  toClientMaxThreads = 100
  Backend = local
  MaxSandboxSizeMiB = 10
  SandboxPrefix = Sandbox
  BasePath = /opt/dirac/storage/sandboxes
  DelayedExternalDeletion = True
  Authorization
  {
    Default = authenticated
    FileTransfer
    {
      Default = authenticated
    }
  }
}
class DIRAC.WorkloadManagementSystem.Service.SandboxStoreHandler.SandboxStoreHandler(handlerInitDict, trid)

Bases: SandboxStoreHandlerMixin, RequestHandler

__init__(handlerInitDict, trid)

Constructor

Parameters:
  • handlerInitDict (dictionary) – Information vars for the service

  • trid (object) – Transport to use

auth_ping = ['all']
auth_refreshConfiguration = ['CSAdministrator']
auth_whoami = ['all']
export_assignSandboxesToEntities(enDict, ownerName='', ownerGroup='', entitySetup=False)

Assign sandboxes to jobs. Expects a dict of { entityId : [ ( SB, SBType ), … ] }

static export_echo(data)

This method is used for testing performance of the service

Parameters:

data (str) – data to be sent back to the caller

Returns:

S_OK, Value is the input data

export_getFreeDiskSpace()

Get the free disk space of the storage element If no size is specified, terabytes will be used by default.

export_getSandboxesAssignedToEntity(entityId, entitySetup=False)

Get the sandboxes associated to a job and the association type

export_getTotalDiskSpace()

Get the total disk space of the storage element If no size is specified, terabytes will be used by default.

export_ping()
static export_refreshConfiguration(fromMaster)

Force refreshing the configuration data

Parameters:

fromMaster (bool) – flag to refresh from the master configuration service

export_unassignEntities(entitiesList, entitiesSetup=False)

Unassign a list of jobs

export_whoami()

A simple whoami, returns all credential dictionary, except certificate chain object.

classmethod getCSOption(optionName, defaultValue=False)

Get an option from the CS section of the services

Returns:

Value for serviceSection/optionName in the CS being defaultValue the default

getRemoteAddress()

Get the address of the remote peer.

Returns:

Address of remote peer.

getRemoteCredentials()

Get the credentials of the remote peer.

Returns:

Credentials dictionary of remote peer.

initialize()

Initialize this instance of the handler (to be overwritten)

classmethod initializeHandler(serviceInfoDict)

Initialization of DB object

initializeRequest()
purgeUnusedSandboxes()
srv_disconnect(trid=None)
classmethod srv_disconnectClient(trid)
srv_getActionTuple()
classmethod srv_getCSOption(optionName, defaultValue=False)

Get an option from the CS section of the services

Returns:

Value for serviceSection/optionName in the CS being defaultValue the default

srv_getClientSetup()
srv_getClientVO()
srv_getClientVersion()
srv_getFormattedRemoteCredentials()
classmethod srv_getMonitor()
srv_getRemoteAddress()

Get the address of the remote peer.

Returns:

Address of remote peer.

srv_getRemoteCredentials()

Get the credentials of the remote peer.

Returns:

Credentials dictionary of remote peer.

classmethod srv_getServiceName()
srv_getTransportID()
classmethod srv_getURL()
classmethod srv_msgCreate(msgName)
srv_msgReply(msgObj)
classmethod srv_msgSend(trid, msgObj)
transfer_bulkFromClient(fileId, token, _fileSize, fileHelper)

Receive files packed into a tar archive by the fileHelper logic. token is used for access rights confirmation.

transfer_bulkToClient(bulkId, token, fileHelper)
transfer_fromClient(fileId, token, fileSize, fileHelper)

Receive a file as a sandbox

transfer_listBulk(bulkId, token, fileHelper)
transfer_toClient(fileID, token, fileHelper)

Method to send files to clients. fileID is the local file name in the SE. token is used for access rights confirmation.

types_assignSandboxesToEntities = [<class 'dict'>]
types_echo = [<class 'str'>]
types_getFreeDiskSpace = []
types_getSandboxesAssignedToEntity = [<class 'str'>]
types_getTotalDiskSpace = []
types_ping = []
types_refreshConfiguration = [<class 'bool'>]
types_unassignEntities = [(<class 'list'>, <class 'tuple'>)]
types_whoami = []
class DIRAC.WorkloadManagementSystem.Service.SandboxStoreHandler.SandboxStoreHandlerMixin

Bases: object

export_assignSandboxesToEntities(enDict, ownerName='', ownerGroup='', entitySetup=False)

Assign sandboxes to jobs. Expects a dict of { entityId : [ ( SB, SBType ), … ] }

export_getFreeDiskSpace()

Get the free disk space of the storage element If no size is specified, terabytes will be used by default.

export_getSandboxesAssignedToEntity(entityId, entitySetup=False)

Get the sandboxes associated to a job and the association type

export_getTotalDiskSpace()

Get the total disk space of the storage element If no size is specified, terabytes will be used by default.

export_unassignEntities(entitiesList, entitiesSetup=False)

Unassign a list of jobs

classmethod initializeHandler(serviceInfoDict)

Initialization of DB object

initializeRequest()
purgeUnusedSandboxes()
transfer_bulkFromClient(fileId, token, _fileSize, fileHelper)

Receive files packed into a tar archive by the fileHelper logic. token is used for access rights confirmation.

transfer_fromClient(fileId, token, fileSize, fileHelper)

Receive a file as a sandbox

transfer_toClient(fileID, token, fileHelper)

Method to send files to clients. fileID is the local file name in the SE. token is used for access rights confirmation.

types_assignSandboxesToEntities = [<class 'dict'>]
types_getFreeDiskSpace = []
types_getSandboxesAssignedToEntity = [<class 'str'>]
types_getTotalDiskSpace = []
types_unassignEntities = [(<class 'list'>, <class 'tuple'>)]