You may encounter occasions when agent usage behavior differs from your expectations. This may be related to how your agent allocation and preemption policies are configured. For a small number of tools, it may not be safe to run multiple copies from the same host.
This article discusses how to change your agent allocation and preemption policies using the Cluster Manager web interface.
To configure the policies in the Cluster Manager web interface, go to Agents > Agent Policies. Select the appropriate agent allocation policy (shared) and preemption policy (always or priority).
The agent allocation policy determines whether agents on the same machine can be assigned to different builds. Two policies are available:
- Exclusive - This policy is the default. All agents on a specific machine are assigned to the same build
- Shared - Agents on the same machine can be assigned to different builds. This policy requires that eMake client and agent machines have synchronized clocks.
To avoid wasted work, a currently-running build may mark some agents as "locked" if they have been working on the same command for a long time. The allocation algorithm avoids reassigning locked agents whenever possible. However, in some circumstances the allocation algorithm must reassign a locked agent to balance the load. The preemption policy setting determines how the allocation algorithm responds to requests to preempt a locked agent.
Three policies are available:
- Always - It is always permitted to take unlocked agents from one build for another build to balance the workload.
- Priority - It is permitted to take unlocked agents from a lower priority build while balancing the workload. It is also permitted to take locked agents from a lower priority build in order to bring a higher priority build up to its minimum agent requirements.
- Never - It is never permitted to take unlocked agents from another build.
- Product versions: All
- OS versions: All