1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/olm-dependency-resolution-examples.adoc
2020-12-10 09:14:15 -07:00

39 lines
1.1 KiB
Plaintext

// Module included in the following assemblies:
//
// * operators/understanding/olm/olm-understanding-dependency-resolution.adoc
[id="olm-dependency-resolution-examples_{context}"]
= Example dependency resolution scenarios
In the following examples, a _provider_ is an Operator which "owns" a CRD or API service.
[discrete]
=== Example: Deprecating dependent APIs
A and B are APIs (CRDs):
* The provider of A depends on B.
* The provider of B has a subscription.
* The provider of B updates to provide C but deprecates B.
This results in:
* B no longer has a provider.
* A no longer works.
This is a case OLM prevents with its upgrade strategy.
[discrete]
=== Example: Version deadlock
A and B are APIs:
* The provider of A requires B.
* The provider of B requires A.
* The provider of A updates to (provide A2, require B2) and deprecate A.
* The provider of B updates to (provide B2, require A2) and deprecate B.
If OLM attempts to update A without simultaneously updating B, or vice-versa, it is unable to progress to new versions of the Operators, even though a new compatible set can be found.
This is another case OLM prevents with its upgrade strategy.