Your browser was unable to load all of the resources. They may have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again.

Error "Unable to find node" prevents automatic promotion from firing #70

SameOldSong ·

we have two QB servers: SERVER_1 and SERVER_2

Our configuration on SERVER_1 has the following structure (s. also screenshot):

  1. master step is done one node (VRA01DPLOY5 in the screenshot)

  2. 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 .

  3. The following steps make some modifications on the virtual machine.

  4. 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) 2022-03-19_19h17_25.png 2022-03-18_17h01_37.png 2022-03-19_19h45_33.png

  • replies 6
  • views 964
  • stars 0
robinshen ADMIN ·

Does the taken down agent runs some checkout step previously? This error happens when QB tries to do some clean up work on the checkout node before finishing the job.

SameOldSong ·

yes, there is a checkout from Perforce on the agent

SameOldSong ·

is it possible to avoid this clean up work?

robinshen ADMIN ·

You may disable this by running below script in post-execute action of the checkout step:

groovy:
step.repository.setCheckout(false);

However this will affect the shelve support of Perforce repository, and can not submit the shelve after build. Also the workspace revert option of "REVERT_AFTER_CURRENT_BUILD" and "REVERT_AFTER_CURRNT_BUILD_IF_SUCCESSFUL" will not work.

SameOldSong ·

I've just tried it but it hasn't changed anything.

SameOldSong ·

sorry, I've missed one other repository step. After adding this script to both of them - there is no error any more
this issue can be closed. Thank you for support