Skip to content

Commit

Permalink
fix: when ParallelPodManagementConcurrency is nil, scaling down to 0 …
Browse files Browse the repository at this point in the history
…fails (#7948)

Signed-off-by: Liang Deng <[email protected]>
  • Loading branch information
YTGhost authored Aug 8, 2024
1 parent 1bccc47 commit a22856f
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 1 deletion.
2 changes: 1 addition & 1 deletion pkg/controller/instanceset/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ func GetPodNameSetFromInstanceSetCondition(its *workloads.InstanceSet, condition
// if concurrency is nil, concurrency will be treated as 100%.
func CalculateConcurrencyReplicas(concurrency *intstr.IntOrString, replicas int) (int, error) {
if concurrency == nil {
return replicas, nil
return integer.IntMax(replicas, 1), nil
}

// 'roundUp=true' will ensure at least 1 pod is reserved if concurrency > "0%" and replicas > 0.
Expand Down
14 changes: 14 additions & 0 deletions pkg/controller/instanceset/utils_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,20 @@ var _ = Describe("utils test", func() {
concurrencyReplicas, err = CalculateConcurrencyReplicas(concurrent, replicas)
Expect(err).Should(BeNil())
Expect(concurrencyReplicas).Should(Equal(10))

By("concurrent is nil, replicas = 10")
replicas = 10
concurrent = nil
concurrencyReplicas, err = CalculateConcurrencyReplicas(concurrent, replicas)
Expect(err).Should(BeNil())
Expect(concurrencyReplicas).Should(Equal(10))

By("concurrent is nil, replicas = 0")
replicas = 0
concurrent = nil
concurrencyReplicas, err = CalculateConcurrencyReplicas(concurrent, replicas)
Expect(err).Should(BeNil())
Expect(concurrencyReplicas).Should(Equal(1))
})
})
})

0 comments on commit a22856f

Please sign in to comment.