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.

Node Selection to run "On ALL Nodes with..." #2388

nmanos ·
Hi,
Currenly when we need to run configuration on multiple QB agents (usually in paralel, but not nesisarly), we're doing:

Node Selection using script:
node.getAddress()==params.get("nextMachine")

Repeat Parameters using parameter:
nextMachine = ${vars.getValue("MachineListOnResource")}

Where Variable MachineListOnResource =
${groovy:
import com.pmease.quickbuild.entitymanager.*
import com.pmease.quickbuild.grid.*
import com.pmease.quickbuild.util.*

def resource = ResourceManager.instance.get(vars.getValue("GridResource"));
def nodeAddresses = new ArrayList();
for (node in Grid.instance.getAllNodes()) {
if (resource.getCount(node) > 0)
nodeAddresses.add(node.address);
\}
nodeAddresses.sort();
return StringUtils.join(nodeAddresses);
}

And Variable GridResource = Specified resource that collects all agents by a regular expression (as described here: http://forum.pmease.com/viewtopic.php?f=1&t=2412


This flow is used in many configurations that need to be run on multiple agents, usually agents that being chosen with a regexp.
Can you make a new "Node Selection" option in next QB release, that allows to run step "On ALL Nodes with" Specified Resource, or "On ALL Nodes with" specified script evaluating to true (e.g regex match) ?

Thanks a lot!
Noam.
  • replies 4
  • views 2908
  • stars 0
robinshen ADMIN ·
This should be trivial. Please file an improvement request for this at track.pmease.com and you will be get notified when it get solved in next release.
nmanos ·
Opened feature request: http://track.pmease.com/browse/QB-1709

Thanks!
Noam.
Productivity ·
This feature request is supposed to be implemented in QB 5.0.30 but I don't see a new "node selection" option to allow this in QB 5.1.0. Can you tell me how it was fixed? Unless for some reason, the new node selection option is already there and I just can't see it...

I would like to do a maintenance task that must run on all Linux build nodes periodically in order to update some files and I believe this node selection option would help accomplish this.
robinshen ADMIN ·
We looked into the issue, but find that it is not possible to provide some form of "matching all nodes" condition, as node selection in QB always works to select a single node for a specific step instance. So one still has to use repeat params to do the job of running a step definition on multiple nodes. Sorry for the mis-leading of resolved status of the issue, it should be closed with resolution of "not fix".