From e8e4f5ad5828d95c14445de7082a508ef13d106f Mon Sep 17 00:00:00 2001 From: Mads Nielsen Date: Thu, 27 Mar 2014 14:46:10 +0100 Subject: [PATCH] [FIXED JENKINS-21394] Revised implementation based on feedback --- .../src/main/java/hudson/model/AbstractProject.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/core/src/main/java/hudson/model/AbstractProject.java b/core/src/main/java/hudson/model/AbstractProject.java index 9ebb3c8f1a..06e0c808a1 100644 --- a/core/src/main/java/hudson/model/AbstractProject.java +++ b/core/src/main/java/hudson/model/AbstractProject.java @@ -1637,18 +1637,15 @@ public abstract class AbstractProject

,R extends A } if (label != null) { - if (label.isOffline()) { - return true; - } else { - return false; - } + return label.isOffline(); } else { if (canRoam) { for (Node n : Jenkins.getInstance().getNodes()) { Computer c = n.toComputer(); - if (c != null && (c.isOnline() || c.isConnecting()) && c.isAcceptingTasks()) + if (c != null && c.isOnline() && c.isAcceptingTasks()) { // Some executor is ready and this job can run anywhere return false; + } } } } @@ -1660,7 +1657,7 @@ public abstract class AbstractProject

,R extends A Label label = getAssignedLabel(); if (isAllSuitableNodesOffline(build)) { - // if (label.getClouds() != null) { + if (label.getClouds().isEmpty()) { // An Ondemand slave can do this, doesnt matter if online now for ( Cloud c : Jenkins.getInstance().clouds) { if(c.canProvision(label)) { @@ -1668,7 +1665,7 @@ public abstract class AbstractProject

,R extends A return WorkspaceOfflineReason.use_ondemand_slave; } } - //} + } return WorkspaceOfflineReason.all_suitable_nodes_are_offline; } -- GitLab