diff --git a/core/src/main/java/hudson/model/AbstractProject.java b/core/src/main/java/hudson/model/AbstractProject.java index 22df3d7cd61d7d448c4d362eb24870ef50b72183..e51f24c546f379b069f27a7e01b14ae3c8eb4f63 100644 --- a/core/src/main/java/hudson/model/AbstractProject.java +++ b/core/src/main/java/hudson/model/AbstractProject.java @@ -1656,19 +1656,9 @@ public abstract class AbstractProject

,R extends A FilePath ws = build.getWorkspace(); Label label = getAssignedLabel(); - if (isAllSuitableNodesOffline(build)) { - //We need to ask jenkins about clouds. Label can be null. - if (!Jenkins.getInstance().clouds.isEmpty()) { - // An Ondemand slave can do this, doesnt matter if online now - for ( Cloud c : Jenkins.getInstance().clouds) { - if(c.canProvision(label)) { - // OnDemand slave will be provisioned - return WorkspaceOfflineReason.use_ondemand_slave; - } - } - } - - return WorkspaceOfflineReason.all_suitable_nodes_are_offline; + if (isAllSuitableNodesOffline(build)) { + Collection applicableClouds = label == null ? Jenkins.getInstance().clouds : label.getClouds(); + return applicableClouds.isEmpty() ? WorkspaceOfflineReason.all_suitable_nodes_are_offline : WorkspaceOfflineReason.use_ondemand_slave; } if (ws==null || !ws.exists()) {