SiteInspectorAgent

SiteInspectorAgent

This agent inspect Sites, and evaluates policies that apply.

The following options can be set for the SiteInspectorAgent.

SiteInspectorAgent options
SiteInspectorAgent
{
  #Time between cycles in seconds
  PollingTime = 300

  #Maximum number of threads used by the agent
  maxNumberOfThreads = 15
}
class DIRAC.ResourceStatusSystem.Agent.SiteInspectorAgent.SiteInspectorAgent(*args, **kwargs)

Bases: AgentModule

The SiteInspectorAgent agent is an agent that is used to get the all the site names and trigger PEP to evaluate their status.

__init__(*args, **kwargs)

Common __init__ method for all Agents. All Agent modules must define: __doc__ __RCSID__ They are used to populate __codeProperties

The following Options are used from the Configuration: - /LocalSite/InstancePath - /DIRAC/Setup - Status - Enabled - PollingTime default = 120 - MaxCycles default = 500 - WatchdogTime default = 0 (disabled) - ControlDirectory control/SystemName/AgentName - WorkDirectory work/SystemName/AgentName - shifterProxy ‘’ - shifterProxyLocation WorkDirectory/SystemName/AgentName/.shifterCred

It defines the following default Options that can be set via Configuration (above): - MonitoringEnabled True - Enabled True if Status == Active - PollingTime 120 - MaxCycles 500 - ControlDirectory control/SystemName/AgentName - WorkDirectory work/SystemName/AgentName - shifterProxy False - shifterProxyLocation work/SystemName/AgentName/.shifterCred

different defaults can be set in the initialize() method of the Agent using am_setOption()

In order to get a shifter proxy in the environment during the execute() the configuration Option ‘shifterProxy’ must be set, a default may be given in the initialize() method.

am_Enabled()
am_checkStopAgentFile()
am_createStopAgentFile()
am_disableMonitoring()
am_getBasePath()
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_monitoringEnabled()
am_removeStopAgentFile()
am_secureCall(functor, args=(), name=False)
am_setModuleParam(optionName, value)
am_setOption(optionName, value)
am_stopExecution()
beginExecution()
endExecution()
execute()

This is the main method of the agent. It gets the sites from the Database, calculates how many threads should be started and spawns them. Each thread will get a site from the queue until it is empty. At the end, the method will join the queue such that the agent will not terminate a cycle until all sites have been processed.

finalize()
getSitesToBeChecked()

getElementsToBeChecked

This method gets all the site names from the SiteStatus table, after that it get the details of each site (status, name, etc..) and adds them to a queue.

initialize()

Standard initialize.