Round up value of newReplicas

Signed-off-by: Gede Wahyu <tokekbesi@gmail.com>
This commit is contained in:
Gede Wahyu 2018-11-21 18:55:04 +07:00 committed by Alex Ellis
parent 191629151e
commit 3bdb194e71
2 changed files with 13 additions and 1 deletions

View File

@ -8,6 +8,7 @@ import (
"fmt"
"io/ioutil"
"log"
"math"
"net/http"
"github.com/openfaas/faas/gateway/requests"
@ -97,7 +98,7 @@ func scaleService(alert requests.PrometheusInnerAlert, service scaling.ServiceQu
// CalculateReplicas decides what replica count to set depending on current/desired amount
func CalculateReplicas(status string, currentReplicas uint64, maxReplicas uint64, minReplicas uint64, scalingFactor uint64) uint64 {
newReplicas := currentReplicas
step := uint64((float64(maxReplicas) / 100) * float64(scalingFactor))
step := uint64(math.Ceil(float64(maxReplicas) / 100 * float64(scalingFactor)))
if status == "firing" && step > 0 {
if currentReplicas+step > maxReplicas {

View File

@ -110,3 +110,14 @@ func TestScaledUpFrom1(t *testing.T) {
t.Fail()
}
}
func TestScaledUpWithSmallParam(t *testing.T) {
currentReplicas := uint64(1)
maxReplicas := uint64(4)
scalingFactor := uint64(1)
newReplicas := CalculateReplicas("firing", currentReplicas, maxReplicas, scaling.DefaultMinReplicas, scalingFactor)
if newReplicas == currentReplicas {
t.Log("Expected newReplicas > currentReplica")
t.Fail()
}
}