Skip to content

Commit e4a8436

Browse files
authored
Merge pull request #103 from awgreene/update-csv-toggle-enhancement
Update olm-toggle-copied-csvs enhancement
2 parents a162765 + f96f847 commit e4a8436

File tree

1 file changed

+7
-19
lines changed

1 file changed

+7
-19
lines changed

enhancements/olm-toggle-copied-csvs.md

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -75,23 +75,9 @@ That is, all CSVs installed by a given `Subscription` share an `Operator` resour
7575

7676
Orphaned CSVs are CSVs that were installed via a `Subscription` that no longer exists. Since the lifetimes -- i.e. the period of existence on a cluster -- of `Operator` resources aren't directly tied to the lifetimes of the resources that triggered their generation, the `Operator` resource(s) associated with Orphaned CSVs will continue to exist _after_ a `Subscription` is deleted. If that `Operator` resource is deleted explicitly, OLM will generate another as per the rules [outlined above](#operator-cardinality).
7777

78-
#### Copied RBAC
79-
80-
In addition to operator discoverability, Copied CSVs also serve as convienient vehicles for the garbage collection of Copied RBAC. These are resources that are copied along with the CSV to provide the operator access to a namespace. To support the loss of Copied CSVs, the RBAC copying logic in OLM will be extended to write additional owner references from copied resources to the related Operator resource.
81-
82-
#### The Toggle
83-
84-
A feature toggle will be added to control OLM's use of Copied CSVs. When enabled (toggled on), OLM will delete all existing Copied CSVs and will not generate any more. When disabled (toggled off), OLM will generate Copied CSVs (much like it does today).
85-
86-
When toggled (on then off), OLM will recreate any missing Copied CSVs and reassociate the owner references of related copied resources with them (i.e. the inverse operation of the one described in the [Copied RBAC](#copied-rbac) section).
87-
88-
The toggle will be disabled by default.
89-
90-
The toggle can be set from a command-line option on the olm-operator binary.
91-
9278
#### Config CRD w/ Toggle
9379

94-
A novel cluster-scoped `OLMConfig` CRD will be added to OLM. The resource type it defines will allow users to apply a limited set of configurations to the OLM instance on their cluster by creating or modifying a singlton (of that type) on the cluster.
80+
A novel cluster-scoped `OLMConfig` CRD will be added to OLM. The resource type it defines will allow users to apply a limited set of configurations to the OLM instance on their cluster by creating or modifying a singleton (of that type) on the cluster.
9581

9682
The name of that singleton will be `cluster` and OLM will ignore all other `OLMConfig` resources on a cluster.
9783

@@ -106,12 +92,14 @@ metadata:
10692
name: cluster
10793
spec:
10894
features:
109-
'disable-copied-csvs': true
95+
disableCopiedCSVs: true
11096
```
11197
112-
When both the [command-line option](#the-toggle) _and_ `cluster` resource toggle field are present, the latter takes precedence.
98+
When enabled (toggled on), OLM will delete all existing Copied CSVs and will not generate any more. When disabled (toggled off), OLM will generate Copied CSVs (much like it does today).
99+
100+
When toggled (on then off), OLM will recreate any missing Copied CSVs.
113101
114-
When the `cluster` resource isn't present, OLM uses its default settings (in this case, Copied CSVs would be **on** by default).
102+
The toggle will be disabled by default. When the `cluster` resource isn't present, OLM uses its default settings (in this case, Copied CSVs would be **on** by default).
115103

116104
### Risks and Mitigations
117105

@@ -122,7 +110,7 @@ When the `cluster` resource isn't present, OLM uses its default settings (in thi
122110
**Mitigations:**
123111

124112
- Reduce number of impacted users by limiting toggle to operators installed in `AllNamespace` mode only; that is, `Single` and `MultiNamespace` mode Copied CSVs will not be affected by the toggle.
125-
- OLM fires an alert in all affected namespaces on startup when Copied CSVs are disabled
113+
- When Copied CSVs are disabled, an event will be created in the namespace for each `AllNamespace` mode CSV.
126114
- Docs suggest admins notify their cluster tenants of installed operators directly; i.e. email, slack, etc
127115

128116
#### OpenShift Console Integration

0 commit comments

Comments
 (0)