diff --git a/extensions/ce/managing-ce.adoc b/extensions/ce/managing-ce.adoc index 1afdf685ad..c28d19b581 100644 --- a/extensions/ce/managing-ce.adoc +++ b/extensions/ce/managing-ce.adoc @@ -13,12 +13,19 @@ After a catalog has been added to your cluster, you have access to the versions, You can manage extensions declaratively from the CLI using custom resources (CRs). +include::modules/olmv1-supported-extensions.adoc[leveloffset=+1] + +[role="_additional-resources"] +.Additional resources +* xref:../../operators/understanding/olm/olm-operatorconditions.adoc#olm-operatorconditions[Operator conditions] + include::modules/olmv1-finding-operators-to-install.adoc[leveloffset=+1] include::modules/olmv1-catalog-queries.adoc[leveloffset=+2] include::modules/olmv1-installing-an-operator.adoc[leveloffset=+1] [role="_additional-resources"] .Additional resources +* xref:../../extensions/ce/managing-ce.adoc#olmv1-supported-extensions_managing-ce[Supported extensions] * xref:../../extensions/ce/upgrade-edges.adoc#olmv1-about-target-versions_upgrade-edges[Example custom resources (CRs) that specify a target version] * xref:../../extensions/ce/upgrade-edges.adoc#olmv1-version-range-support_upgrade-edges[Support for version ranges] @@ -29,4 +36,3 @@ include::modules/olmv1-updating-an-operator.adoc[leveloffset=+1] * xref:../../extensions/ce/upgrade-edges.adoc#upgrade-edges[Upgrade edges] include::modules/olmv1-deleting-an-operator.adoc[leveloffset=+1] - diff --git a/modules/olmv1-installing-an-operator.adoc b/modules/olmv1-installing-an-operator.adoc index 0c4f18b6ba..fbb4aa747d 100644 --- a/modules/olmv1-installing-an-operator.adoc +++ b/modules/olmv1-installing-an-operator.adoc @@ -7,9 +7,7 @@ [id="olmv1-installing-an-operator_{context}"] = Installing a cluster extension from a catalog -{olmv1-first} supports installing cluster extensions, including {olmv0} Operators via the `registry+v1` bundle format, that are scoped to the cluster. You can install an extension from a catalog by creating a custom resource (CR) and applying it to the cluster. - -include::snippets/olmv1-tp-extension-support.adoc[] +You can install an extension from a catalog by creating a custom resource (CR) and applying it to the cluster. {olmv1-first} supports installing cluster extensions, including {olmv0} Operators via the `registry+v1` bundle format, that are scoped to the cluster. For more information, see _Supported extensions_. .Prerequisites @@ -240,7 +238,7 @@ The value of `False` in the `status` field indicates that the `reason: Deprecate `installedBundle.name`:: Displays the name of the bundle installed. `installedBundle.version`:: Displays the version of the bundle installed. `resolvedBundle.name`:: Displays the name of the resolved bundle. -`resolvedBundle.version`:: Displays the verson of the resolved bundle. +`resolvedBundle.version`:: Displays the version of the resolved bundle. ==== . Get information about your bundle deployment by running the following command: diff --git a/modules/olmv1-supported-extensions.adoc b/modules/olmv1-supported-extensions.adoc new file mode 100644 index 0000000000..a9fa040412 --- /dev/null +++ b/modules/olmv1-supported-extensions.adoc @@ -0,0 +1,15 @@ +// Module included in the following assemblies: +// +// * extensions/ce/managing-ce.adoc + +:_mod-docs-content-type: REFERENCE + +[id="olmv1-supported-extensions_{context}"] += Supported extensions + +include::snippets/olmv1-tp-extension-support.adoc[] + +[IMPORTANT] +==== +include::snippets/olmv1-operator-conditions-support.adoc[] +==== diff --git a/snippets/olmv1-operator-conditions-support.adoc b/snippets/olmv1-operator-conditions-support.adoc new file mode 100644 index 0000000000..d3263baa2c --- /dev/null +++ b/snippets/olmv1-operator-conditions-support.adoc @@ -0,0 +1,14 @@ +// Text snippet included in the following modules: +// +// * modules/olmv1-supported-extensions.adoc +// * release_notes/ocp-4-17-release-notes.adoc (enterprise-4.17 branch only) +// * release_notes/ocp-4-16-release-notes.adoc (enterprise-4.16 branch only) +// * release_notes/ocp-4-15-release-notes.adoc (enterprise-4.15 branch only) + +:_mod-docs-content-type: SNIPPET + +{olmv1-first} does not support the `OperatorConditions` API introduced in {olmv0}. + +If an extension relies on only the `OperatorConditions` API to manage updates, the extension might not install correctly. Most extensions that rely on this API fail at start time, but some might fail during reconciliation. + +As a workaround, you can pin your extension to a specific version. When you want to update your extension, consult the extension's documentation to find out when it is safe to pin the extension to a new version. diff --git a/snippets/olmv1-tp-extension-support.adoc b/snippets/olmv1-tp-extension-support.adoc index cf42f82fa3..60be07e523 100644 --- a/snippets/olmv1-tp-extension-support.adoc +++ b/snippets/olmv1-tp-extension-support.adoc @@ -1,19 +1,20 @@ // Text snippet included in the following modules: // -// * modules/olmv1-installing-an-operator.adoc +// * modules/olmv1-supported-extensions.adoc // * release_notes/ocp-4-16-release-notes.adoc (enteprise-4.16 branch only) // * release_notes/ocp-4-15-release-notes.adoc (enteprise-4.15 branch only) :_mod-docs-content-type: SNIPPET -[IMPORTANT] -==== -{olmv1} does not support dependency resolution. If an extension declares dependencies for other APIs or packages, the dependencies must be present on the cluster before you attempt to install the extension. +Currently, {olmv1-first} supports installing cluster extensions that meet all of the following criteria: -Currently, {olmv1} supports the installation of extensions that meet the following criteria: - -* The extension must use the `AllNamespaces` install mode. +* The extension must use the `registry+v1` bundle format introduced in {olmv0}. +* The extension must support installation via the `AllNamespaces` install mode. * The extension must not use webhooks. +* The extension must not declare dependencies by using any of the following file-based catalog properties: -Cluster extensions that use webhooks or that target a single or specified set of namespaces cannot be installed. -==== +** `olm.gvk.required` +** `olm.package.required` +** `olm.constraint` + +{olmv1} checks that the extension you want to install meets these constraints. If the extension that you want to install does not meet these constraints, an error message is printed in the cluster extension's conditions.