Team Foundation Server deployment of Release in Release automation allocated to disable agent.

Document ID : KB000008571
Last Modified Date : 14/02/2018
Show Technical Document Details
Issue:

In this scenario, we have Team Foundation Server (TFS) integrated with CA Release Automation(RA) via RA TFS plugin. We have created a pool of agents for TFS and when we deploy a release in TFS using the CA Release Automation plugin, it ends up on a disabled TFS agent.

Result: the 'Deploy' step keeps on running with "agent: not allocated". Please see screenshot below where a build is set to a stage "Agent: not allocated" and hence never proceed.

TFS Screen SHOT.jpg

Environment:
1: TFS 2015 (14.114.26403.0) or higher2: RA TFS Plugin 1.1.03: Release Automation: 6.4 or higher
Cause:

During our analysis we found below information in relation to TFS

Findings/Cause

  1. Agent allocation in Team Foundation Server (TFS) is controlled by TFS and plugin doesn't control that behavior explicitly.
  2. Each agent in an agent pool bears a unique capability which are required for that agent to execute a very specific type of build for example some capabilities like node.js, powershell, Ant, etc.
  3. The build is allocated to "Not Allocated" when TFS agent selector is unable to find any enabled agent with capability to execute the build. This behavior is due to fact that each build is placed in a build queue and an anticipation is made that when an agent with capability required to execute the build will be enabled/available the build will be executed in FIFO manner.
Resolution:

To overcome this scenario below is recommended.

  • Make sure that there is always one enabled agent in pool having capability to execute the type of build been triggered.
  • In case if the build is allocated to an disabled agent to continue with that build make sure to enable an agent with required capability.