mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 12:46:18 +01:00
69 lines
3.1 KiB
Plaintext
69 lines
3.1 KiB
Plaintext
:_mod-docs-content-type: ASSEMBLY
|
|
[id="update-paths"]
|
|
= Update paths
|
|
include::_attributes/common-attributes.adoc[]
|
|
:context: update-paths
|
|
|
|
toc::[]
|
|
|
|
When determining _update paths_, also known as upgrade edges or upgrade constraints, for an installed cluster extension, {olmv1-first} supports {olmv0} semantics starting in {product-title} 4.16. This support follows the behavior from {olmv0}, including `replaces`, `skips`, and `skipRange` directives, with a few noted differences.
|
|
|
|
By supporting {olmv0} semantics, {olmv1} accurately reflects the update graph from catalogs.
|
|
|
|
.Differences from original {olmv0} implementation
|
|
|
|
* If there are multiple possible successors, {olmv1} behavior differs in the following ways:
|
|
** In {olmv0}, the successor closest to the channel head is chosen.
|
|
** In {olmv1}, the successor with the highest semantic version (semver) is chosen.
|
|
|
|
* Consider the following set of file-based catalog (FBC) channel entries:
|
|
+
|
|
[source,yaml]
|
|
----
|
|
# ...
|
|
- name: example.v3.0.0
|
|
skips: ["example.v2.0.0"]
|
|
- name: example.v2.0.0
|
|
skipRange: >=1.0.0 <2.0.0
|
|
----
|
|
+
|
|
If `1.0.0` is installed, {olmv1} behavior differs in the following ways:
|
|
+
|
|
--
|
|
** {olmv0-caps} will not detect an update path to `v2.0.0` because `v2.0.0` is skipped and not on the `replaces` chain.
|
|
** {olmv1} will detect the update path because {olmv1} does not have a concept of a `replaces` chain. {olmv1} finds all entries that have a `replace`, `skip`, or `skipRange` value that covers the currently installed version.
|
|
--
|
|
|
|
[role="_additional-resources"]
|
|
.Additional resources
|
|
* xref:../../operators/understanding/olm/olm-workflow.adoc#olm-upgrades_olm-workflow[{olmv0-caps} upgrade semantics]
|
|
|
|
include::modules/olmv1-version-range-support.adoc[leveloffset=+1]
|
|
|
|
include::modules/olmv1-version-range-comparisons.adoc[leveloffset=+1]
|
|
|
|
include::modules/olmv1-about-target-versions.adoc[leveloffset=+1]
|
|
|
|
include::modules/olmv1-forcing-an-update-or-rollback.adoc[leveloffset=+1]
|
|
|
|
[role="_additional-resources"]
|
|
.Additional resources
|
|
* xref:../../extensions/ce/update-paths.adoc#olmv1-version-range-support_update-paths[Support for version ranges]
|
|
// after #82245 merges, add an xref to _Creating a service account to manage cluster extensions_
|
|
|
|
include::modules/olmv1-ocp-compat.adoc[leveloffset=+1]
|
|
|
|
[role="_additional-resources"]
|
|
.Additional resources
|
|
* link:https://kubernetes.io/docs/reference/using-api/deprecation-guide/[Deprecated API Migration Guide] (Kubernetes documentation)
|
|
|
|
|
|
include::modules/olmv1-blocked-cluster-updates.adoc[leveloffset=+2]
|
|
|
|
[role="_additional-resources"]
|
|
.Additional resources
|
|
* xref:../../updating/understanding_updates/intro-to-updates.adoc#understanding_clusteroperator_conditiontypes_understanding-openshift-updates[Understanding cluster Operator condition types]
|
|
* xref:../../operators/admin/olm-upgrading-operators.adoc#olm-upgrading-operators[Upgrading installed Operators]
|
|
* xref:../../operators/admin/olm-deleting-operators-from-cluster.adoc#olm-deleting-operators-from-a-cluster[Deleting Operators from a cluster]
|
|
* xref:../../operators/operator-reference.adoc#cluster-operators-ref-olmv1_operator-reference[Cluster Operators reference -> {olmv1-first} Operator]
|