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