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
@@ -277,16 +278,11 @@ Like dependencies, subscription constraints have preference as well. OLM will ch
277
278
278
279
Within a namespace, no two operators may come from the same package.
279
280
280
-
281
-
#### Operator Minimization
282
-
283
-
In the case that there is more than one valid solution, the solution that installs the fewest operators is preferred.
284
-
285
281
## Best Practices
286
282
287
-
### Depend on APIs
283
+
### Either depend on APIs or a specific version range of operators
288
284
289
-
Operators may add or remove APIs at any time - always specify an `olm.gvk` dependency on any APIs your operator requires.
285
+
Operators may add or remove APIs at any time - always specify an `olm.gvk` dependency on any APIs your operator requires. The exception to this is if you are specifying `olm.packageVersion` constraints instead. See [Caveats](#caveats) for more information.
290
286
291
287
### Set a minimum version
292
288
@@ -336,13 +332,13 @@ dependencies:
336
332
version: v1beta2
337
333
```
338
334
339
-
It would be possible, but unlikely, for OLM to satisfy this with two operators: one that provides `EtcdCluster` and one that has version `>3.1.0`. However, because of [Operator Minimization](#operator-minimization), this will only happen if there does not exist any operator that does satisfy both constraints.
335
+
It would be possiblefor OLM to satisfy this with two operators: one that provides `EtcdCluster` and one that has version `>3.1.0`. Whether that happens, or whether an operator is selected that satisfies both constraints, depends on the ordering that potential options are visited. This [order is well-defined](#understanding-preferences) and can be reasoned about, but to be on the safe side, operators should stick to one mechanism or the other.
340
336
341
-
A future release of OLM will support compound constraints.
337
+
A future release of OLM will support compound constraints. When that happens, this guidance will change.
342
338
343
339
### Cross-Namespace Compatibility
344
340
345
-
OLM performs dependency resolution at the namespace scope. It is possible to get into an update deadlock if updating an operator in one namespace would be an issue for an operator in another namespace, and vice-versa.
341
+
OLM performs dependency resolution at the namespace scope. It is possible to get into an update deadlock if updating an operator in one namespace would be an issue for an operator in another namespace, and vice-versa.
0 commit comments