Skip to content

Support for exponential requeuing time and user supplied requeuing time #263

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CONTROLLER_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.29.50
1.29.51
22 changes: 22 additions & 0 deletions config/crd/bases/mcad.ibm.com_appwrappers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,28 @@ spec:
properties:
minAvailable:
type: integer
requeuing:
description: Specification of the requeuing strategy based on
waiting time
properties:
initialTimeInSeconds:
type: integer
timeInSeconds:
type: integer
default: 300
maxTimeInSeconds:
type: integer
default: 0
growthType:
type: string
default: "exponential"
numRequeuings:
type: integer
default: 0
maxNumRequeuings:
type: integer
default: 0
type: object
nodeSelector:
additionalProperties:
type: string
Expand Down
24 changes: 23 additions & 1 deletion config/crd/bases/mcad.ibm.com_queuejobs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ spec:
type: object
spec:
description: Specification of the desired behavior of a cron job, including
the minAvailable
the minAvailable and the requeuing strategy
properties:
schedulerName:
type: string
Expand All @@ -43,6 +43,28 @@ spec:
properties:
minAvailable:
type: integer
requeuing:
description: Specification of the requeuing strategy based on
waiting time
properties:
initialTimeInSeconds:
type: integer
timeInSeconds:
type: integer
default: 300
maxTimeInSeconds:
type: integer
default: 0
growthType:
type: string
default: "exponential"
numRequeuings:
type: integer
default: 0
maxNumRequeuings:
type: integer
default: 0
type: object
nodeSelector:
additionalProperties:
type: string
Expand Down
22 changes: 22 additions & 0 deletions config/crd/bases/mcad.ibm.com_schedulingspecs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,28 @@ spec:
properties:
minAvailable:
type: integer
requeuing:
description: Specification of the requeuing strategy based on
waiting time
properties:
initialTimeInSeconds:
type: integer
timeInSeconds:
type: integer
default: 300
maxTimeInSeconds:
type: integer
default: 0
growthType:
type: string
default: "exponential"
numRequeuings:
type: integer
default: 0
maxNumRequeuings:
type: integer
default: 0
type: object
nodeSelector:
additionalProperties:
type: string
Expand Down
68 changes: 67 additions & 1 deletion deployment/mcad-controller/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,28 @@ spec:
properties:
minAvailable:
type: integer
requeuing:
description: Specification of the requeuing strategy based on
waiting time
properties:
initialTimeInSeconds:
type: integer
timeInSeconds:
type: integer
default: 300
maxTimeInSeconds:
type: integer
default: 0
growthType:
type: string
default: "exponential"
numRequeuings:
type: integer
default: 0
maxNumRequeuings:
type: integer
default: 0
type: object
nodeSelector:
additionalProperties:
type: string
Expand Down Expand Up @@ -181,7 +203,7 @@ spec:
type: object
spec:
description: Specification of the desired behavior of a cron job, including
the minAvailable
the minAvailable and the requeuing strategy
properties:
schedulerName:
type: string
Expand All @@ -190,6 +212,28 @@ spec:
properties:
minAvailable:
type: integer
requeuing:
description: Specification of the requeuing strategy based on
waiting time
properties:
initialTimeInSeconds:
type: integer
timeInSeconds:
type: integer
default: 300
maxTimeInSeconds:
type: integer
default: 0
growthType:
type: string
default: "exponential"
numRequeuings:
type: integer
default: 0
maxNumRequeuings:
type: integer
default: 0
type: object
nodeSelector:
additionalProperties:
type: string
Expand Down Expand Up @@ -7225,6 +7269,28 @@ spec:
properties:
minAvailable:
type: integer
requeuing:
description: Specification of the requeuing strategy based on
waiting time
properties:
initialTimeInSeconds:
type: integer
timeInSeconds:
type: integer
default: 300
maxTimeInSeconds:
type: integer
default: 0
growthType:
type: string
default: "exponential"
numRequeuings:
type: integer
default: 0
maxNumRequeuings:
type: integer
default: 0
type: object
nodeSelector:
additionalProperties:
type: string
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,28 @@ spec:
properties:
minAvailable:
type: integer
requeuing:
description: Specification of the requeuing strategy based on
waiting time
properties:
initialTimeInSeconds:
type: integer
timeInSeconds:
type: integer
default: 300
maxTimeInSeconds:
type: integer
default: 0
growthType:
type: string
default: "exponential"
numRequeuings:
type: integer
default: 0
maxNumRequeuings:
type: integer
default: 0
type: object
nodeSelector:
additionalProperties:
type: string
Expand Down Expand Up @@ -163,7 +185,7 @@ spec:
type: object
spec:
description: Specification of the desired behavior of a cron job, including
the minAvailable
the minAvailable and the requeuing strategy
properties:
schedulerName:
type: string
Expand All @@ -172,6 +194,28 @@ spec:
properties:
minAvailable:
type: integer
requeuing:
description: Specification of the requeuing strategy based on
waiting time
properties:
initialTimeInSeconds:
type: integer
timeInSeconds:
type: integer
default: 300
maxTimeInSeconds:
type: integer
default: 0
growthType:
type: string
default: "exponential"
numRequeuings:
type: integer
default: 0
maxNumRequeuings:
type: integer
default: 0
type: object
nodeSelector:
additionalProperties:
type: string
Expand Down Expand Up @@ -7198,6 +7242,28 @@ spec:
properties:
minAvailable:
type: integer
requeuing:
description: Specification of the requeuing strategy based on
waiting time
properties:
initialTimeInSeconds:
type: integer
timeInSeconds:
type: integer
default: 300
maxTimeInSeconds:
type: integer
default: 0
growthType:
type: string
default: "exponential"
numRequeuings:
type: int
default: 0
maxNumRequeuings:
type: int
default: 0
type: object
nodeSelector:
additionalProperties:
type: string
Expand Down
10 changes: 10 additions & 0 deletions pkg/apis/controller/v1beta1/schedulingspec.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,16 @@ type SchedulingSpec struct {
type SchedulingSpecTemplate struct {
NodeSelector map[string]string `json:"nodeSelector,omitempty" protobuf:"bytes,1,rep,name=nodeSelector"`
MinAvailable int `json:"minAvailable,omitempty" protobuf:"bytes,2,rep,name=minAvailable"`
Requeuing RequeuingTemplate `json:"requeuing,omitempty" protobuf:"bytes,1,rep,name=requeuing"`
}

type RequeuingTemplate struct {
InitialTimeInSeconds int `json:"initialTimeInSeconds,omitempty" protobuf:"bytes,1,rep,name=initialTimeInSeconds"`
TimeInSeconds int `json:"timeInSeconds,omitempty" protobuf:"bytes,2,rep,name=timeInSeconds"`
MaxTimeInSeconds int `json:"maxTimeInSeconds,omitempty" protobuf:"bytes,3,rep,name=maxTimeInSeconds"`
GrowthType string `json:"growthType,omitempty" protobuf:"bytes,4,rep,name=growthType"`
NumRequeuings int `json:"numRequeuings,omitempty" protobuf:"bytes,5,rep,name=numRequeuings"`
MaxNumRequeuings int `json:"maxNumRequeuings,omitempty" protobuf:"bytes,6,rep,name=maxNumRequeuings"`
}

// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
Expand Down
Loading