Maintenance Window for Helm Controller Upgrades #1004
Replies: 2 comments
-
This is similar in spirit to #959 – it's hard to design a feature such as this into the spec in a way that does not contradict itself. Reconciliation is either "suspended" or "not suspended" now, which makes it easy to understand why your changes were not reconciled... there is just one place to look. Why isn't my change reconciled? Because the reconciliation is suspended, we plaster this information all over in status so you can't miss it. What would the reconciliation status be when the current time based on config is outside of the maintenance window? "Suspended" doesn't quite capture enough information IMHO, your change will be deployed (but not until the maintenance window.) So similarly, "why was my change reconciled when the repository has recorded that reconciliation as suspended?" Your proposal has the edge here, since it would at least be enumerated in a spec "reconciliations can happen during this window" but it still complicates things. It would be good to provide a single change that covers all these use cases, rather than solve each use case as a one-off. Adding a way to force reconciliations as suggested in #959 seems to be more "against the grain" than the maintenance window idea you proposed here, because it would not be reflected in the deployment spec and there would be no way to retroactively explain how a deployment was processed when the reconciliation was suspended. But if a proposed update along these lines can only handle one use case and not the other, it seems like an incomplete design. |
Beta Was this translation helpful? Give feedback.
-
Please see this proposal: #870 (comment) |
Beta Was this translation helpful? Give feedback.
-
I was wondering what your thoughts on introducing a concept of maintenance window would be?
The implementation would be very simple: skip upgrade on reconciliation unless
time.Now()
is inspec.upgrade.mantanenceWindow.from
-spec.upgrade.mantanenceWindow.to
interval. This would be very helpful for less disrupting upgrades.Beta Was this translation helpful? Give feedback.
All reactions