mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-10 21:50:05 +00:00
Merge pull request #45789 from zhangxiaoyu-zidif/vars-cronjob-sheduledjob-strategy
Automatic merge from submit-queue (batch tested with PRs 45070, 45821, 45732, 45494, 45789) Rename vars scheduledJob to cronJob **What this PR does / why we need it**: Rename vars scheduledJob to cronJob **Special notes for your reviewer**: refer to #45480 **Release note**: ```release-note NONE ```
This commit is contained in:
@@ -33,91 +33,91 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/apis/batch/validation"
|
"k8s.io/kubernetes/pkg/apis/batch/validation"
|
||||||
)
|
)
|
||||||
|
|
||||||
// scheduledJobStrategy implements verification logic for Replication Controllers.
|
// cronJobStrategy implements verification logic for Replication Controllers.
|
||||||
type scheduledJobStrategy struct {
|
type cronJobStrategy struct {
|
||||||
runtime.ObjectTyper
|
runtime.ObjectTyper
|
||||||
names.NameGenerator
|
names.NameGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
// Strategy is the default logic that applies when creating and updating CronJob objects.
|
// Strategy is the default logic that applies when creating and updating CronJob objects.
|
||||||
var Strategy = scheduledJobStrategy{api.Scheme, names.SimpleNameGenerator}
|
var Strategy = cronJobStrategy{api.Scheme, names.SimpleNameGenerator}
|
||||||
|
|
||||||
// DefaultGarbageCollectionPolicy returns Orphan because that was the default
|
// DefaultGarbageCollectionPolicy returns Orphan because that was the default
|
||||||
// behavior before the server-side garbage collection was implemented.
|
// behavior before the server-side garbage collection was implemented.
|
||||||
func (scheduledJobStrategy) DefaultGarbageCollectionPolicy() rest.GarbageCollectionPolicy {
|
func (cronJobStrategy) DefaultGarbageCollectionPolicy() rest.GarbageCollectionPolicy {
|
||||||
return rest.OrphanDependents
|
return rest.OrphanDependents
|
||||||
}
|
}
|
||||||
|
|
||||||
// NamespaceScoped returns true because all scheduled jobs need to be within a namespace.
|
// NamespaceScoped returns true because all scheduled jobs need to be within a namespace.
|
||||||
func (scheduledJobStrategy) NamespaceScoped() bool {
|
func (cronJobStrategy) NamespaceScoped() bool {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
// PrepareForCreate clears the status of a scheduled job before creation.
|
// PrepareForCreate clears the status of a scheduled job before creation.
|
||||||
func (scheduledJobStrategy) PrepareForCreate(ctx genericapirequest.Context, obj runtime.Object) {
|
func (cronJobStrategy) PrepareForCreate(ctx genericapirequest.Context, obj runtime.Object) {
|
||||||
scheduledJob := obj.(*batch.CronJob)
|
cronJob := obj.(*batch.CronJob)
|
||||||
scheduledJob.Status = batch.CronJobStatus{}
|
cronJob.Status = batch.CronJobStatus{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// PrepareForUpdate clears fields that are not allowed to be set by end users on update.
|
// PrepareForUpdate clears fields that are not allowed to be set by end users on update.
|
||||||
func (scheduledJobStrategy) PrepareForUpdate(ctx genericapirequest.Context, obj, old runtime.Object) {
|
func (cronJobStrategy) PrepareForUpdate(ctx genericapirequest.Context, obj, old runtime.Object) {
|
||||||
newCronJob := obj.(*batch.CronJob)
|
newCronJob := obj.(*batch.CronJob)
|
||||||
oldCronJob := old.(*batch.CronJob)
|
oldCronJob := old.(*batch.CronJob)
|
||||||
newCronJob.Status = oldCronJob.Status
|
newCronJob.Status = oldCronJob.Status
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validate validates a new scheduled job.
|
// Validate validates a new scheduled job.
|
||||||
func (scheduledJobStrategy) Validate(ctx genericapirequest.Context, obj runtime.Object) field.ErrorList {
|
func (cronJobStrategy) Validate(ctx genericapirequest.Context, obj runtime.Object) field.ErrorList {
|
||||||
scheduledJob := obj.(*batch.CronJob)
|
cronJob := obj.(*batch.CronJob)
|
||||||
return validation.ValidateCronJob(scheduledJob)
|
return validation.ValidateCronJob(cronJob)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Canonicalize normalizes the object after validation.
|
// Canonicalize normalizes the object after validation.
|
||||||
func (scheduledJobStrategy) Canonicalize(obj runtime.Object) {
|
func (cronJobStrategy) Canonicalize(obj runtime.Object) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (scheduledJobStrategy) AllowUnconditionalUpdate() bool {
|
func (cronJobStrategy) AllowUnconditionalUpdate() bool {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
// AllowCreateOnUpdate is false for scheduled jobs; this means a POST is needed to create one.
|
// AllowCreateOnUpdate is false for scheduled jobs; this means a POST is needed to create one.
|
||||||
func (scheduledJobStrategy) AllowCreateOnUpdate() bool {
|
func (cronJobStrategy) AllowCreateOnUpdate() bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
// ValidateUpdate is the default update validation for an end user.
|
// ValidateUpdate is the default update validation for an end user.
|
||||||
func (scheduledJobStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime.Object) field.ErrorList {
|
func (cronJobStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime.Object) field.ErrorList {
|
||||||
return validation.ValidateCronJob(obj.(*batch.CronJob))
|
return validation.ValidateCronJob(obj.(*batch.CronJob))
|
||||||
}
|
}
|
||||||
|
|
||||||
type scheduledJobStatusStrategy struct {
|
type cronJobStatusStrategy struct {
|
||||||
scheduledJobStrategy
|
cronJobStrategy
|
||||||
}
|
}
|
||||||
|
|
||||||
var StatusStrategy = scheduledJobStatusStrategy{Strategy}
|
var StatusStrategy = cronJobStatusStrategy{Strategy}
|
||||||
|
|
||||||
func (scheduledJobStatusStrategy) PrepareForUpdate(ctx genericapirequest.Context, obj, old runtime.Object) {
|
func (cronJobStatusStrategy) PrepareForUpdate(ctx genericapirequest.Context, obj, old runtime.Object) {
|
||||||
newJob := obj.(*batch.CronJob)
|
newJob := obj.(*batch.CronJob)
|
||||||
oldJob := old.(*batch.CronJob)
|
oldJob := old.(*batch.CronJob)
|
||||||
newJob.Spec = oldJob.Spec
|
newJob.Spec = oldJob.Spec
|
||||||
}
|
}
|
||||||
|
|
||||||
func (scheduledJobStatusStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime.Object) field.ErrorList {
|
func (cronJobStatusStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime.Object) field.ErrorList {
|
||||||
return field.ErrorList{}
|
return field.ErrorList{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CronJobToSelectableFields returns a field set that represents the object for matching purposes.
|
// CronJobToSelectableFields returns a field set that represents the object for matching purposes.
|
||||||
func CronJobToSelectableFields(scheduledJob *batch.CronJob) fields.Set {
|
func CronJobToSelectableFields(cronJob *batch.CronJob) fields.Set {
|
||||||
return generic.ObjectMetaFieldsSet(&scheduledJob.ObjectMeta, true)
|
return generic.ObjectMetaFieldsSet(&cronJob.ObjectMeta, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetAttrs returns labels and fields of a given object for filtering purposes.
|
// GetAttrs returns labels and fields of a given object for filtering purposes.
|
||||||
func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, error) {
|
func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, error) {
|
||||||
scheduledJob, ok := obj.(*batch.CronJob)
|
cronJob, ok := obj.(*batch.CronJob)
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, nil, fmt.Errorf("Given object is not a scheduled job.")
|
return nil, nil, fmt.Errorf("Given object is not a scheduled job.")
|
||||||
}
|
}
|
||||||
return labels.Set(scheduledJob.ObjectMeta.Labels), CronJobToSelectableFields(scheduledJob), nil
|
return labels.Set(cronJob.ObjectMeta.Labels), CronJobToSelectableFields(cronJob), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// MatchCronJob is the filter used by the generic etcd backend to route
|
// MatchCronJob is the filter used by the generic etcd backend to route
|
||||||
|
Reference in New Issue
Block a user