INNER CODE UNIT · Java
apply
jenkinsci/kubernetes-plugin · src/main/java/io/jenkins/plugins/kubernetes/NoDelayProvisionerStrategy.java:40
public NodeProvisioner.StrategyDecision apply(NodeProvisioner.StrategyState strategyState) {
if (DISABLE_NODELAY_PROVISING) {
LOGGER.log(Level.FINE, "Provisioning not complete, NoDelayProvisionerStrategy is disabled");
return NodeProvisioner.StrategyDecision.CONSULT_REMAINING_STRATEGIES;
}
final Label label = strategyState.getLabel();
LoadStatistics.LoadStatisticsSnapshot snapshot = strategyState.getSnapshot();
int availableCapacity = snapshot.getAvailableExecutors() // live executors
+ snapshot.getConnectingExecutors() // executors present but not yet connected
+ strategyState
.getPlannedCapacitySnapshot() // capacity added by previous strategies from previous rounds
+ strategyState.getAdditionalPlannedCapacity(); // capacity added by previous strategies _this round_
int previousCapacity = availableCapacity;
int currentDemand = snapshot.getQueueLength();
LOGGER.log(
Level.FINE, "Available capacity={0}, currentDemand={1}", new Object[] {availableCapacity, currentDemand