Skip to content
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

feat: rolling update for Pipeline Vertex #2040

Merged
merged 7 commits into from
Sep 9, 2024
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
21 changes: 17 additions & 4 deletions api/json-schema/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -17785,6 +17785,10 @@
"udf": {
"$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.UDF"
},
"updateStrategy": {
"$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.UpdateStrategy",
"description": "The strategy to use to replace existing pods with new ones."
},
"volumes": {
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.Volume"
Expand Down Expand Up @@ -20608,6 +20612,10 @@
"udf": {
"$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.UDF"
},
"updateStrategy": {
"$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.UpdateStrategy",
"description": "The strategy to use to replace existing pods with new ones."
},
"volumes": {
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.Volume"
Expand Down Expand Up @@ -20639,11 +20647,11 @@
"x-kubernetes-patch-strategy": "merge"
},
"currentHash": {
"description": "If not empty, indicates the version of the Vertex used to generate Pods in the sequence [0,currentReplicas).",
"description": "If not empty, indicates the current version of the Vertex used to generate Pods.",
"type": "string"
},
"currentReplicas": {
"description": "The number of Pods created by the controller from the Vertex version indicated by currentHash.",
"desiredReplicas": {
"description": "The number of desired replicas.",
"format": "int64",
"type": "integer"
},
Expand Down Expand Up @@ -20679,9 +20687,14 @@
"type": "string"
},
"updateHash": {
"description": "If not empty, indicates the version of the Vertx used to generate Pods in the sequence [replicas-updatedReplicas,replicas)",
"description": "If not empty, indicates the updated version of the Vertex used to generate Pods.",
"type": "string"
},
"updatedReadyReplicas": {
"description": "The number of ready Pods created by the controller from the Vertex version indicated by updateHash.",
"format": "int64",
"type": "integer"
},
"updatedReplicas": {
"description": "The number of Pods created by the controller from the Vertex version indicated by updateHash.",
"format": "int64",
Expand Down
21 changes: 17 additions & 4 deletions api/openapi-spec/swagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -17793,6 +17793,10 @@
"udf": {
"$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.UDF"
},
"updateStrategy": {
"description": "The strategy to use to replace existing pods with new ones.",
"$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.UpdateStrategy"
},
"volumes": {
"type": "array",
"items": {
Expand Down Expand Up @@ -20590,6 +20594,10 @@
"udf": {
"$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.UDF"
},
"updateStrategy": {
"description": "The strategy to use to replace existing pods with new ones.",
"$ref": "#/definitions/io.numaproj.numaflow.v1alpha1.UpdateStrategy"
},
"volumes": {
"type": "array",
"items": {
Expand Down Expand Up @@ -20617,11 +20625,11 @@
"x-kubernetes-patch-strategy": "merge"
},
"currentHash": {
"description": "If not empty, indicates the version of the Vertex used to generate Pods in the sequence [0,currentReplicas).",
"description": "If not empty, indicates the current version of the Vertex used to generate Pods.",
"type": "string"
},
"currentReplicas": {
"description": "The number of Pods created by the controller from the Vertex version indicated by currentHash.",
"desiredReplicas": {
"description": "The number of desired replicas.",
"type": "integer",
"format": "int64"
},
Expand Down Expand Up @@ -20657,9 +20665,14 @@
"type": "string"
},
"updateHash": {
"description": "If not empty, indicates the version of the Vertx used to generate Pods in the sequence [replicas-updatedReplicas,replicas)",
"description": "If not empty, indicates the updated version of the Vertex used to generate Pods.",
"type": "string"
},
"updatedReadyReplicas": {
"description": "The number of ready Pods created by the controller from the Vertex version indicated by updateHash.",
"type": "integer",
"format": "int64"
},
"updatedReplicas": {
"description": "The number of Pods created by the controller from the Vertex version indicated by updateHash.",
"type": "integer",
Expand Down
2 changes: 1 addition & 1 deletion config/advanced-install/minimal-crds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ spec:
- jsonPath: .status.phase
name: Phase
type: string
- jsonPath: .spec.replicas
- jsonPath: .status.desiredReplicas
name: Desired
type: string
- jsonPath: .status.replicas
Expand Down
17 changes: 17 additions & 0 deletions config/base/crds/full/numaflow.numaproj.io_pipelines.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9037,6 +9037,23 @@ spec:
- window
type: object
type: object
updateStrategy:
default:
rollingUpdate:
maxUnavailable: 25%
type: RollingUpdate
properties:
rollingUpdate:
properties:
maxUnavailable:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
type: object
type:
type: string
type: object
volumes:
items:
properties:
Expand Down
24 changes: 22 additions & 2 deletions config/base/crds/full/numaflow.numaproj.io_vertices.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ spec:
- jsonPath: .status.phase
name: Phase
type: string
- jsonPath: .spec.replicas
- jsonPath: .status.desiredReplicas
name: Desired
type: string
- jsonPath: .status.replicas
Expand Down Expand Up @@ -4701,6 +4701,23 @@ spec:
- window
type: object
type: object
updateStrategy:
default:
rollingUpdate:
maxUnavailable: 25%
type: RollingUpdate
properties:
rollingUpdate:
properties:
maxUnavailable:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
type: object
type:
type: string
type: object
volumes:
items:
properties:
Expand Down Expand Up @@ -5486,7 +5503,7 @@ spec:
type: array
currentHash:
type: string
currentReplicas:
desiredReplicas:
format: int32
type: integer
lastScaledAt:
Expand Down Expand Up @@ -5515,6 +5532,9 @@ spec:
type: string
updateHash:
type: string
updatedReadyReplicas:
format: int32
type: integer
updatedReplicas:
format: int32
type: integer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ spec:
- jsonPath: .status.phase
name: Phase
type: string
- jsonPath: .spec.replicas
- jsonPath: .status.desiredReplicas
name: Desired
type: string
- jsonPath: .status.replicas
Expand Down
41 changes: 39 additions & 2 deletions config/install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17310,6 +17310,23 @@ spec:
- window
type: object
type: object
updateStrategy:
default:
rollingUpdate:
maxUnavailable: 25%
type: RollingUpdate
properties:
rollingUpdate:
properties:
maxUnavailable:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
type: object
type:
type: string
type: object
volumes:
items:
properties:
Expand Down Expand Up @@ -18168,7 +18185,7 @@ spec:
- jsonPath: .status.phase
name: Phase
type: string
- jsonPath: .spec.replicas
- jsonPath: .status.desiredReplicas
name: Desired
type: string
- jsonPath: .status.replicas
Expand Down Expand Up @@ -22848,6 +22865,23 @@ spec:
- window
type: object
type: object
updateStrategy:
default:
rollingUpdate:
maxUnavailable: 25%
type: RollingUpdate
properties:
rollingUpdate:
properties:
maxUnavailable:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
type: object
type:
type: string
type: object
volumes:
items:
properties:
Expand Down Expand Up @@ -23633,7 +23667,7 @@ spec:
type: array
currentHash:
type: string
currentReplicas:
desiredReplicas:
format: int32
type: integer
lastScaledAt:
Expand Down Expand Up @@ -23662,6 +23696,9 @@ spec:
type: string
updateHash:
type: string
updatedReadyReplicas:
format: int32
type: integer
updatedReplicas:
format: int32
type: integer
Expand Down
41 changes: 39 additions & 2 deletions config/namespace-install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17310,6 +17310,23 @@ spec:
- window
type: object
type: object
updateStrategy:
default:
rollingUpdate:
maxUnavailable: 25%
type: RollingUpdate
properties:
rollingUpdate:
properties:
maxUnavailable:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
type: object
type:
type: string
type: object
volumes:
items:
properties:
Expand Down Expand Up @@ -18168,7 +18185,7 @@ spec:
- jsonPath: .status.phase
name: Phase
type: string
- jsonPath: .spec.replicas
- jsonPath: .status.desiredReplicas
name: Desired
type: string
- jsonPath: .status.replicas
Expand Down Expand Up @@ -22848,6 +22865,23 @@ spec:
- window
type: object
type: object
updateStrategy:
default:
rollingUpdate:
maxUnavailable: 25%
type: RollingUpdate
properties:
rollingUpdate:
properties:
maxUnavailable:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
type: object
type:
type: string
type: object
volumes:
items:
properties:
Expand Down Expand Up @@ -23633,7 +23667,7 @@ spec:
type: array
currentHash:
type: string
currentReplicas:
desiredReplicas:
format: int32
type: integer
lastScaledAt:
Expand Down Expand Up @@ -23662,6 +23696,9 @@ spec:
type: string
updateHash:
type: string
updatedReadyReplicas:
format: int32
type: integer
updatedReplicas:
format: int32
type: integer
Expand Down
Loading
Loading