Skip to content

Commit c446cd7

Browse files
committed
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.
1 parent d1755a7 commit c446cd7

1 file changed

Lines changed: 2 additions & 9 deletions

File tree

enhancements/update/targeted-update-edge-blocking.md

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,6 @@ type ConditionalUpdate struct {
198198

199199
// conditions represents the observations of the conditional update's
200200
// current status. Known types are:
201-
// * Evaluating, for whether the cluster-version operator will attempt to evaluate any risks[].matchingRules.
202201
// * Recommended, for whether the update is recommended for the current cluster.
203202
// +patchMergeKey=type
204203
// +patchStrategy=merge
@@ -314,12 +313,10 @@ Including edges which are recommended for no clusters under `conditionalEdges` g
314313
### Cluster-version operator support for the enhanced schema
315314

316315
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.
320317
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.
321318

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.
323320
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:
324321

325322
* 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:
535532
or
536533
0 * cluster_infrastructure_provider
537534
conditions:
538-
- lastTransitionTime: 2021-08-28T01:00:00Z
539-
type: Evaluating
540-
status: True
541-
reason: Periodically evaluating risks associated with this update.
542535
- lastTransitionTime: 2021-08-28T01:05:00Z
543536
type: Recommended
544537
status: False

0 commit comments

Comments
 (0)