Execution Engine¶
The Execution Engine encompasses the runtime components that perform work in Digital Rebar Provision. These components answer the question: where and how does work execute?
Components¶
| Component | Description |
|---|---|
| Runner | The agent (drpcli processjobs) that executes tasks on a machine or in a container |
| Contexts | Container-backed execution environments for non-PXE workloads (Ansible, Terraform, cloud CLIs) |
| Resource Brokers | Specialized execution engines that abstract machine allocation and release across clouds and bare metal |
| Pooling | Groups machines into pools with defined allocation, release, and transition actions |
| Batching | Coordinates large sets of WorkOrders across a pool of workers with setup, run, and post phases |
Relationship Between Components¶
WorkOrder/Workflow
|
v
Runner (drpcli processjobs)
|
+-- on bare metal / VM → default ("") context
|
+-- in container → Context (docker-context plugin)
|
+-- allocate machines → Resource Broker
|
+-- selects from → Pool
|
+-- drives → Cluster Lifecycle
In This Section¶
- Runner Architecture — The agent, platforms, and execution model
- Runner State & Reboots — How the runner handles task sequencing, bootenv changes, and reboots
- Contexts — Container execution environments for specialized workloads
- Context Workers — Scaling context execution across a cluster of worker nodes
- Resource Brokers — Abstracting machine allocation for cloud-agnostic automation
- Pooling — Machine grouping, allocation, and transition workflows
- Batching — Coordinating large-scale parallel WorkOrder execution
See Also¶
- Provisioning Pipeline — Defines the work the Execution Engine runs
- Cluster Lifecycle — Uses Resource Brokers and Pools
- Developer Guide — Building content packs and contexts