Skip to content
Snippets Groups Projects
Commit 3bdb194e authored by Gede Wahyu's avatar Gede Wahyu Committed by Alex Ellis
Browse files

Round up value of newReplicas


Signed-off-by: default avatarGede Wahyu <tokekbesi@gmail.com>
parent 19162915
No related branches found
No related tags found
No related merge requests found
......@@ -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 {
......
......@@ -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()
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment