ResourceStatusHandler
ResourceStatusHandler
Module that allows users to access the ResourceStatusDB remotely.
- class DIRAC.ResourceStatusSystem.Service.ResourceStatusHandler.ResourceStatusHandler(handlerInitDict, trid)
Bases:
ResourceStatusHandlerMixin
,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_addIfNotThere(table, params)
This method is a bridge to access
ResourceStatusDB
remotely. It does not add neither processing nor validation. If you need to know more about this method, you must keep reading on the database documentation.- Parameters:
- table - string or dict
should contain the table from which querying if it’s a dict the query comes from a client prior to v6r18
- params - dict
arguments for the mysql query. Currently it is being used only for column selection. For example: meta = { ‘columns’ : [ ‘Name’ ] } will return only the ‘Name’ column.
- Returns:
S_OK() || S_ERROR()
- export_addOrModify(table, params)
This method is a bridge to access
ResourceStatusDB
remotely. It does not add neither processing nor validation. If you need to know more about this method, you must keep reading on the database documentation.- Parameters:
- table - string or dict
should contain the table from which querying if it’s a dict the query comes from a client prior to v6r18
- params - dict
arguments for the mysql query. Currently it is being used only for column selection. For example: meta = { ‘columns’ : [ ‘Name’ ] } will return only the ‘Name’ column.
- Returns:
S_OK() || S_ERROR()
- export_delete(table, params)
This method is a bridge to access
ResourceStatusDB
remotely. It does not add neither processing nor validation. If you need to know more about this method, you must keep reading on the database documentation.- Parameters:
- table - string or dict
should contain the table from which querying if it’s a dict the query comes from a client prior to v6r18
- params - dict
arguments for the mysql query. Currently it is being used only for column selection. For example: meta = { ‘columns’ : [ ‘Name’ ] } will return only the ‘Name’ column.
- Returns:
S_OK() || S_ERROR()
- 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_insert(table, params)
This method is a bridge to access
ResourceStatusDB
remotely. It does not add neither processing nor validation. If you need to know more about this method, you must keep reading on the database documentation.- Parameters:
- table - string or dict
should contain the table from which querying if it’s a dict the query comes from a client prior to v6r18
- params - dict
arguments for the mysql query. Currently it is being used only for column selection. For example: meta = { ‘columns’ : [ ‘Name’ ] } will return only the ‘Name’ column.
- Returns:
S_OK() || S_ERROR()
- export_ping()
- static export_refreshConfiguration(fromMaster)
Force refreshing the configuration data
- Parameters:
fromMaster (bool) – flag to refresh from the controller configuration service
- export_select(table, params)
This method is a bridge to access
ResourceStatusDB
remotely. It does not add neither processing nor validation. If you need to know more about this method, you must keep reading on the database documentation.- Parameters:
- table - string or dict
should contain the table from which querying if it’s a dict the query comes from a client prior to v6r18
- params - dict
arguments for the mysql query. Currently it is being used only for column selection. For example: meta = { ‘columns’ : [ ‘Name’ ] } will return only the ‘Name’ column.
- Returns:
S_OK() || S_ERROR()
- 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)
- Handler initialization, where we:
dynamically load ResourceStatus database plugin module, as advised by the config, (assumes that the module name and a class name are the same) set the ResourceManagementDB as global db.
- param serviceInfoDict:
service info dictionary
- return:
standard Dirac return object
- 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(bulkId, token, bulkSize, fileHelper)
- transfer_bulkToClient(bulkId, token, fileHelper)
- transfer_fromClient(fileId, token, fileSize, fileHelper)
- transfer_listBulk(bulkId, token, fileHelper)
- transfer_toClient(fileId, token, fileHelper)
- types_addIfNotThere = [[<class 'str'>, <class 'dict'>], <class 'dict'>]
- types_addOrModify = [[<class 'str'>, <class 'dict'>], <class 'dict'>]
- types_delete = [[<class 'str'>, <class 'dict'>], <class 'dict'>]
- types_echo = [<class 'str'>]
- types_insert = [[<class 'str'>, <class 'dict'>], <class 'dict'>]
- types_ping = []
- types_refreshConfiguration = [<class 'bool'>]
- types_select = [[<class 'str'>, <class 'dict'>], <class 'dict'>]
- types_whoami = []
- class DIRAC.ResourceStatusSystem.Service.ResourceStatusHandler.ResourceStatusHandlerMixin
Bases:
object
The ResourceStatusHandler exposes the DB front-end functions through a XML-RPC server, functionalities inherited from
DIRAC.Core.DISET.RequestHandler.RequestHandler
According to the ResourceStatusDB philosophy, only functions of the type: - insert - update - select - delete
are exposed. If you need anything more complicated, either look for it on the
ResourceStatusClient
, or code it yourself. This way the DB and the Service are kept clean and tidied.- export_addIfNotThere(table, params)
This method is a bridge to access
ResourceStatusDB
remotely. It does not add neither processing nor validation. If you need to know more about this method, you must keep reading on the database documentation.- Parameters:
- table - string or dict
should contain the table from which querying if it’s a dict the query comes from a client prior to v6r18
- params - dict
arguments for the mysql query. Currently it is being used only for column selection. For example: meta = { ‘columns’ : [ ‘Name’ ] } will return only the ‘Name’ column.
- Returns:
S_OK() || S_ERROR()
- export_addOrModify(table, params)
This method is a bridge to access
ResourceStatusDB
remotely. It does not add neither processing nor validation. If you need to know more about this method, you must keep reading on the database documentation.- Parameters:
- table - string or dict
should contain the table from which querying if it’s a dict the query comes from a client prior to v6r18
- params - dict
arguments for the mysql query. Currently it is being used only for column selection. For example: meta = { ‘columns’ : [ ‘Name’ ] } will return only the ‘Name’ column.
- Returns:
S_OK() || S_ERROR()
- export_delete(table, params)
This method is a bridge to access
ResourceStatusDB
remotely. It does not add neither processing nor validation. If you need to know more about this method, you must keep reading on the database documentation.- Parameters:
- table - string or dict
should contain the table from which querying if it’s a dict the query comes from a client prior to v6r18
- params - dict
arguments for the mysql query. Currently it is being used only for column selection. For example: meta = { ‘columns’ : [ ‘Name’ ] } will return only the ‘Name’ column.
- Returns:
S_OK() || S_ERROR()
- export_insert(table, params)
This method is a bridge to access
ResourceStatusDB
remotely. It does not add neither processing nor validation. If you need to know more about this method, you must keep reading on the database documentation.- Parameters:
- table - string or dict
should contain the table from which querying if it’s a dict the query comes from a client prior to v6r18
- params - dict
arguments for the mysql query. Currently it is being used only for column selection. For example: meta = { ‘columns’ : [ ‘Name’ ] } will return only the ‘Name’ column.
- Returns:
S_OK() || S_ERROR()
- export_select(table, params)
This method is a bridge to access
ResourceStatusDB
remotely. It does not add neither processing nor validation. If you need to know more about this method, you must keep reading on the database documentation.- Parameters:
- table - string or dict
should contain the table from which querying if it’s a dict the query comes from a client prior to v6r18
- params - dict
arguments for the mysql query. Currently it is being used only for column selection. For example: meta = { ‘columns’ : [ ‘Name’ ] } will return only the ‘Name’ column.
- Returns:
S_OK() || S_ERROR()
- classmethod initializeHandler(serviceInfoDict)
- Handler initialization, where we:
dynamically load ResourceStatus database plugin module, as advised by the config, (assumes that the module name and a class name are the same) set the ResourceManagementDB as global db.
- param serviceInfoDict:
service info dictionary
- return:
standard Dirac return object
- types_addIfNotThere = [[<class 'str'>, <class 'dict'>], <class 'dict'>]
- types_addOrModify = [[<class 'str'>, <class 'dict'>], <class 'dict'>]
- types_delete = [[<class 'str'>, <class 'dict'>], <class 'dict'>]
- types_insert = [[<class 'str'>, <class 'dict'>], <class 'dict'>]
- types_select = [[<class 'str'>, <class 'dict'>], <class 'dict'>]
- DIRAC.ResourceStatusSystem.Service.ResourceStatusHandler.loadResourceStatusComponent(moduleName, className, parentLogger=None)
Create an object of a given database component.
- Parameters:
moduleName – module name to be loaded
className – class name
parentLogger – the parentLogger to use in the DB
- Returns:
object instance wrapped in a standard Dirac return object.