we have two QB servers: SERVER_1 and SERVER_2
Our configuration on SERVER_1 has the following structure (s. also screenshot):
-
master step is done one node (VRA01DPLOY5 in the screenshot)
-
inside master there are steps that deploy a new virtual machine, where QB agent (AGENT_1) is automatically started and registered in the grid on SERVER_1 .
-
The following steps make some modifications on the virtual machine.
-
from this deployed virtual machine we create a template for future uses. In order to create template, we have to take the QB agent AGENT_1 out of the grid. And it is fine because we don't need AGENT_1 any more.
This scenario has worked fine for a few years, until we decided to trigger from this configuration another build on SERVER_2.
First approach was to configure a promotion to SERVER_2. The promotion itself works fine if started manually. But it is never fired automatically (the condifiton for automatic trigger is "if build is successful"). Because as soon as the build for the configuration described above finishes - there is a red exclamation symbol and an error "Unable to find node AGENT_1" displayed above the list of builds in the configuration (s. screenshot)
Second approach was to configure a trigger step to trigger build on SERVER_2. This step just fails and the same error "Unable to find node AGENT_1" is displayed.
The fact that the node AGENT_1 is not found at the end of the build is correct - because it is taken out of the grid intentionally, we don't need it. We don't understand why it plays any role in triggering build on SERVER_2. The promotion does not send any files, just forwards some build variables. (s. screenshot)
Also, if there is no promotion and there is no trigger step configured - this error message never appears and everything seems to work fine
2022-03-18 01:18:48,383 [pool-2-thread-22145] ERROR com.pmease.quickbuild.DefaultBuildEngine - Error processing build request.
com.pmease.quickbuild.QuickbuildException: Unable to find node 'VRA01V14IN18005:8811'.
at com.pmease.quickbuild.stepsupport.Step.getNode(Step.java:725)
at com.pmease.quickbuild.repositorysupport.CheckoutStep$$EnhancerByCGLIB$$a253a66e.CGLIB$getNode$18( )
at com.pmease.quickbuild.repositorysupport.CheckoutStep$$EnhancerByCGLIB$$a253a66e$$FastClassByCGLIB$$ab162aa7.invoke( )
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:261)
at com.pmease.quickbuild.repositorysupport.CheckoutStep$$EnhancerByCGLIB$$a253a66e.getNode( )
at com.pmease.quickbuild.repositorysupport.CheckoutBuildFinishTask.map(CheckoutBuildFinishTask.java:51)
at com.pmease.quickbuild.repositorysupport.CheckoutBuildFinishTask.map(CheckoutBuildFinishTask.java:24)
at com.pmease.quickbuild.grid.GridImpl.execute(GridImpl.java:50)
at com.pmease.quickbuild.grid.GridImpl.execute(GridImpl.java:45)
at com.pmease.quickbuild.DefaultBuildEngine.run(DefaultBuildEngine.java:705)
at com.pmease.quickbuild.DefaultBuildEngine.process(DefaultBuildEngine.java:470)
at com.pmease.quickbuild.DefaultBuildEngine.access$000(DefaultBuildEngine.java:148)
at com.pmease.quickbuild.DefaultBuildEngine$2.run(DefaultBuildEngine.java:1275)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)