ResourceManagementHandler

ResourceManagementHandler

Module that allows users to access the ResourceManagementDB remotely.

class DIRAC.ResourceStatusSystem.Service.ResourceManagementHandler.ResourceManagementHandler(handlerInitDict, trid)

Bases: ResourceManagementHandlerMixin, 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_addOrModify(table, params)

This method is a bridge to access ResourceManagementDB 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

Paract dict params:

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 ResourceManagementDB 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

Paract dict params:

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 ResourceManagementDB 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

Paract dict params:

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 master configuration service

export_select(table, params)

This method is a bridge to access ResourceManagementDB 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

Paract dict params:

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)

Dynamically loads ResourceManagement database plugin module, as advised by the config, (assumes that the module name and a class name are the same)

Parameters:

serviceInfoDict – service info dictionary

Returns:

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_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'>]
types_ping = []
types_refreshConfiguration = [<class 'bool'>]
types_select = [[<class 'str'>, <class 'dict'>], <class 'dict'>]
types_whoami = []
class DIRAC.ResourceStatusSystem.Service.ResourceManagementHandler.ResourceManagementHandlerMixin

Bases: object

The ResourceManagementHandler exposes the DB front-end functions through a XML-RPC server, functionalities inherited from DIRAC.Core.DISET.Reques  tHandler.RequestHandler

According to the ResourceManagementDB philosophy, only functions of the type: - insert - select - delete - addOrModify

are exposed. If you need anything more complicated, either look for it on the ResourceManagementClient, or code it yourself. This way the DB and the Service are kept clean and tidied.

export_addOrModify(table, params)

This method is a bridge to access ResourceManagementDB 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

Paract dict params:

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 ResourceManagementDB 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

Paract dict params:

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 ResourceManagementDB 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

Paract dict params:

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 ResourceManagementDB 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

Paract dict params:

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)

Dynamically loads ResourceManagement database plugin module, as advised by the config, (assumes that the module name and a class name are the same)

Parameters:

serviceInfoDict – service info dictionary

Returns:

standard Dirac return object

types_addOrModify = [[<class 'str'>, <class 'dict'>], <class 'dict'>]
types_delete = [[<class 'str'>, <class 'dict'>], <class 'dict'>]
types_insert = [<class 'str'>, <class 'dict'>]
types_select = [[<class 'str'>, <class 'dict'>], <class 'dict'>]