# GlideinWMS The Glidein-based Workflow Management System

- Home
- Download
- Glidein Frontend
- Corral Frontend
- WMS Factory
- Components
- FAQ

Loading

## Search Results

## WMS Factory Design

- Overview
- Install
- Configuration
- Design
- Monitoring
- Troubleshooting

### glidefactory classad

Jump to:

1. Identify the classad
2. Requirements
3. Configuration and Installation
4. Optional attributes
5. Communication requirements
6. Downtime
7. Monitoring

Factory Design Topics:

- Factory Internals
- Entry Internals
- Glidein Internals
- Data Exchange

## Factory Advertisement of Entries

Each Factory entry advertises information about itself that Frontends use in creating requests. There is one Classad per entry point and it includes the following:

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 Master
   2. Values used to distinguish the different classad types
      - GlideinMyType = "glidefactory"
   3. Values set by glideinWMS for consistency but are not used
      - MyType = "glidefactory"
2. Requirements of the Factory. These are specified only at a Factory level and are what the Factory requires in a Frontend request.
   1. Proxies can be used for submitting glideins. A default Factory proxy can be used or the Factory can require the Frontend provide proxy(s) that are used to submit glideins.
      - GlideinAllowx509_Proxy = True
      - GlideinRequirex509_Proxy = True
3. Information about the configuration and installation. This is used by admins for querying the collector or possibly in match expressions.
   1. Factory information
      - FactoryName = "factory_name"
      - GlideinName = "glidein_name"
      - GlideinWMSVersion = "glideinWMS UNKNOWN"
   2. Entry information
      - EntryName = "entry_name"
      - GLIDEIN_GridType = "gt2"
      - GLIDEIN_GlobusRSL = "(queue=default)"
      - GLIDEIN_Gatekeeper = "entry.domain.name⁄jobmanager-condor"
      - DaemonStartTime = 1291848363
4. Optional Factory admin defined attributes. If const=False, they will be prefaced with GlideinParam.
   1. Values used to affect glidein behavior.
      - CCB = "True"
      - GlideinParamGLIDEIN_Max_Idle = 1200
      - 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.
   3. Glidein Collector: This special value is automatically added by the Factory in every Classad. The Frontend is required to overwrite it (define in the Frontend request).
      - GlideinParamGLIDEIN_Collector = "Fake"
5. Communication requirements.
   1. The Factory publishes the security information that the Frontend uses to communicate requests.
      - PubKeyID = "03910dfe2d1101f80fd4f7c388fd2e1c"
      - PubKeyType = "RSA"
      - SupportedSignTypes = "sha1"
      - PubKeyValue = "-----BEGIN PUBLIC KEY-----\nMIIBIjAG9w0BAQ32m ... eZWnULjTB\n-----END PUBLIC KEY-----\n"
6. Downtime information.
   1. An entry can go into downtime when there are issues. The Frontend can then use this information in selecting entries so that it only requests glideins from entries that can service the request.
      - GLIDEIN_In_Downtime = "True"
7. 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 not to affect glidein submission.
      - GlideinMonitorTotalStatusPending = 0
      - GlideinMonitorTotalStatusIdle = 0
      - Etc.

The Factory does not advertise all configuration information for an entry. There may be additional values may affect glidein submission, such as limits on how many pilots are allowed in the queue, or glidein behavior at the site, such as unpublished attributes.

## Example glidefactory classad

    MyType = "glidefactory"
    TargetType = ""
    GlideinMyType = "glidefactory"
    GlideinWMSVersion = "glideinWMS UNKNOWN"
    Name = "entry@glidein@factory"
    FactoryName = "factory"
    GlideinName = "glidein"
    EntryName = "entry"
    SupportedSignTypes = "sha1"
    PubKeyID = "60b25b1dca401abad2d17c2f5f15e887"
    PubKeyType = "RSA"
    **PubKeyValue = "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkZNZbnjQIDAQAB\n-----END PUBLIC KEY-----\n"
    GlideinAllowx509_Proxy = TRUE
    GlideinRequirex509_Proxy = TRUE
    DaemonStartTime = 1293038517
    UpdateSequenceNumber = 3794
    GLIDEIN_In_Downtime = "False"
    GLEXEC_JOB = "True"
    GLIDEIN_GridType = "gt2"
    GLEXEC_BIN = "NONE"
    USE_CCB = "True"
    GCB_ORDER = "NONE"
    GLIDEIN_Site = "xen13"
    GLIDEIN_GlobusRSL = "(queue=default)"
    GLIDEIN_Gatekeeper = "node.domain.name/jobmanager-condor"
    GlideinParamUSE_MATCH_AUTH = "True"
    GlideinParamGLIDEIN_Collector = "node.domain.name"
    GlideinMonitorTotalClientMonitorGlideTotal = 0
    GlideinMonitorTotalStatusPending = 0
    GlideinMonitorTotalStatusStageIn = 0
    GlideinMonitorTotalStatusIdle = 0
    GlideinMonitorTotalClientMonitorJobsRunning = 0
    GlideinMonitorTotalRequestedMaxRun = 1
    GlideinMonitorTotalClientMonitorGlideRunning = 0
    GlideinMonitorTotalStatusIdleOther = 0
    GlideinMonitorTotalStatusStageOut = 0
    GlideinMonitorTotalRequestedIdle = 0
    GlideinMonitorTotalStatusRunning = 0
    GlideinMonitorTotalClientMonitorInfoAge = 22
    GlideinMonitorTotalStatusWait = 0
    GlideinMonitorTotalClientMonitorJobsRunHere = 0
    GlideinMonitorTotalClientMonitorJobsIdle = 0
    GlideinMonitorTotalClientMonitorGlideIdle = 0
    GlideinMonitorTotalStatusHeld = 0
    MyAddress = "<131.225.206.30:0>"
    AuthenticatedIdentity = "factory_user@node.domain.name"
    LastHeardFrom = 1294181640
    UpdatesTotal = 11713
    UpdatesSequenced = 11665
    UpdatesLost = 1
    UpdatesHistory = "0x00000000000000000000000000000000"

    **Note:  This attribute was shortened to fit into this document.