in aws-ecs-server/src/main/kotlin/jetbrains/buildServer/clouds/ecs/EcsCloudImageImpl.kt [76:90]
override fun canStartNewInstanceWithDetails(): CanStartNewInstanceResult {
if (System.currentTimeMillis() < muteTime.get())
return CanStartNewInstanceResult.no("image is still muted")
if(instanceLimit in 0..runningInstanceCount)
return CanStartNewInstanceResult.no("image's running instances limit reached")
if (cpuReservalionLimit > 0) {
val monitoringPeriod = TeamCityProperties.getInteger(ECS_METRICS_MONITORING_PERIOD, 1)
if (apiConnector.getMaxCPUReservation(cluster, monitoringPeriod) > cpuReservalionLimit){
return CanStartNewInstanceResult.no("CPU reservation limit reached")
}
}
return CanStartNewInstanceResult.yes()
}