Skip to content

Commit 7a10d84

Browse files
committed
TELCODOCS-2137#Modify generic update advice for Kube API removals in Day 2 Operations
1 parent 49668e1 commit 7a10d84

5 files changed

+93
-66
lines changed

edge_computing/day_2_core_cnf_clusters/updating/telco-update-completing-the-control-plane-only-update.adoc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ include::modules/telco-update-acknowledging-the-update.adoc[leveloffset=+1]
2121

2222
* xref:../../../updating/preparing_for_updates/updating-cluster-prepare.adoc#kube-api-removals_updating-cluster-prepare[Kubernetes API removals]
2323
24+
* xref:../../../edge_computing/day_2_core_cnf_clusters/updating/telco-update-api.adoc#telco-update-api[Verifying cluster API versions between update versions]
25+
2426
include::modules/telco-update-starting-the-cluster-update.adoc[leveloffset=+1]
2527

2628
[role="_additional-resources"]
@@ -46,6 +48,8 @@ include::modules/telco-update-acknowledging-the-y-stream-release-update.adoc[lev
4648

4749
* xref:../../../updating/preparing_for_updates/updating-cluster-prepare.adoc#updating-cluster-prepare[Preparing to update to {product-title} {product-version}]
4850
51+
* xref:../../../edge_computing/day_2_core_cnf_clusters/updating/telco-update-api.adoc#telco-update-api[Verifying cluster API versions between update versions]
52+
4953
include::modules/telco-update-starting-the-y-stream-control-plane-update.adoc[leveloffset=+1]
5054

5155
include::modules/telco-update-monitoring-second-part-y-update.adoc[leveloffset=+1]

edge_computing/day_2_core_cnf_clusters/updating/telco-update-completing-the-y-stream-update.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ include::modules/telco-update-acknowledging-the-update.adoc[leveloffset=+1]
1616

1717
* xref:../../../updating/preparing_for_updates/updating-cluster-prepare.adoc#kube-api-removals_updating-cluster-prepare[Kubernetes API removals]
1818
19+
* xref:../../../edge_computing/day_2_core_cnf_clusters/updating/telco-update-api.adoc#telco-update-api[Verifying cluster API versions between update versions]
20+
1921
include::modules/telco-update-starting-the-cluster-update.adoc[leveloffset=+1]
2022

2123
[role="_additional-resources"]

modules/telco-update-acknowledging-the-update.adoc

Lines changed: 2 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -8,48 +8,5 @@
88

99
When you update to all versions from 4.11 and later, you must manually acknowledge that the update can continue.
1010

11-
[IMPORTANT]
12-
====
13-
Before you acknowledge the update, verify that there are no Kubernetes APIs in use that are removed in the version you are updating to.
14-
For example, in {product-title} 4.18, there are no API removals.
15-
See "Kubernetes API removals" for more information.
16-
====
17-
18-
.Procedure
19-
. Run the following command:
20-
+
21-
[source,terminal]
22-
----
23-
$ 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
24-
----
25-
+
26-
where:
27-
+
28-
--
29-
<update_version_from> :: Is the cluster version you are moving from, for example, `4.14`.
30-
<kube_api_version> :: Is kube API version, for example, `1.28`.
31-
<update_version_to> :: Is the cluster version you are moving to, for example, `4.15`.
32-
--
33-
34-
.Verification
35-
* Verify the update.
36-
Run the following command:
37-
+
38-
[source,terminal]
39-
----
40-
$ oc get configmap admin-acks -n openshift-config -o json | jq .data
41-
----
42-
+
43-
.Example output
44-
[source,terminal]
45-
----
46-
{
47-
"ack-4.14-kube-1.28-api-removals-in-4.15": "true",
48-
"ack-4.15-kube-1.29-api-removals-in-4.16": "true"
49-
}
50-
----
51-
+
52-
[NOTE]
53-
====
54-
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.
55-
====
11+
// Reused in "telco-update-acknowledging-the-update.adoc" and "telco-update-acknowledging-the-y-stream-release-update.adoc" files
12+
include::snippets/acknowledge-the-update.adoc[]

modules/telco-update-acknowledging-the-y-stream-release-update.adoc

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,5 @@
99
When moving between y-stream releases, you must run a patch command to explicitly acknowledge the update.
1010
In the output of the `oc adm upgrade` command, a URL is provided that shows the specific command to run.
1111

12-
[IMPORTANT]
13-
====
14-
Before you acknowledge the update, verify that there are no Kubernetes APIs in use that are removed in the version you are updating to.
15-
For example, in {product-title} 4.18, there are no API removals.
16-
See "Kubernetes API removals" for more information.
17-
====
18-
19-
.Procedure
20-
. Acknowledge the y-stream release upgrade by patching the `admin-acks` config map in the `openshift-config` namespace.
21-
For example, run the following command:
22-
+
23-
[source,terminal]
24-
----
25-
$ oc -n openshift-config patch cm admin-acks --patch '{"data":{"ack-4.15-kube-1.29-api-removals-in-4.16":"true"}}' --type=merge
26-
----
27-
+
28-
.Example output
29-
[source,terminal]
30-
----
31-
configmap/admin-acks patched
32-
----
12+
// Reused in "telco-update-acknowledging-the-update.adoc" and "telco-update-acknowledging-the-y-stream-release-update.adoc" files
13+
include::snippets/acknowledge-the-update.adoc[]

snippets/acknowledge-the-update.adoc

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
:_mod-docs-content-type: SNIPPET
2+
[IMPORTANT]
3+
====
4+
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.
5+
For example, in {product-title} 4.17, there are no API removals.
6+
See "Kubernetes API removals" for more information.
7+
====
8+
9+
.Prerequisites
10+
11+
* 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}.
12+
For more details about compatibility, see "Verifying cluster API versions between update versions".
13+
14+
.Procedure
15+
16+
* Complete the administrative acknowledgment to start the cluster update by running the following command:
17+
+
18+
--
19+
[source,terminal]
20+
----
21+
$ oc adm upgrade
22+
----
23+
24+
If the cluster update does not complete successfully, more details about the update failure are provided in the `Reason` and `Message` sections.
25+
26+
.Example output
27+
[source,terminal]
28+
----
29+
Cluster version is 4.15.45
30+
31+
Upgradeable=False
32+
33+
Reason: MultipleReasons
34+
Message: Cluster should not be upgraded between minor versions for multiple reasons: AdminAckRequired,ResourceDeletesInProgress
35+
* 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.
36+
* Cluster minor level upgrades are not allowed while resource deletions are in progress; resources=PrometheusRule "openshift-kube-apiserver/kube-apiserver-recording-rules"
37+
38+
ReleaseAccepted=False
39+
40+
Reason: PreconditionChecks
41+
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
42+
* 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.
43+
* Cluster minor level upgrades are not allowed while resource deletions are in progress; resources=PrometheusRule "openshift-kube-apiserver/kube-apiserver-recording-rules"
44+
45+
Upstream is unset, so the cluster will use an appropriate default.
46+
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)
47+
48+
Recommended updates:
49+
50+
VERSION IMAGE
51+
4.16.34 quay.io/openshift-release-dev/ocp-release@sha256:41bb08c560f6db5039ccdf242e590e8b23049b5eb31e1c4f6021d1d520b353b8
52+
----
53+
54+
[NOTE]
55+
====
56+
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.
57+
====
58+
--
59+
60+
.Verification
61+
62+
* Verify the update by running the following command:
63+
+
64+
--
65+
[source,terminal]
66+
----
67+
$ oc get configmap admin-acks -n openshift-config -o json | jq .data
68+
----
69+
70+
.Example output
71+
[source,terminal]
72+
----
73+
{
74+
"ack-4.14-kube-1.28-api-removals-in-4.15": "true",
75+
"ack-4.15-kube-1.29-api-removals-in-4.16": "true"
76+
}
77+
----
78+
79+
[NOTE]
80+
====
81+
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.
82+
====
83+
--

0 commit comments

Comments
 (0)