1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00

TELCODOCS-2137#Modify generic update advice for Kube API removals in Day 2 Operations

This commit is contained in:
Alexandra Molnar
2025-04-16 11:39:12 +01:00
parent 49668e1267
commit 7a10d84bc5
5 changed files with 93 additions and 66 deletions

View File

@@ -21,6 +21,8 @@ include::modules/telco-update-acknowledging-the-update.adoc[leveloffset=+1]
* xref:../../../updating/preparing_for_updates/updating-cluster-prepare.adoc#kube-api-removals_updating-cluster-prepare[Kubernetes API removals]
* xref:../../../edge_computing/day_2_core_cnf_clusters/updating/telco-update-api.adoc#telco-update-api[Verifying cluster API versions between update versions]
include::modules/telco-update-starting-the-cluster-update.adoc[leveloffset=+1]
[role="_additional-resources"]
@@ -46,6 +48,8 @@ include::modules/telco-update-acknowledging-the-y-stream-release-update.adoc[lev
* xref:../../../updating/preparing_for_updates/updating-cluster-prepare.adoc#updating-cluster-prepare[Preparing to update to {product-title} {product-version}]
* xref:../../../edge_computing/day_2_core_cnf_clusters/updating/telco-update-api.adoc#telco-update-api[Verifying cluster API versions between update versions]
include::modules/telco-update-starting-the-y-stream-control-plane-update.adoc[leveloffset=+1]
include::modules/telco-update-monitoring-second-part-y-update.adoc[leveloffset=+1]

View File

@@ -16,6 +16,8 @@ include::modules/telco-update-acknowledging-the-update.adoc[leveloffset=+1]
* xref:../../../updating/preparing_for_updates/updating-cluster-prepare.adoc#kube-api-removals_updating-cluster-prepare[Kubernetes API removals]
* xref:../../../edge_computing/day_2_core_cnf_clusters/updating/telco-update-api.adoc#telco-update-api[Verifying cluster API versions between update versions]
include::modules/telco-update-starting-the-cluster-update.adoc[leveloffset=+1]
[role="_additional-resources"]

View File

@@ -8,48 +8,5 @@
When you update to all versions from 4.11 and later, you must manually acknowledge that the update can continue.
[IMPORTANT]
====
Before you acknowledge the update, verify that there are no Kubernetes APIs in use that are removed in the version you are updating to.
For example, in {product-title} 4.18, there are no API removals.
See "Kubernetes API removals" for more information.
====
.Procedure
. Run the following command:
+
[source,terminal]
----
$ oc -n openshift-config patch cm admin-acks --patch '{"data":{"ack-<update_version_from>-kube-<kube_api_version>-api-removals-in-<update_version_to>":"true"}}' --type=merge
----
+
where:
+
--
<update_version_from> :: Is the cluster version you are moving from, for example, `4.14`.
<kube_api_version> :: Is kube API version, for example, `1.28`.
<update_version_to> :: Is the cluster version you are moving to, for example, `4.15`.
--
.Verification
* Verify the update.
Run the following command:
+
[source,terminal]
----
$ oc get configmap admin-acks -n openshift-config -o json | jq .data
----
+
.Example output
[source,terminal]
----
{
"ack-4.14-kube-1.28-api-removals-in-4.15": "true",
"ack-4.15-kube-1.29-api-removals-in-4.16": "true"
}
----
+
[NOTE]
====
In this example, the cluster is updated from version 4.14 to 4.15, and then from 4.15 to 4.16 in a Control Plane Only update.
====
// Reused in "telco-update-acknowledging-the-update.adoc" and "telco-update-acknowledging-the-y-stream-release-update.adoc" files
include::snippets/acknowledge-the-update.adoc[]

View File

@@ -9,24 +9,5 @@
When moving between y-stream releases, you must run a patch command to explicitly acknowledge the update.
In the output of the `oc adm upgrade` command, a URL is provided that shows the specific command to run.
[IMPORTANT]
====
Before you acknowledge the update, verify that there are no Kubernetes APIs in use that are removed in the version you are updating to.
For example, in {product-title} 4.18, there are no API removals.
See "Kubernetes API removals" for more information.
====
.Procedure
. Acknowledge the y-stream release upgrade by patching the `admin-acks` config map in the `openshift-config` namespace.
For example, run the following command:
+
[source,terminal]
----
$ oc -n openshift-config patch cm admin-acks --patch '{"data":{"ack-4.15-kube-1.29-api-removals-in-4.16":"true"}}' --type=merge
----
+
.Example output
[source,terminal]
----
configmap/admin-acks patched
----
// Reused in "telco-update-acknowledging-the-update.adoc" and "telco-update-acknowledging-the-y-stream-release-update.adoc" files
include::snippets/acknowledge-the-update.adoc[]

View File

@@ -0,0 +1,83 @@
:_mod-docs-content-type: SNIPPET
[IMPORTANT]
====
Before you acknowledge the update, verify that you are not using any of the Kubernetes APIs that are removed from the version you are updating to.
For example, in {product-title} 4.17, there are no API removals.
See "Kubernetes API removals" for more information.
====
.Prerequisites
* You have verified that APIs for all of the applications running on your cluster are compatible with the next Y-stream release of {product-title}.
For more details about compatibility, see "Verifying cluster API versions between update versions".
.Procedure
* Complete the administrative acknowledgment to start the cluster update by running the following command:
+
--
[source,terminal]
----
$ oc adm upgrade
----
If the cluster update does not complete successfully, more details about the update failure are provided in the `Reason` and `Message` sections.
.Example output
[source,terminal]
----
Cluster version is 4.15.45
Upgradeable=False
Reason: MultipleReasons
Message: Cluster should not be upgraded between minor versions for multiple reasons: AdminAckRequired,ResourceDeletesInProgress
* Kubernetes 1.29 and therefore OpenShift 4.16 remove several APIs which require admin consideration. Please see the knowledge article https://access.redhat.com/articles/7031404 for details and instructions.
* Cluster minor level upgrades are not allowed while resource deletions are in progress; resources=PrometheusRule "openshift-kube-apiserver/kube-apiserver-recording-rules"
ReleaseAccepted=False
Reason: PreconditionChecks
Message: Preconditions failed for payload loaded version="4.16.34" image="quay.io/openshift-release-dev/ocp-release@sha256:41bb08c560f6db5039ccdf242e590e8b23049b5eb31e1c4f6021d1d520b353b8": Precondition "ClusterVersionUpgradeable" failed because of "MultipleReasons": Cluster should not be upgraded between minor versions for multiple reasons: AdminAckRequired,ResourceDeletesInProgress
* Kubernetes 1.29 and therefore OpenShift 4.16 remove several APIs which require admin consideration. Please see the knowledge article https://access.redhat.com/articles/7031404 for details and instructions.
* Cluster minor level upgrades are not allowed while resource deletions are in progress; resources=PrometheusRule "openshift-kube-apiserver/kube-apiserver-recording-rules"
Upstream is unset, so the cluster will use an appropriate default.
Channel: eus-4.16 (available channels: candidate-4.15, candidate-4.16, eus-4.16, fast-4.15, fast-4.16, stable-4.15, stable-4.16)
Recommended updates:
VERSION IMAGE
4.16.34 quay.io/openshift-release-dev/ocp-release@sha256:41bb08c560f6db5039ccdf242e590e8b23049b5eb31e1c4f6021d1d520b353b8
----
[NOTE]
====
In this example, a linked Red{nbsp}Hat Knowledgebase article (link:https://access.redhat.com/articles/7031404[Preparing to upgrade to {product-title} 4.16]) provides more detail about verifying API compatibility between releases.
====
--
.Verification
* Verify the update by running the following command:
+
--
[source,terminal]
----
$ oc get configmap admin-acks -n openshift-config -o json | jq .data
----
.Example output
[source,terminal]
----
{
"ack-4.14-kube-1.28-api-removals-in-4.15": "true",
"ack-4.15-kube-1.29-api-removals-in-4.16": "true"
}
----
[NOTE]
====
In this example, the cluster is updated from version 4.14 to 4.15, and then from 4.15 to 4.16 in a Control Plane Only update.
====
--