GlideinWMS The Glidein-based Workflow Management System

WMS Factory Design

glidefactoryclient ClassAd

Factory Advertisement of Frontends

The Factory will generate a Classad for each Frontend that it services. It contains monitoring information that may be used by either the Factory or Frontend.

  1. Information used to identify the Classad.
    1. Values used to manage Classads in the Collector
      • Name = "entry_name@glidein_name@factory_name"
      • Internal ClassAd type of License
    2. Values used to distinguish the different ClassAd types
      • GlideinMyType = "glidefactoryclient"
    3. Values set by GlideinWMS for consistency but are not used
      • MyType = "glidefactoryclient"
  2. Information about a specific request for a specific entry.
    1. Factory information
      • ReqGlidein = "entry_name@glidein_name@factory_name"
      • ReqFactoryName = "factory_name"
      • ReqGlideinName = "glidein_name"
      • GlideinWMSVersion = "glideinWMS UNKNOWN"
    2. Entry information
      • ReqEntryName = "entry_name"
      • GLIDEIN_GridType = "condor"
      • GLIDEIN_Gatekeeper = "entry.domain.name entry.domain.name:port"
    3. Frontend information
      • ReqClientName = "frontend_name.group_name"
      • ReqClientReqName = "entry_name@glidein_name@factory_name@frontend_name.group_name"
      • GlideinParamGLIDEIN_Collector = "user_collector_node.domain.name"
  3. Factory and Frontend defined attributes. These may or may not be prefaced by GlideinParam depending on how the Factory and Frontend requests have defined them. All attributes are optional except GLIDEIN_Collector; this is always required to be defined by the Frontend.
    1. Values used to affect glidein behavior.
      • USE_CCB = "True"
      • USE_MATCH_AUTH = "True"
      • Etc.
    2. Information published about an entry that can be used by the Frontend, for example, something used in a Match expression for matching user jobs to entries.
      • GLIDEIN_Site = "site_name"
      • Etc.
  4. Monitoring values.
    1. These are generated by the Factory and used for generating the monitoring data. All are prefaced with GlideinMonitor. Monitoring values may be shared between services but are only used in generating monitoring information and do not to affect glidein submission.
      • GlideinMonitorClientMonitorGlideRunning = 0
      • GlideinMonitorClientMonitorJobsRunning = 0
      • GlideinMonitorStatusIdle = 0
      • GlideinMonitorStatusHeld = 0
      • GlideinMonitorStatusPending = 0
      • GlideinMonitorStatusStageOut = 0
      • GlideinMonitorStatusIdleOther = 0
      • GlideinMonitorStatusRunning = 0
      • GlideinMonitorClientMonitorInfoAge = 23
      • GlideinMonitorClientMonitorGlideIdle = 0
      • GlideinMonitorClientMonitorJobsRunHere = 0
      • GlideinMonitorStatusStageIn = 0
      • GlideinMonitorClientMonitorGlideTotal = 0
      • GlideinMonitorRequestedIdle = 0
      • GlideinMonitorStatusWait = 0
      • GlideinMonitorRequestedMaxGlideins = 1
      • GlideinMonitorClientMonitorJobsIdle = 0

Example glidefactoryclient ClassAd

MyType = "glidefactoryclient"
TargetType = ""
GlideinMyType = "glidefactoryclient"
GlideinWMSVersion = "glideinWMS UNKNOWN"
Name = "entry@ glidein @factory@frontend-instance.main"
ReqGlidein = "entry@glidein@factory"
ReqFactoryName = "factory_name"
ReqGlideinName = "instance_name"
ReqEntryName = "entry"
ReqClientName = " frontend-instance.main"
ReqClientReqName = " entry@glidein@factory "
GLIDEIN_GridType = "condor"
USE_CCB = "True"
GCB_ORDER = "NONE"
GLIDEIN_Site = "entry"
GLIDEIN_GlobusRSL = "(queue=default)"
GLIDEIN_Gatekeeper = "node.domain.name node.domain.name:port"
GlideinParamUSE_MATCH_AUTH = "True"
GlideinParamGLIDEIN_Collector = "user_collector_node.domain.name"
GlideinMonitorClientMonitorGlideRunning = 0
GlideinMonitorClientMonitorJobsRunning = 0
GlideinMonitorStatusIdle = 0
GlideinMonitorStatusHeld = 0
GlideinMonitorStatusPending = 0
GlideinMonitorStatusStageOut = 0
GlideinMonitorStatusIdleOther = 0
GlideinMonitorStatusRunning = 0
GlideinMonitorClientMonitorInfoAge = 23
GlideinMonitorClientMonitorGlideIdle = 0
GlideinMonitorClientMonitorJobsRunHere = 0
GlideinMonitorStatusStageIn = 0
GlideinMonitorClientMonitorGlideTotal = 0
GlideinMonitorRequestedIdle = 0
GlideinMonitorStatusWait = 0
GlideinMonitorRequestedMaxGlideins = 1
GlideinMonitorClientMonitorJobsIdle = 0
MyAddress = "<131.225.206.30:0>"
AuthenticatedIdentity = "factory_user@node.domain.name"
LastHeardFrom = 1294181338
UpdatesTotal = 30
UpdatesSequenced = 0
UpdatesLost = 0
UpdatesHistory = "0x00000000000000000000000000000000"