diff --git a/pkg/apis/batch/v1/defaults.go b/pkg/apis/batch/v1/defaults.go index eeaed2f699d..b409ae692b7 100644 --- a/pkg/apis/batch/v1/defaults.go +++ b/pkg/apis/batch/v1/defaults.go @@ -59,17 +59,6 @@ func SetDefaults_Job(obj *batchv1.Job) { if obj.Spec.Suspend == nil { obj.Spec.Suspend = ptr.To(false) } - if obj.Spec.PodFailurePolicy != nil { - for _, rule := range obj.Spec.PodFailurePolicy.Rules { - if rule.OnPodConditions != nil { - for i, pattern := range rule.OnPodConditions { - if pattern.Status == "" { - rule.OnPodConditions[i].Status = corev1.ConditionTrue - } - } - } - } - } if utilfeature.DefaultFeatureGate.Enabled(features.JobPodReplacementPolicy) { if obj.Spec.PodReplacementPolicy == nil { if obj.Spec.PodFailurePolicy != nil { @@ -98,3 +87,9 @@ func SetDefaults_CronJob(obj *batchv1.CronJob) { obj.Spec.FailedJobsHistoryLimit = ptr.To[int32](1) } } + +func SetDefaults_PodFailurePolicyOnPodConditionsPattern(obj *batchv1.PodFailurePolicyOnPodConditionsPattern) { + if obj.Status == "" { + obj.Status = corev1.ConditionTrue + } +} diff --git a/pkg/apis/batch/v1/zz_generated.defaults.go b/pkg/apis/batch/v1/zz_generated.defaults.go index eb6ce80a1f9..bf466084c26 100644 --- a/pkg/apis/batch/v1/zz_generated.defaults.go +++ b/pkg/apis/batch/v1/zz_generated.defaults.go @@ -41,6 +41,15 @@ func RegisterDefaults(scheme *runtime.Scheme) error { func SetObjectDefaults_CronJob(in *batchv1.CronJob) { SetDefaults_CronJob(in) + if in.Spec.JobTemplate.Spec.PodFailurePolicy != nil { + for i := range in.Spec.JobTemplate.Spec.PodFailurePolicy.Rules { + a := &in.Spec.JobTemplate.Spec.PodFailurePolicy.Rules[i] + for j := range a.OnPodConditions { + b := &a.OnPodConditions[j] + SetDefaults_PodFailurePolicyOnPodConditionsPattern(b) + } + } + } apiscorev1.SetDefaults_PodSpec(&in.Spec.JobTemplate.Spec.Template.Spec) for i := range in.Spec.JobTemplate.Spec.Template.Spec.Volumes { a := &in.Spec.JobTemplate.Spec.Template.Spec.Volumes[i] @@ -350,6 +359,15 @@ func SetObjectDefaults_CronJobList(in *batchv1.CronJobList) { func SetObjectDefaults_Job(in *batchv1.Job) { SetDefaults_Job(in) + if in.Spec.PodFailurePolicy != nil { + for i := range in.Spec.PodFailurePolicy.Rules { + a := &in.Spec.PodFailurePolicy.Rules[i] + for j := range a.OnPodConditions { + b := &a.OnPodConditions[j] + SetDefaults_PodFailurePolicyOnPodConditionsPattern(b) + } + } + } apiscorev1.SetDefaults_PodSpec(&in.Spec.Template.Spec) for i := range in.Spec.Template.Spec.Volumes { a := &in.Spec.Template.Spec.Volumes[i] diff --git a/pkg/apis/batch/v1beta1/zz_generated.defaults.go b/pkg/apis/batch/v1beta1/zz_generated.defaults.go index 7e517afd0c1..8cd7be23148 100644 --- a/pkg/apis/batch/v1beta1/zz_generated.defaults.go +++ b/pkg/apis/batch/v1beta1/zz_generated.defaults.go @@ -25,6 +25,7 @@ import ( batchv1beta1 "k8s.io/api/batch/v1beta1" v1 "k8s.io/api/core/v1" runtime "k8s.io/apimachinery/pkg/runtime" + batchv1 "k8s.io/kubernetes/pkg/apis/batch/v1" corev1 "k8s.io/kubernetes/pkg/apis/core/v1" ) @@ -39,6 +40,15 @@ func RegisterDefaults(scheme *runtime.Scheme) error { func SetObjectDefaults_CronJob(in *batchv1beta1.CronJob) { SetDefaults_CronJob(in) + if in.Spec.JobTemplate.Spec.PodFailurePolicy != nil { + for i := range in.Spec.JobTemplate.Spec.PodFailurePolicy.Rules { + a := &in.Spec.JobTemplate.Spec.PodFailurePolicy.Rules[i] + for j := range a.OnPodConditions { + b := &a.OnPodConditions[j] + batchv1.SetDefaults_PodFailurePolicyOnPodConditionsPattern(b) + } + } + } corev1.SetDefaults_PodSpec(&in.Spec.JobTemplate.Spec.Template.Spec) for i := range in.Spec.JobTemplate.Spec.Template.Spec.Volumes { a := &in.Spec.JobTemplate.Spec.Template.Spec.Volumes[i]