DiracAdmin

DIRAC Administrator API Class

All administrative functionality is exposed through the DIRAC Admin API. Examples include site banning and unbanning, WMS proxy uploading etc.

class DIRAC.Interfaces.API.DiracAdmin.DiracAdmin

Bases: API

Administrative functionalities

__init__()

Internal initialization of the DIRAC Admin API.

allowSite(site, comment, printOutput=False)

Adds the site to the site mask.

Example usage:

>>> gLogger.notice(diracAdmin.allowSite())
{'OK': True, 'Value': }
Returns:

S_OK,S_ERROR

banSite(site, comment, printOutput=False)

Removes the site from the site mask.

Example usage:

>>> gLogger.notice(diracAdmin.banSite())
{'OK': True, 'Value': }
Returns:

S_OK,S_ERROR

checkProxyUploaded(userDN, userGroup, requiredTime)

Set the persistence of a proxy in the Proxy Manager

Example usage:

>>> gLogger.notice(diracAdmin.setProxyPersistency( 'some DN', 'dirac group', True ))
{'OK': True, 'Value' : True/False }
Parameters:
  • userDN (string) – User DN

  • userGroup (string) – DIRAC Group

  • requiredTime (boolean) – Required life time of the uploaded proxy

Returns:

S_OK,S_ERROR

csCommitChanges(sortUsers=True)

Commit the changes in the CS

csDeleteUser(user)

Deletes a user from the CS. Can take a list of users

csDescribeGroups(mask=False)

List groups and their properties in the CS. If a mask is given, only groups in the mask will be returned

csDescribeHosts(mask=False)

Gets extended info for the hosts in the CS

csDescribeUsers(mask=False)

List users and their properties in the CS. If a mask is given, only users in the mask will be returned

csListGroups()

Lists groups in the CS

csListHosts()

Lists the hosts in the CS

csListUsers(group=False)

Lists the users in the CS. If no group is specified return all users.

csModifyGroup(groupname, properties, createIfNonExistant=False)

Modify a user in the CS. Takes the same params as in addGroup and applies the changes

csModifyHost(hostname, properties, createIfNonExistant=False)

Modify a host in the CS. Takes the same params as in addHost and applies the changes

csModifyUser(username, properties, createIfNonExistant=False)

Modify a user in the CS. Takes the same params as in addUser and applies the changes

csModifyValue(optionPath, newValue)

Function to modify an existing value in the CS.

csRegisterUser(username, properties)

Registers a user in the CS.

  • username: Username of the user (easy;)

  • properties: Dict containing:
    • DN

    • groups : list/tuple of groups the user belongs to

    • <others> : More properties of the user, like mail

csSetOption(optionPath, optionValue)

Function to modify an existing value in the CS.

csSetOptionComment(optionPath, comment)

Function to modify an existing value in the CS.

csSyncUsersWithCFG(usersCFG)

Synchronize users in cfg with its contents

getBannedSites(printOutput=False)

Retrieve current list of banned and probing sites.

Example usage:

>>> gLogger.notice(diracAdmin.getBannedSites())
{'OK': True, 'Value': []}
Returns:

S_OK,S_ERROR

getJobPilotOutput(jobID, directory='')

Retrieve the pilot output for an existing job in the WMS. The output will be retrieved in a local directory unless otherwise specified.

>>> gLogger.notice(dirac.getJobPilotOutput(12345))
{'OK': True, StdOut:'',StdError:''}
Parameters:

job (integer or string) – JobID

Returns:

S_OK,S_ERROR

getJobPilots(jobID)

Extract the list of submitted pilots and their status for a given jobID from the WMS. Useful information is printed to the screen.

>>> gLogger.notice(dirac.getJobPilots())
{'OK': True, 'Value': {PilotID:{StatusDict}}}
Parameters:

job (integer or string) – JobID

Returns:

S_OK,S_ERROR

getPilotInfo(gridReference)

Retrieve info relative to a pilot reference

>>> gLogger.notice(dirac.getPilotInfo(12345))
{'OK': True, 'Value': {}}
Parameters:

gridReference (string) – Pilot Job Reference

Returns:

S_OK,S_ERROR

getPilotLoggingInfo(gridReference)

Retrieve the pilot logging info for an existing job in the WMS.

>>> gLogger.notice(dirac.getPilotLoggingInfo(12345))
{'OK': True, 'Value': {"The output of the command"}}
Parameters:

gridReference (string) – Gridp pilot job reference Id

Returns:

S_OK,S_ERROR

getPilotOutput(gridReference, directory='')

Retrieve the pilot output (std.out and std.err) for an existing job in the WMS.

>>> gLogger.notice(dirac.getJobPilotOutput(12345))
{'OK': True, 'Value': {}}
Parameters:

job (integer or string) – JobID

Returns:

S_OK,S_ERROR

getPilotProxy(userDN, userGroup, validity=43200)

Retrieves a pilot proxy with default 12hr validity and stores this in a file in the local directory by default.

Example usage:

>>> gLogger.notice(diracAdmin.getVOMSProxy())
{'OK': True, 'Value': }
Returns:

S_OK,S_ERROR

getPilotSummary(startDate='', endDate='')

Retrieve the pilot output for an existing job in the WMS. Summary is printed at INFO level, full dictionary of results also returned.

>>> gLogger.notice(dirac.getPilotSummary())
{'OK': True, 'Value': {CE:{Status:Count}}}
Parameters:

job (integer or string) – JobID

Returns:

S_OK,S_ERROR

getProxy(userDN, userGroup, validity=43200, limited=False)

Retrieves a proxy with default 12hr validity and stores this in a file in the local directory by default.

Example usage:

>>> gLogger.notice(diracAdmin.getProxy())
{'OK': True, 'Value': }
Returns:

S_OK,S_ERROR

getServicePorts(setup='', printOutput=False)

Checks the service ports for the specified setup. If not given this is taken from the current installation (/DIRAC/Setup)

Example usage:

>>> gLogger.notice(diracAdmin.getServicePorts())
{'OK': True, 'Value':''}
Returns:

S_OK,S_ERROR

getSiteMask(printOutput=False, status='Active')

Retrieve current site mask from WMS Administrator service.

Example usage:

>>> gLogger.notice(diracAdmin.getSiteMask())
{'OK': True, 'Value': 0L}
Returns:

S_OK,S_ERROR

getSiteMaskLogging(site=None, printOutput=False)

Retrieves site mask logging information.

Example usage:

>>> gLogger.notice(diracAdmin.getSiteMaskLogging('LCG.AUVER.fr'))
{'OK': True, 'Value': }
Returns:

S_OK,S_ERROR

getSiteSection(site, printOutput=False)

Simple utility to get the list of CEs for DIRAC site name.

Example usage:

>>> gLogger.notice(diracAdmin.getSiteSection('LCG.CERN.ch'))
{'OK': True, 'Value':}
Returns:

S_OK,S_ERROR

getVOMSProxy(userDN, userGroup, vomsAttr=False, validity=43200, limited=False)

Retrieves a proxy with default 12hr validity and VOMS extensions and stores this in a file in the local directory by default.

Example usage:

>>> gLogger.notice(diracAdmin.getVOMSProxy())
{'OK': True, 'Value': }
Returns:

S_OK,S_ERROR

killPilot(gridReference)

Kill the pilot specified

>>> gLogger.notice(dirac.getPilotInfo(12345))
{'OK': True, 'Value': {}}
Parameters:

gridReference – Pilot Job Reference

Returns:

S_OK,S_ERROR

resetJob(jobID)

Reset a job or list of jobs in the WMS. This operation resets the reschedule counter for a job or list of jobs and allows them to run as new.

Example:

>>> gLogger.notice(dirac.reset(12345))
{'OK': True, 'Value': [12345]}
Parameters:

job (integer or list of integers) – JobID

Returns:

S_OK,S_ERROR

sendMail(address, subject, body, fromAddress=None, localAttempt=True, html=False)

Send mail to specified address with body.

sendSMS(userName, body, fromAddress=None)

Send mail to specified address with body.

setProxyPersistency(userDN, userGroup, persistent=True)

Set the persistence of a proxy in the Proxy Manager

Example usage:

>>> gLogger.notice(diracAdmin.setProxyPersistency( 'some DN', 'dirac group', True ))
{'OK': True }
Parameters:
  • userDN (string) – User DN

  • userGroup (string) – DIRAC Group

  • persistent (boolean) – Persistent flag

Returns:

S_OK,S_ERROR

setSiteProtocols(site, protocolsList, printOutput=False)

Allows to set the defined protocols for each SE for a given site.

uploadProxy()

Upload a proxy to the DIRAC WMS. This method

Example usage:

>>> print diracAdmin.uploadProxy('dteam_pilot')
{'OK': True, 'Value': 0L}
Returns:

S_OK,S_ERROR

Parameters:

permanent (boolean) – Indefinitely update proxy