changes.
| h1. Situation |
| Set up the build so that one agent runs only one build at a time. If all agents are occupied, the build should be waiting. |
| |
| h1. Demonstration |
| | # Check [grid tab|http://demo.pmease.com/grid/active_build_agents] on the demo site, and there are two agents available. |
| # Visit the [demo project|http://demo.pmease.com/overview/100], and hit the run button three times to generate three builds. |
| # The first two builds will be running, each occupying an agent. The third will be waiting. When one of two running builds finished, the third one will start to run. |
| | # Check [grid tab|http://demo.pmease.com/grid/active_nodes] on the demo site, and there are two agents available. |
| # Visit [the control project|http://demo.pmease.com/overview/100], and hit the run button to trigger all its children (project1, project2 and project3) concurrently. |
| # Check the [queue tab|http://demo.pmease.com/queue]. Only two child builds will be running, each occupying one agent. The waiting child build will start to run when one of the running child builds finishes. |
| |
| h1. Resolution |
| | # Switch to [resource tab|http://demo.pmease.com/resource] and a resource named "agent" is defined with each agent providing one resource. |
| # Switch to [steps definition|http://demo.pmease.com/settings/101/steps] of the demo project, and check the master step definition. The node selection property is set to run on the node with resource _agent_. |
| # This also holds true for builds from different configurations as long as their master step is defined to run on node with the _agent_ resource. |
| | # Switch to [resources tab|http://demo.pmease.com/grid/resources] and a resource named "Agent" is defined with each agent providing one resource. |
| # Check master step definition of [child project1|http://demo.pmease.com/settings/102/steps], [child project2|http://demo.pmease.com/settings/103/steps], and [child project3|http://demo.pmease.com/settings/104/steps]. They all set to run on node with resource _Agent_. If resource requirement of the master step is not satisfied, the build itself will be put into waiting state. |