mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-08 11:38:15 +00:00
Fix panic if there are more terminating pods than active pods
Co-authored-by: Aldo Culquicondor <1299064+alculquicondor@users.noreply.github.com>
This commit is contained in:
parent
d22e315c4a
commit
7a1ac18bc8
@ -1490,7 +1490,7 @@ func (jm *Controller) manageJob(ctx context.Context, job *batch.Job, jobCtx *syn
|
||||
}
|
||||
}
|
||||
|
||||
rmAtLeast := active + terminating - wantActive
|
||||
rmAtLeast := active - wantActive
|
||||
if rmAtLeast < 0 {
|
||||
rmAtLeast = 0
|
||||
}
|
||||
|
@ -357,9 +357,10 @@ func TestControllerSyncJob(t *testing.T) {
|
||||
jobPodReplacementPolicy: true,
|
||||
terminatingPods: 1,
|
||||
expectedTerminating: ptr.To[int32](1),
|
||||
expectedPodPatches: 2,
|
||||
expectedDeletions: 1,
|
||||
expectedFailed: 1,
|
||||
// Removes finalizer and deletes one failed pod
|
||||
expectedPodPatches: 1,
|
||||
expectedFailed: 1,
|
||||
expectedActive: 1,
|
||||
},
|
||||
"WQ job: recreate pods when terminating or failed": {
|
||||
parallelism: 1,
|
||||
@ -375,7 +376,20 @@ func TestControllerSyncJob(t *testing.T) {
|
||||
expectedPodPatches: 2,
|
||||
expectedFailed: 2,
|
||||
},
|
||||
|
||||
"more terminating pods than parallelism": {
|
||||
parallelism: 1,
|
||||
completions: 1,
|
||||
backoffLimit: 6,
|
||||
activePods: 2,
|
||||
failedPods: 0,
|
||||
terminatingPods: 4,
|
||||
podReplacementPolicy: podReplacementPolicy(batch.Failed),
|
||||
jobPodReplacementPolicy: true,
|
||||
expectedTerminating: ptr.To[int32](4),
|
||||
expectedActive: 1,
|
||||
expectedDeletions: 1,
|
||||
expectedPodPatches: 1,
|
||||
},
|
||||
"too few active pods and active back-off": {
|
||||
parallelism: 1,
|
||||
completions: 1,
|
||||
|
Loading…
Reference in New Issue
Block a user