1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-06 06:46:26 +01:00
Files
openshift-docs/modules/olm-dependency-resolution-examples.adoc
2020-10-13 20:48:21 +00:00

42 lines
1.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 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
APIService.
[discrete]
=== Example: Deprecating dependent APIs
A and B are APIs (e.g., CRDs):
* A's provider depends on B.
* Bs provider has a Subscription.
* Bs provider 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:
* A's provider requires B.
* B's provider requires A.
* A's provider updates to (provide A2, require B2) and deprecate A.
* B's provider 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.