@Override protected boolean filter(Node n) { return n != null && n.getMode() == Mode.NORMAL; }
public boolean isNotExclusive() { return getNode().getMode() == Mode.NORMAL; }
private boolean isRelevant(Collection<Label> labels, Computer computer) { Node node = computer.getNode(); if (node == null) return false; if (labels.contains(null) && node.getMode() == Node.Mode.NORMAL) return true; for (Label l : labels) if (l != null && l.contains(node)) return true; return false; }
@Override public int computeTotalExecutors() { int r=0; for (Computer c : Jenkins.getInstance().getComputers()) { Node node = c.getNode(); if (node != null && node.getMode() == Mode.NORMAL && c.isOnline()) { r += c.countExecutors(); } } return r; }
@Override public int computeIdleExecutors() { int r=0; for (Computer c : Jenkins.getInstance().getComputers()) { Node node = c.getNode(); if (node != null && node.getMode() == Mode.NORMAL && (c.isOnline() || c.isConnecting()) && c.isAcceptingTasks()) { r += c.countIdle(); } } return r; }
for (Node n : Jenkins.getInstance().getNodes()) { Computer c = n.toComputer(); if (c != null && c.isOnline() && c.isAcceptingTasks() && n.getMode() == Mode.NORMAL) {
return CauseOfBlockage.fromMessage(Messages._Node_LabelMissing(getDisplayName(), l)); // the task needs to be executed on label that this node doesn't have. if(l==null && getMode()== Mode.EXCLUSIVE) {
@Override protected boolean filter(Node n) { return n != null && n.getMode() == Mode.NORMAL; }
public boolean isNotExclusive() { return getNode().getMode() == Mode.NORMAL; } }
public boolean isNotExclusive() { return getNode().getMode() == Mode.NORMAL; } }
public boolean isNotExclusive() { return getNode().getMode() == Mode.NORMAL; } }
public boolean isNotExclusive() { return getNode().getMode() == Mode.NORMAL; } }
public boolean isNotExclusive() { return getNode().getMode() == Mode.NORMAL; }
private boolean isRelevant(Collection<Label> labels, Computer computer) { Node node = computer.getNode(); if (node == null) return false; if (labels.contains(null) && node.getMode() == Node.Mode.NORMAL) return true; for (Label l : labels) if (l != null && l.contains(node)) return true; return false; }
Node n = c.getNode(); if (n != null) { if (roam && n.getMode() == Mode.NORMAL || !Collections.disjoint(n.getAssignedLabels(), labels)) { result.add(c);
@Override public int computeTotalExecutors() { int r=0; for (Computer c : Jenkins.getInstance().getComputers()) { Node node = c.getNode(); if (node != null && node.getMode() == Mode.NORMAL && c.isOnline()) { r += c.countExecutors(); } } return r; }
@Override public int computeIdleExecutors() { int r=0; for (Computer c : Jenkins.getInstance().getComputers()) { Node node = c.getNode(); if (node != null && node.getMode() == Mode.NORMAL && (c.isOnline() || c.isConnecting()) && c.isAcceptingTasks()) { r += c.countIdle(); } } return r; }
public NodeDTO convert(final hudson.model.Node source) { assert source != null; log.trace("Converting: {}", source); NodeDTO target = new NodeDTO(); target.setName(source.getNodeName()); target.setDescription(source.getNodeDescription()); target.setExecutors(source.getNumExecutors()); target.setMode(convert(source.getMode())); // target.setConnected(); // target.setOnline(); // target.setOfflineCause(); // target.setConnectTime(); return target; }
public CauseOfBlockage canTake(Queue.BuildableItem item) { Label l = item.getAssignedLabel(); if(l!=null && !l.contains(this)) return CauseOfBlockage.fromMessage(Messages._Node_LabelMissing(getNodeName(),l)); // the task needs to be executed on label that this node doesn't have. if(l==null && getMode()== Mode.EXCLUSIVE) return CauseOfBlockage.fromMessage(Messages._Node_BecauseNodeIsReserved(getNodeName())); // this node is reserved for tasks that are tied to it // Check each NodeProperty to see whether they object to this node // taking the task for (NodeProperty prop: getNodeProperties()) { CauseOfBlockage c = prop.canTake(item); if (c!=null) return c; } // Looks like we can take the task return null; }
/** * Called by the {@link Queue} to determine whether or not this node can * take the given task. The default checks include whether or not this node * is part of the task's assigned label, whether this node is in * {@link Mode#EXCLUSIVE} mode if it is not in the task's assigned label, * and whether or not any of this node's {@link NodeProperty}s say that the * task cannot be run. * * @since 1.360 */ public CauseOfBlockage canTake(Task task) { Label l = task.getAssignedLabel(); if(l!=null && !l.contains(this)) return CauseOfBlockage.fromMessage(Messages._Node_LabelMissing(getNodeName(),l)); // the task needs to be executed on label that this node doesn't have. if(l==null && getMode()== Mode.EXCLUSIVE) return CauseOfBlockage.fromMessage(Messages._Node_BecauseNodeIsReserved(getNodeName())); // this node is reserved for tasks that are tied to it // Check each NodeProperty to see whether they object to this node // taking the task for (NodeProperty prop: getNodeProperties()) { CauseOfBlockage c = prop.canTake(task); if (c!=null) return c; } // Looks like we can take the task return null; }