Windows server 2012 R2CI 1.8.1.727I’m setting up an agent that I want to only be able to run configurations from a specific project, I also do not want the CI agent to run these projects.I setup a condition on the agent $Project.Slug$ equals Agent_TEST (the slug for the project I want the agent to run). On the CI local agent I setup a similar rule with "Does no equal"Both agents have these conditions enabled, however the agent compatibility matrix shows both agents able to run everything.Also tried $Project.Name$ and contains/starts with Agent, contains any of… name with quotes, etc…I currently have my main agent set to $Project.Slug$ does not start with “Agent”. The Agent compatibility shows it will run stages in the “Agent TEST” project however now the compatibility matrix does not show “Agent TEST” as compatible with this agent.Another update. I currently have my remote agent un-authorized. The Agent Compatibility Matrix does not list the ‘Agent TEST’ project as compatible with the servers agent, however when I run that project it runs on the server agent.
Hi Brenden,
The agent compatibility matrix does not currently take the agent conditions into account. It checks the agent requirements set on each configuration stage and the property collectors for each stage action, but we have omitted to include the agent conditions when generating this matrix. We’ll look into including this as soon as possible.
The agent conditions are however taken into account when the build is run and it is selecting an agent to run a stage. This is currently working correctly in our tests.
We have not been able to reproduce an issue where you are able to run a build on an agent which is listed an incompatible. We would be interested in seeing the timeline for this build.
We have 2 agents, one on the server and another remote.
I have a project named “Agent TEST” with a project slug of Agent_TEST.
I set an agent condition on the remote agent to $Project.Slug$ equals “Agent_TEST” (tried both with and without quotes)
On the server agent I set a condition of $Project.Slug$ does not equal “Agent_TEST”.
At this point both agents list “Agent TEST” project configuration as compatible.
If I de-authorize the remote agent (the only one that should be compatible with “Agent TEST” project) if I run the configuration in that project it runs on the server agent which should be blocked due to the condition.
I think I can set this test up again, I’ve worked around the need for it though.
When we follow your steps (no quotes required), and run a build, the build stops before running the first stage with the following build status message:
No agents are currently available to execute the stage.
ciserver: Agent condition was not met: The expression [’$Project.Slug$’ does not equal ‘TestProject’] evaluated to False. ‘TestProject’ equals ‘TestProject’.
ciagent1: Agent is unauthorised.
ciagent2: Agent is unauthorised.
The compatibility matrix does show ciserver as compatible - we’ll fix that. The condition is however still working for us.
If you could reproduce this with debug logging enabled and then send the debug log file to support@finalbuilder.com, we’ll then be able to work out what is happening differently on your system.
Well, now I can’t reproduce. I’m getting expected results. IF I see anything similar again, I’ll make an effort to capture debug output at that time.