GREP-291: OnDelete update strategy for PodCliqueSet#403
GREP-291: OnDelete update strategy for PodCliqueSet#403renormalize wants to merge 7 commits intoai-dynamo:mainfrom
OnDelete update strategy for PodCliqueSet#403Conversation
|
In a discussion with the maintainers, they had expressed the following opinions:
@unmarshall @sanjaychatterjee @Ronkahn21 @gflarity had suggested the above. Please refrain from reviews before I adapt the GREP with the above suggestions, thanks. |
Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
9bbebcf to
1aed557
Compare
OnDelete update strategy for standalone PodCliques.OnDelete update strategy for PodCliqueSet
|
|
||
| Introduce a new `spec.updateStrategy` field in the `PodCliqueSet` specification. This field will accept an `UpdateStrategy` object that defines how replicas should be updated when templates change. | ||
|
|
||
| Two update strategy types will be supported: |
There was a problem hiding this comment.
This is fine for now since the default RollingRecreate strategy is the currently implemented strategy. At some point, we also need to introduce a rolling recreate strategy that rolls entire PCS replicas. How would you name that, PCSRecreate? Just trying to ensure we name these strategies correctly. cc @nvrohanv
Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
sanjaychatterjee
left a comment
There was a problem hiding this comment.
Mostly looks good to me. Not convinced about the need for the extra condition.
Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
sanjaychatterjee
left a comment
There was a problem hiding this comment.
Looks good to me. Thanks!
* Remove (unnecessary) API changes proposed to `PodClique` and `PodCliqueScalingGroup` * Rename `*RollingUpdateProgress` status fields to `*UpdateProgress` status fields to more generically track update information. Signed-off-by: Saketh Kalaga <saketh.kalaga@sap.com>
|
After a proof of concept implementation, I had second thoughts about certain fields. I've reworked the GREP based on these opinions.
|
What type of PR is this?
What this PR does / why we need it:
/kind feature
/kind api
Introduces GREP-291.
#291 mentions certain realities of performing day 2 operations on a PodCliqueSet. The author mentions changing
nodeAffinityin the pod template of the PodCliqueSet to ensure that pods are not scheduled onto failed nodes.However, changing
nodeAffinitywill cause all pods of the PodClique to roll, which is undesirable since there might only be a small subset of pods that were on failed nodes. Therefore, to avoid the rolling of all pods in the PodClique, taking inspiration from Kubernetes StatefulSet, I would like to introduce anOnDeleteupdate strategy for PodCliqueSet, where users can then update thenodeAffinity, and avoid rolling of all the pods in a PodClique.Which issue(s) this PR fixes:
Fixes #291
Special notes for your reviewer:
N/A
Does this PR introduce a API change?
Additional documentation e.g., enhancement proposals, usage docs, etc.: