You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
enhancements/update/targeted-update-edge-blocking: Drop Evaluating
Following up on 6af8d09
(enhancements/update/targeted-update-edge-blocking: Update after API
landed, 2021-09-20, #910), with more changes to align this enhancement
with the actual implementation.
We never implemented Evaluating, because Recommended=Unknown means
we're trying (and failing) to figure out if some of the target's risks
apply to the cluster.
And:
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinItems=1
// +listType=atomic
// +required
MatchingRules []ClusterCondition `json:"matchingRules"`
means that empty matchingRules is not possible, as previously discussed around:
Mitigating that "where did that edge go?" confusion in the
required-property alternative, David expects graph-admins to be
keeping watch over enough ClusterVersion content...
in the alternatives section of the enhancement.
Copy file name to clipboardExpand all lines: enhancements/update/targeted-update-edge-blocking.md
+2-9Lines changed: 2 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -198,7 +198,6 @@ type ConditionalUpdate struct {
198
198
199
199
// conditions represents the observations of the conditional update's
200
200
// current status. Known types are:
201
-
// * Evaluating, for whether the cluster-version operator will attempt to evaluate any risks[].matchingRules.
202
201
// * Recommended, for whether the update is recommended for the current cluster.
203
202
// +patchMergeKey=type
204
203
// +patchStrategy=merge
@@ -314,12 +313,10 @@ Including edges which are recommended for no clusters under `conditionalEdges` g
314
313
### Cluster-version operator support for the enhanced schema
315
314
316
315
The cluster-version operator will learn to parse [`conditionalEdges`](#enhanced-cincinnati-json-representation) into [`conditionalUpdates`](#enhanced-clusterversion-representation).
317
-
For `conditionalUpdates` entries where each `risks` entry contains at least one recognized `matchingRules` entry, the operator will set the `Evaluating` condition to `True`.
318
-
Otherwise the `Evaluating` condition will be set to `False`, and the `Recommended` condition can be immediately set to `False` (if there are no `matchingRules` entries at all) or `Unknown` (if there are unrecognized `matchingRules` entries).
319
-
`edges` will continue to go straight into `availableUpdates`.
316
+
The `Recommended` condition can be immediately set to `Unknown` until the `matchingRules` for all the update's risks have been evaluated.
320
317
The operator will log an error if the same target is included in both `edges` and `conditionalEdges`, but will prefer the `conditionalEdges` entry in that case.
321
318
322
-
Additionally, the operator will continually re-evaluate the blocking conditionals in `conditionalUpdates` and update `conditionalUpdates[].risks` accordingly.
319
+
Additionally, the operator will continually re-evaluate the blocking conditionals in `conditionalUpdates` and update `conditionalUpdates[].conditions` accordingly.
323
320
The timing of the evaluation and freshness are largely internal details, but to avoid [consuming excessive monitoring resources](#malicious-conditions) and because [the rules should be based on slowly-changing state](#clusters-moving-into-the-vulnerable-state-after-updating), the operator will handle polling with the following restrictions:
324
321
325
322
* The cluster-version operator will cache polling results for each query, so a single query which is used in evaluating multiple risks over multiple conditional update targets will only be evaluated once per round.
@@ -535,10 +532,6 @@ status:
535
532
or
536
533
0 * cluster_infrastructure_provider
537
534
conditions:
538
-
- lastTransitionTime: 2021-08-28T01:00:00Z
539
-
type: Evaluating
540
-
status: True
541
-
reason: Periodically evaluating risks associated with this update.
0 commit comments