Skip to content

Commit 10f768c

Browse files
Merge pull request #383 from ironcladlou/probe-mutations
Bug 1847672: Expand supported set of probe field mutations
2 parents 2ddb4a2 + 8186626 commit 10f768c

File tree

2 files changed

+96
-0
lines changed

2 files changed

+96
-0
lines changed

lib/resourcemerge/core.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,10 @@ func ensureProbePtr(modified *bool, existing **corev1.Probe, required *corev1.Pr
164164

165165
func ensureProbe(modified *bool, existing *corev1.Probe, required corev1.Probe) {
166166
setInt32(modified, &existing.InitialDelaySeconds, required.InitialDelaySeconds)
167+
setInt32(modified, &existing.TimeoutSeconds, required.TimeoutSeconds)
168+
setInt32(modified, &existing.PeriodSeconds, required.PeriodSeconds)
169+
setInt32(modified, &existing.SuccessThreshold, required.SuccessThreshold)
170+
setInt32(modified, &existing.FailureThreshold, required.FailureThreshold)
167171

168172
ensureProbeHandler(modified, &existing.Handler, required.Handler)
169173
}

lib/resourcemerge/core_test.go

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,98 @@ func TestEnsurePodSpec(t *testing.T) {
359359
},
360360
},
361361
},
362+
{
363+
name: "modify container readiness probe",
364+
existing: corev1.PodSpec{
365+
Containers: []corev1.Container{
366+
{
367+
Name: "test",
368+
ReadinessProbe: &corev1.Probe{
369+
InitialDelaySeconds: 1,
370+
TimeoutSeconds: 2,
371+
PeriodSeconds: 3,
372+
SuccessThreshold: 4,
373+
FailureThreshold: 5,
374+
},
375+
},
376+
},
377+
},
378+
input: corev1.PodSpec{
379+
Containers: []corev1.Container{
380+
{
381+
Name: "test",
382+
ReadinessProbe: &corev1.Probe{
383+
InitialDelaySeconds: 7,
384+
TimeoutSeconds: 8,
385+
PeriodSeconds: 9,
386+
SuccessThreshold: 10,
387+
FailureThreshold: 11,
388+
},
389+
},
390+
},
391+
},
392+
expectedModified: true,
393+
expected: corev1.PodSpec{
394+
Containers: []corev1.Container{
395+
{
396+
Name: "test",
397+
ReadinessProbe: &corev1.Probe{
398+
InitialDelaySeconds: 7,
399+
TimeoutSeconds: 8,
400+
PeriodSeconds: 9,
401+
SuccessThreshold: 10,
402+
FailureThreshold: 11,
403+
},
404+
},
405+
},
406+
},
407+
},
408+
{
409+
name: "modify container liveness probe",
410+
existing: corev1.PodSpec{
411+
Containers: []corev1.Container{
412+
{
413+
Name: "test",
414+
LivenessProbe: &corev1.Probe{
415+
InitialDelaySeconds: 1,
416+
TimeoutSeconds: 2,
417+
PeriodSeconds: 3,
418+
SuccessThreshold: 4,
419+
FailureThreshold: 5,
420+
},
421+
},
422+
},
423+
},
424+
input: corev1.PodSpec{
425+
Containers: []corev1.Container{
426+
{
427+
Name: "test",
428+
LivenessProbe: &corev1.Probe{
429+
InitialDelaySeconds: 7,
430+
TimeoutSeconds: 8,
431+
PeriodSeconds: 9,
432+
SuccessThreshold: 10,
433+
FailureThreshold: 11,
434+
},
435+
},
436+
},
437+
},
438+
expectedModified: true,
439+
expected: corev1.PodSpec{
440+
Containers: []corev1.Container{
441+
{
442+
Name: "test",
443+
LivenessProbe: &corev1.Probe{
444+
InitialDelaySeconds: 7,
445+
TimeoutSeconds: 8,
446+
PeriodSeconds: 9,
447+
SuccessThreshold: 10,
448+
FailureThreshold: 11,
449+
},
450+
},
451+
},
452+
},
453+
},
362454
}
363455

364456
for _, test := range tests {

0 commit comments

Comments
 (0)