SiteDirector
The Site Director is an agent performing pilot job submission to particular sites/Computing Elements.
SiteDirector
{
# VO treated (leave empty for auto-discovery)
VO =
# VO treated (leave empty for auto-discovery)
Community =
# the DN of the certificate proxy used to submit pilots. If not found here, what is in Operations/Pilot section of the CS will be used
PilotDN =
# List of sites that will be treated by this SiteDirector (No value can refer to any Site defined in the CS)
Site =
# List of CEs that will be treated by this SiteDirector (No value can refer to any CE defined in the CS)
CEs =
# List of CE types that will be treated by this SiteDirector (No value can refer to any type of CE defined in the CS)
CETypes =
# List of Tags that are required to be present in the CE/Queue definition
Tags =
# How many cycles to skip if queue is not working
FailedQueueCycleFactor = 10
# Every N cycles, pilot status update is performed by the SiteDirector
PilotStatusUpdateCycleFactor = 10
# Every N cycles, pilot submission is performed by the SiteDirector
PilotSubmissionCycleFactor = 1
# The maximum length of a queue (in seconds). Default: 3 days
MaxQueueLength = 259200
# Max number of pilots to submit per cycle
MaxPilotsToSubmit = 100
# Boolean value that indicates if the pilot job will send information for accounting
SendPilotAccounting = True
# Working directory containing the pilot files if not set in the CE
WorkDirectory =
}
- class DIRAC.WorkloadManagementSystem.Agent.SiteDirector.SiteDirector(*args, **kwargs)
Bases:
AgentModule
SiteDirector class provides an implementation of a DIRAC agent.
Used for submitting pilots to Computing Elements.
- __init__(*args, **kwargs)
c’tor
- am_Enabled()
- am_checkStopAgentFile()
- am_createStopAgentFile()
- am_getControlDirectory()
- am_getCyclesDone()
- am_getMaxCycles()
- am_getModuleParam(optionName)
- am_getOption(optionName, defaultValue=None)
Gets an option from the agent’s configuration section. The section will be a subsection of the /Systems section in the CS.
- am_getPollingTime()
- am_getShifterProxyLocation()
- am_getStopAgentFile()
- am_getWatchdogTime()
- am_getWorkDirectory()
- am_go()
- am_initialize(*initArgs)
Common initialization for all the agents.
This is executed every time an agent (re)starts. This is called by the AgentReactor, should not be overridden.
- am_removeStopAgentFile()
- am_secureCall(functor, args=(), name=False)
- am_setModuleParam(optionName, value)
- am_setOption(optionName, value)
- am_stopExecution()
- beginExecution()
This is run at every cycle, as first thing.
Check the pilots credentials.
Get some flags and options used later
Get the site description dictionary
Get what to send in pilot wrapper
- endExecution()
- execute()
Main execution method (what is called at each agent cycle).
It basically just submits pilots and gets their status
- finalize()
- initialize()
Initial settings
- monitorPilots()
Update status of pilots in transient and final states
- submitPilots()
Go through defined computing elements and submit pilots if necessary and possible