Skip to content

Commit

Permalink
Fix tests after bugfix.
Browse files Browse the repository at this point in the history
  • Loading branch information
cscatolini committed Nov 26, 2018
1 parent 422bdfa commit 24d7a91
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 30 deletions.
20 changes: 12 additions & 8 deletions autoscaler/autoscaler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import (

. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
uuid "github.com/satori/go.uuid"

"github.com/topfreegames/maestro/models"
"github.com/topfreegames/maestro/testing"
Expand Down Expand Up @@ -72,6 +73,7 @@ var _ = Describe("AutoScaler", func() {
})

Describe("AutoScaler", func() {
var containerName string
var autoScaler *AutoScaler
var trigger *models.ScalingPolicyMetricsTrigger
var roomCount *models.RoomsStatusCount
Expand Down Expand Up @@ -136,6 +138,7 @@ var _ = Describe("AutoScaler", func() {

Context("cpu type", func() {
BeforeEach(func() {
containerName = fmt.Sprintf("%s-%s", schedulerName, uuid.NewV4().String())
trigger = &models.ScalingPolicyMetricsTrigger{
Time: 100,
Usage: 70,
Expand All @@ -149,22 +152,22 @@ var _ = Describe("AutoScaler", func() {
Occupied: 8,
Terminating: 0,
}
testing.CreatePod(clientset, "1.0", "0", schedulerName)
testing.CreatePod(clientset, "1.0", "0", schedulerName, containerName)
})

It("should return delta", func() {
// scale down
containerMetrics := testing.BuildContainerMetricsArray(
[]testing.ContainerMetricsDefinition{
testing.ContainerMetricsDefinition{
Name: containerName,
Usage: map[models.AutoScalingPolicyType]int{
models.CPUAutoScalingPolicyType: 500,
models.MemAutoScalingPolicyType: 0,
},
MemScale: 0,
},
},
schedulerName,
)
fakeMetricsClient := testing.CreatePodsMetricsList(containerMetrics, 1, schedulerName)
autoScaler := NewAutoScaler(schedulerName, clientset, fakeMetricsClient)
Expand All @@ -176,14 +179,14 @@ var _ = Describe("AutoScaler", func() {
containerMetrics = testing.BuildContainerMetricsArray(
[]testing.ContainerMetricsDefinition{
testing.ContainerMetricsDefinition{
Name: containerName,
Usage: map[models.AutoScalingPolicyType]int{
models.CPUAutoScalingPolicyType: 900,
models.MemAutoScalingPolicyType: 0,
},
MemScale: 0,
},
},
schedulerName,
)
fakeMetricsClient = testing.CreatePodsMetricsList(containerMetrics, 1, schedulerName)
autoScaler = NewAutoScaler(schedulerName, clientset, fakeMetricsClient)
Expand All @@ -196,14 +199,14 @@ var _ = Describe("AutoScaler", func() {
containerMetrics := testing.BuildContainerMetricsArray(
[]testing.ContainerMetricsDefinition{
testing.ContainerMetricsDefinition{
Name: containerName,
Usage: map[models.AutoScalingPolicyType]int{
models.CPUAutoScalingPolicyType: 500,
models.MemAutoScalingPolicyType: 0,
},
MemScale: 0,
},
},
schedulerName,
)
fakeMetricsClient := testing.CreatePodsMetricsList(containerMetrics, 1, schedulerName)
autoScaler := NewAutoScaler(schedulerName, clientset, fakeMetricsClient)
Expand All @@ -215,6 +218,7 @@ var _ = Describe("AutoScaler", func() {

Context("mem type", func() {
BeforeEach(func() {
containerName = fmt.Sprintf("%s-%s", schedulerName, uuid.NewV4().String())
trigger = &models.ScalingPolicyMetricsTrigger{
Time: 100,
Usage: 70,
Expand All @@ -229,22 +233,22 @@ var _ = Describe("AutoScaler", func() {
Terminating: 0,
}

testing.CreatePod(clientset, "0", "1Gi", schedulerName)
testing.CreatePod(clientset, "0", "1Gi", schedulerName, containerName)
})

It("should return delta", func() {
// scale down
containerMetrics := testing.BuildContainerMetricsArray(
[]testing.ContainerMetricsDefinition{
testing.ContainerMetricsDefinition{
Name: containerName,
Usage: map[models.AutoScalingPolicyType]int{
models.CPUAutoScalingPolicyType: 0,
models.MemAutoScalingPolicyType: 600,
},
MemScale: resource.Mega,
},
},
schedulerName,
)
fakeMetricsClient := testing.CreatePodsMetricsList(containerMetrics, 1, schedulerName)
autoScaler := NewAutoScaler(schedulerName, clientset, fakeMetricsClient)
Expand All @@ -256,14 +260,14 @@ var _ = Describe("AutoScaler", func() {
containerMetrics = testing.BuildContainerMetricsArray(
[]testing.ContainerMetricsDefinition{
testing.ContainerMetricsDefinition{
Name: containerName,
Usage: map[models.AutoScalingPolicyType]int{
models.CPUAutoScalingPolicyType: 0,
models.MemAutoScalingPolicyType: 950,
},
MemScale: resource.Mega,
},
},
schedulerName,
)
fakeMetricsClient = testing.CreatePodsMetricsList(containerMetrics, 1, schedulerName)
autoScaler = NewAutoScaler(schedulerName, clientset, fakeMetricsClient)
Expand All @@ -276,14 +280,14 @@ var _ = Describe("AutoScaler", func() {
containerMetrics := testing.BuildContainerMetricsArray(
[]testing.ContainerMetricsDefinition{
testing.ContainerMetricsDefinition{
Name: containerName,
Usage: map[models.AutoScalingPolicyType]int{
models.CPUAutoScalingPolicyType: 0,
models.MemAutoScalingPolicyType: 500,
},
MemScale: resource.Mega,
},
},
schedulerName,
)
fakeMetricsClient := testing.CreatePodsMetricsList(containerMetrics, 1, schedulerName)
autoScaler := NewAutoScaler(schedulerName, clientset, fakeMetricsClient)
Expand Down
10 changes: 5 additions & 5 deletions migrations/migrations.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 5 additions & 3 deletions testing/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -1074,16 +1074,17 @@ func TransformLegacyInMetricsTrigger(autoScalingInfo *models.AutoScaling) {
type ContainerMetricsDefinition struct {
Usage map[models.AutoScalingPolicyType]int
MemScale resource.Scale
Name string
}

// BuildContainerMetricsArray build an array of container metrics to use on MockCPUAndMemoryMetricsClient
func BuildContainerMetricsArray(containerDefinitions []ContainerMetricsDefinition, schedulerName string) []metricsapi.ContainerMetrics {
func BuildContainerMetricsArray(containerDefinitions []ContainerMetricsDefinition) []metricsapi.ContainerMetrics {
var containerMetricsArr []metricsapi.ContainerMetrics
for _, container := range containerDefinitions {
containerMetricsArr = append(
containerMetricsArr,
metricsapi.ContainerMetrics{
Name: schedulerName,
Name: container.Name,
Usage: v1.ResourceList{
v1.ResourceCPU: *resource.NewMilliQuantity(
int64(container.Usage[models.CPUAutoScalingPolicyType]),
Expand All @@ -1098,11 +1099,12 @@ func BuildContainerMetricsArray(containerDefinitions []ContainerMetricsDefinitio
}

// CreatePod mocks create pod method setting cpu and mem requests
func CreatePod(clientset *fake.Clientset, cpuRequests, memRequests, schedulerName string) {
func CreatePod(clientset *fake.Clientset, cpuRequests, memRequests, schedulerName, containerName string) {
pod := &v1.Pod{
Spec: v1.PodSpec{
Containers: []v1.Container{
{
Name: containerName,
Resources: v1.ResourceRequirements{
Requests: v1.ResourceList{
v1.ResourceCPU: resource.MustParse(cpuRequests),
Expand Down
28 changes: 14 additions & 14 deletions watcher/watcher_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -695,18 +695,18 @@ var _ = Describe("Watcher", func() {
triggerMap[trigger.Type] = triggerSpec{
targetUsagePercent: trigger.Usage,
pointsAboveThresholdPercent: pointsAbove,
limit: trigger.Limit,
time: trigger.Time,
triggerType: trigger.Type,
limit: trigger.Limit,
time: trigger.Time,
triggerType: trigger.Type,
}
}
if _, exists := triggerMap[trigger.Type]; !exists {
triggerMap[trigger.Type] = triggerSpec{
targetUsagePercent: trigger.Usage,
pointsAboveThresholdPercent: pointsAbove,
limit: trigger.Limit,
time: trigger.Time,
triggerType: trigger.Type,
limit: trigger.Limit,
time: trigger.Time,
triggerType: trigger.Type,
}
}
}
Expand All @@ -721,18 +721,18 @@ var _ = Describe("Watcher", func() {
triggerMap[trigger.Type] = triggerSpec{
targetUsagePercent: trigger.Usage,
pointsAboveThresholdPercent: 100 - pointsAbove,
limit: trigger.Limit,
time: trigger.Time,
triggerType: trigger.Type,
limit: trigger.Limit,
time: trigger.Time,
triggerType: trigger.Type,
}
}
if _, exists := triggerMap[trigger.Type]; !exists {
triggerMap[trigger.Type] = triggerSpec{
targetUsagePercent: trigger.Usage,
pointsAboveThresholdPercent: 100 - pointsAbove,
limit: trigger.Limit,
time: trigger.Time,
triggerType: trigger.Type,
limit: trigger.Limit,
time: trigger.Time,
triggerType: trigger.Type,
}
}
down = append(down, triggerMap[trigger.Type])
Expand Down Expand Up @@ -769,13 +769,13 @@ var _ = Describe("Watcher", func() {
containerMetrics := testing.BuildContainerMetricsArray(
[]testing.ContainerMetricsDefinition{
testing.ContainerMetricsDefinition{
Name: configYaml.Name,
Usage: map[models.AutoScalingPolicyType]int{
simSpec.metricTypeToScale: simSpec.currentRawUsage,
},
MemScale: simSpec.memScale,
},
},
configYaml.Name,
)
fakeMetricsClient := testing.CreatePodsMetricsList(containerMetrics, simSpec.roomCount.Available(), configYaml.Name)

Expand Down Expand Up @@ -3427,7 +3427,7 @@ var _ = Describe("Watcher", func() {
err := yaml.Unmarshal([]byte(yamlActive), &configYaml)
Expect(err).NotTo(HaveOccurred())

testing.CreatePod(clientset, "1.0", "1Gi", configYaml.Name)
testing.CreatePod(clientset, "1.0", "1Gi", configYaml.Name, configYaml.Name)
})

// Down
Expand Down

0 comments on commit 24d7a91

Please sign in to comment.