Cockpit
- manage job configuration, optionally with a repository service
- manage release procedure for job configuration to Master
- accept job events and job history from Master
- report job events to event queue
- report job history to reporting database
- run authentication and authorization service
- run web server and web services
- run JobScheduler Controller Web GUI
- bundle a number of Masters and delegate commands to Master
Explantion of Drawing
Cockpit
- JobScheduler Supervisor distributes configuration to Master Cluster members
- Supervisor accepts job events and job history and stores them persistently
- JobScheduler Controller is the GUI for monitoring and taking action
Master Cluster
- Primary and Backup JobScheduler Master are synchronized in a Cluster
- Cluster members address job execution requests to Agent Clusters
- Cluster members report job events and the job history to the Controller
Autonom. Agent Cluster
- A number of Agents is grouped in a Cluster for:
- fixed priority scheduling
- round-robin scheduling
- An Agent Cluster manages outages of Agents autonomously
Master
- control the job plan (calendar), what to run, when and where
- forward daily plan to Autonomous Agent Cluster
- accept task execution result, job history and log information from Agents
- optionally operate in an active-passive cluster
Explantion of Drawing
Controller
- The Controller presents the user interface (GUI)
- The Controller makes use of web services provided by the Supervisor to retrieve status information
Web Services
- Web Services enforce authentication and authorization
- Web Services provide information on
- job events
- job history
- Master/Agent status
Supervisor
- Supervisor manages job release procedure for a repository (Git, subversion etc.) or file system
- Supervisor sends job control commands to Master
- Supervisor accepts job events and job history and stores them persistently
Autonomous Agent
- implement a fault-tolerant peer-to-peer network of Agents
- accept daily plan from Master
- available for active-passive and active-active clustering:
- fixed priority scheduling
- round-robin scheduling
- execute job chains independently from Master availability
- resolve more complex dependencies with Master, e.g. for checks of the job history or of external events from other machines
- report job history and log information back to Master
- run distributed recovery files for recovery purposes
- allow access by a number of Master instances
- provide resilience features for reconciliation after Master connection loss
Explantion of Drawing
Master Cluster
- Primary and Backup JobScheduler Master are synchronized in a Cluster
Autonom. Agent Cluster
- Master contacts one of the Members in an Agent Cluster to check Agent availability and to forward the daily plan for job execution
- Agent Cluster Members synchronize the execution of jobs and job chains:
- Fixed priority scheduling
- Round-robin scheduling
- Agent Cluster Members implement a peer-to-peer network to synchronize status updates and to report back to the Master
- Agent Cluster Members use Recovery Files for restart capability should no Cluster Member be available on restart