SiteDirector

The Site Director is an agent performing pilot job submission to particular sites/Computing Elements.

SiteDirector options
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.

  1. Check the pilots credentials.

  2. Get some flags and options used later

  3. Get the site description dictionary

  4. 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