Skip to content

Commit 342612c

Browse files
Merge pull request #78825 from fmcdonal/OSDOCS-9533.1
OSDOCS#9533.1: Updates for preflight cluster upgrades for ROSA Classic (peer review completed through PR: #76632)
2 parents dd1a0f3 + 878748d commit 342612c

6 files changed

+205
-26
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * upgrading/rosa_upgrading/rosa-upgrading-sts.adoc
4+
:_mod-docs-content-type: PROCEDURE
5+
[id="rosa-deleting-cluster-upgrade-cli_{context}"]
6+
= Deleting a ROSA cluster upgrade with the ROSA CLI
7+
8+
You can use either the ROSA CLI (`rosa`) or {cluster-manager} console to delete a scheduled upgrade. This procedure uses the ROSA CLI.
9+
10+
.Procedure
11+
12+
. Verify the cluster update has not started using the following command:
13+
+
14+
[source,terminal]
15+
----
16+
$ rosa list upgrades --cluster=<cluster_name|cluster_id>
17+
----
18+
+
19+
.Example output
20+
[source,terminal]
21+
----
22+
VERSION NOTES
23+
4.15.14 recommended - scheduled for 2024-06-02 15:00 UTC
24+
4.15.13
25+
----
26+
27+
. Delete a scheduled update by running the following command:
28+
+
29+
[source,terminal]
30+
----
31+
$ rosa delete upgrade --cluster=<cluster_name|cluster_id>
32+
----
33+
+
34+
. Confirm the deletion by entering `Yes` at the confirmation prompt.
35+
+
36+
.Example output
37+
[source,terminal]
38+
----
39+
I: Successfully canceled scheduled upgrade on cluster 'my-cluster'
40+
----
41+
42+
You will receive an email notification confirming that the scheduled upgrade has been canceled.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * upgrading/rosa_upgrading/rosa-upgrading-sts.adoc
4+
:_mod-docs-content-type: PROCEDURE
5+
[id="rosa-deleting-cluster-upgrade-ocm_{context}"]
6+
= Deleting a ROSA cluster upgrade with the {cluster-manager} console
7+
8+
You can use the {cluster-manager} console to delete a scheduled upgrade.
9+
10+
.Procedure
11+
12+
. Log in to {cluster-manager-url}.
13+
. Select the cluster with the scheduled upgrade.
14+
. Click the *Settings* tab.
15+
. In the *Update status* pane, click *Cancel this update*.
16+
. Review the update details in the *Cancel update* dialog and click *Cancel this update*.
17+
18+
You will receive an email notification confirming that the scheduled upgrade has been canceled.

modules/rosa-how-upgrades-work.adoc

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
2+
// Module included in the following assemblies:
3+
//
4+
// upgrading/rosa-upgrading-sts.adoc
5+
6+
7+
:_mod-docs-content-type: CONCEPT
8+
[id="rosa-how-upgrades-work_{context}"]
9+
= How ROSA (classic architecture) cluster upgrades work
10+
11+
Upgrades are manually initiated (one-time) or automatically scheduled (recurring). Red{nbsp}Hat Site Reliability Engineers (SREs) monitor upgrade progress and either proactively notify you to take corrective actions or remedy issues encountered.
12+
13+
The Cluster Version Operator (CVO) is the primary component that orchestrates and facilitates the OpenShift Container Platform update process.
14+
15+
The Managed Upgrade Operator (MUO) handles the scheduling, monitoring, and notifications of ROSA (classic architecture) cluster upgrades. The MUO orchestrates the automated in-place cluster upgrades by ensuring the operating conditions are met before and after the upgrade of a managed cluster.
16+
17+
[id="rosa-upgrade-scheduled-time_{context}"]
18+
== Cluster upgrade scheduled time
19+
20+
You can schedule cluster upgrades by setting the scheduled time. This is when the preparation for the cluster upgrade begins with pre-upgrade health checks and additional compute capacity creation. The actual cluster upgrade starts within one hour from the scheduled time. You receive an email notification when the cluster upgrade starts.
21+
22+
The Pre-Health Check (PHC) provides extra protection to ensure the scheduled update proceeds as expected and runs in the following two scenarios:
23+
24+
* If an upgrade is scheduled for more than 2 hours from the current time, the PHC runs and the user is notified if there are any failures. This PHC is in the _New_ phase of the upgrade.
25+
* When the upgrade is immediate or within 2 hours, the PHC runs just before the upgrade begins. This PHC is in the _Upgrading_ phase of the upgrade.
26+
This means that PHC is always run at least one time during the upgrading phase but can also be run additionally in advance if the upgrade is scheduled for more than 2 hours from the current time.
27+
28+
You can observe the status of the cluster upgrade by running the `rosa describe upgrade --cluster=<cluster name|cluster_id>` command in the ROSA CLI (`rosa`).
29+
30+
[id="rosa-cluster-upgrade-overview_{context}"]
31+
== ROSA (classic architecture) upgrade overview
32+
33+
The following are the high-level steps that occur during the ROSA (classic architecture) cluster update:
34+
35+
. Scheduling the upgrade in advance triggers the `PreHealthCheck` and notifies users of any failures that they can then address before the upgrade begins.
36+
. Before the cluster upgrade begins, a cluster health check is performed by the MUO. If the MUO identifies an issue that requires corrective action, you will be notified. Some examples of the cluster health checks that MUO performs include:
37+
** Identifying any Pod Disruption Budgets (PDBs) that can potentially block or delay the update of the nodes.
38+
** Ensuring cluster Operators are available and healthy.
39+
** Ensuring cluster critical alerts are not firing.
40+
. A temporary compute node is created in the cluster to allow for the scheduling of drained pods during the update.
41+
+
42+
[NOTE]
43+
====
44+
The temporary compute node creation does not always happen. For example, if there is no `worker` machine pool, the temporary compute node will not be created. This might happen when a cluster admin deletes the existing `worker` machine pool and creates another `worker` machine pool with a different name or instance type.
45+
====
46+
. The cluster version is set to the target version.
47+
+
48+
[NOTE]
49+
====
50+
In certain situations, an upgrade path can become unavailable since the time the cluster update was requested but before it was completed. In such cases, the upgrade is automatically canceled and a notification is sent. You must pick another target version to request the upgrade.
51+
====
52+
+
53+
. During the upgrade, the control plane components are updated to the new version.
54+
. Next, individual cluster Operators perform update tasks on their domain of the cluster.
55+
. Finally, the MCO updates the system configuration and operating system of every node. During this step, each node is rebooted after successfully draining the workloads running on the node.
56+
.. During the update of each node, workloads are drained, honoring the PDBs. Workloads with PDBs that do not allow disruptions essentially block the draining of the node, increasing the elapsed time for the cluster update.
57+
.. During the update of every node in the cluster, the cluster update waits until the time specified by the _node drain grace period_ to allow for safely draining the workloads. Upon reaching the node drain grace period, the node is forcibly drained to allow for cluster upgrade to progress. You can only configure the node drain grace period before initiating the upgrade and you cannot change it after the cluster upgrade begins.
58+
.. When cluster nodes are updated, the MCO selects one node at a time per machine config pool according to their age, starting with the oldest.

modules/rosa-upgrading-cli-tutorial.adoc

Lines changed: 49 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,12 @@ endif::[]
1515
[id="rosa-upgrading-cli_{context}"]
1616
= Upgrading with the ROSA CLI
1717

18-
You can upgrade a {product-title} (ROSA) cluster manually by using the ROSA CLI (`rosa`).
19-
20-
This method schedules the cluster for an immediate upgrade, if a more recent version is available.
18+
You can use the ROSA CLI (`rosa`) to upgrade a {product-title} (ROSA) cluster either immediately within one hour or at a future time.
2119

2220
.Prerequisites
2321

2422
* You have installed and configured the latest ROSA CLI on your installation host.
23+
* Your {product-title} cluster is in a `Ready` state.
2524
2625
.Procedure
2726

@@ -40,14 +39,14 @@ $ rosa describe cluster --cluster=<cluster_name|cluster_id> <1>
4039
$ rosa list upgrade --cluster=<cluster_name|cluster_id>
4140
----
4241
+
43-
The command returns a list of versions to which the cluster can be upgraded, including a recommended version.
42+
The command returns a list of versions to which the cluster can be upgraded, including a recommended version. The recommendation is based on the conditional update risks. Each known risk might apply to all clusters or only clusters matching certain conditions. Refer to the OpenShift release notes to evaluate, validate and determine the appropriate version to upgrade to.
4443

45-
. To upgrade a cluster to the latest available version, enter the following command:
44+
. To upgrade the cluster to a specified version immediately within the next hour, enter the following command:
4645
+
4746
ifndef::rosa-hcp[]
4847
[source,terminal]
4948
----
50-
$ rosa upgrade cluster --cluster=<cluster_name|cluster_id>
49+
$ rosa upgrade cluster --cluster=<cluster_name|cluster_id> --version <version-id>
5150
----
5251
endif::rosa-hcp[]
5352
ifdef::rosa-hcp[]
@@ -58,9 +57,51 @@ $ rosa upgrade cluster --cluster=<cluster_name|cluster_id> --control-plane
5857
----
5958
endif::rosa-hcp[]
6059
+
61-
The cluster is scheduled for an immediate upgrade. This action can take an hour or longer, depending on your workload configuration, such as pod disruption budgets.
60+
[NOTE]
61+
====
62+
If you are upgrading an AWS Security Token Service (STS) cluster, this command starts an interactive IAM Roles/policies upgrade mode process that verifies the account and operator role policies for the chosen cluster are compatible with the target version of the upgrade. If the policies are not compatible with the chosen upgrade version, the CLI automatically upgrades them in auto mode.
63+
====
64+
+
65+
The cluster is scheduled for an immediate upgrade as denoted by the _Scheduled Time_. The upgrade will begin within one hour from the scheduled time.
66+
+
67+
. Alternatively, to upgrade the cluster at a future time in UTC, enter the following command:
68+
+
69+
[source,terminal]
70+
----
71+
$ rosa upgrade cluster --cluster=<cluster_name|cluster_id> \
72+
--version <version-id> \
73+
--schedule-date yyyy-mm-dd \
74+
--schedule-time HH:mm
75+
----
76+
+
77+
. To customize the grace period for every node to be drained during the cluster upgrade, enter the following command:
78+
+
79+
[source,terminal]
80+
----
81+
$ rosa upgrade cluster --cluster=<cluster_name|cluster_id> \
82+
--version <version-id> \
83+
--node-drain-grace-period 15 minutes
84+
----
85+
+
86+
87+
.Verification
88+
89+
. You can view the status of the upgrade by entering the following command, which shows both the status (scheduled or started) and the scheduled time.
90+
+
91+
[source,terminal]
92+
----
93+
$ rosa list upgrade --cluster=<cluster_name|cluster_id>
94+
----
6295
+
63-
You will receive an email when the upgrade is complete. You can also check the status by running the `rosa describe cluster` command again from the ROSA CLI or view the status in {cluster-manager} console.
96+
.Example output
97+
[source,terminal]
98+
----
99+
VERSION NOTES
100+
4.15.14 recommended - scheduled for 2024-06-02 15:00 UTC
101+
4.15.13
102+
----
103+
104+
You will receive email notifications confirming the scheduling, beginning, and completion of the cluster upgrade.
64105

65106
.Troubleshooting
66107
* Sometimes a scheduled upgrade does not trigger. See link:https://access.redhat.com/solutions/6648291[Upgrade maintenance cancelled] for more information.

modules/rosa-upgrading-manual-ocm.adoc

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,27 @@ endif::[]
99

1010
:_mod-docs-content-type: PROCEDURE
1111
[id="rosa-upgrade-ocm_{context}"]
12-
= Scheduling individual upgrades through the {cluster-manager} console
12+
= Upgrading with the {cluster-manager} console
1313

14-
You can schedule upgrades for a {product-title} cluster manually one time by using {cluster-manager} console.
14+
You can schedule upgrades for a ROSA (classic architecture) cluster manually either one time or on a recurring schedule by using {cluster-manager} console.
1515

1616
.Procedure
1717

1818
. Log in to {cluster-manager-url}.
1919
. Select a cluster to upgrade.
2020
. Click the *Settings* tab.
21-
. In the *Update strategy* pane, select *Individual Updates*.
22-
. Select the version you want to upgrade your cluster to. Recommended cluster upgrades appear in the UI.
23-
. If you select an update version that requires approval, provide an administrator’s acknowledgment and click *Approve and continue*.
21+
. In the *Update strategy* pane, select which type of update you want:
22+
** For individual updates, you can request the upgrade either immediately (to start within an hour) or at a future time.
23+
** For recurring updates, choose a recurring date and time to start the upgrade automatically to the latest x.y.Z (z-stream) version available.
2424
+
25-
. In the *Node draining* pane, select a grace period interval from the list. The grace period enables the nodes to gracefully drain before forcing the pod eviction. The default is *1 hour*.
25+
[IMPORTANT]
26+
====
27+
Recurring updates are applicable only for z-stream updates. Minor version or y-stream updates need to be done manually. You will be notified when a new y-stream update is available.
28+
====
2629
+
27-
[NOTE]
30+
. Optional: In the *Node draining* pane, select a grace period interval from the list. The grace period enables the nodes to gracefully drain before forcing the pod eviction. The default is *1 hour*.
31+
+
32+
[IMPORTANT]
2833
====
2934
You cannot change the node drain grace period after you start the upgrade process.
3035
====
@@ -37,16 +42,21 @@ You cannot change the node drain grace period after you start the upgrade proces
3742
The *Update* button is enabled only when an upgrade is available.
3843
====
3944
+
40-
. In the *Select version* dialog, choose a target upgrade version and click *Next*.
45+
. The *Update cluster* dialog opens. Recommended cluster upgrades appear in the *Select version* pane. Select the version you want to upgrade your cluster to, and click *Next*.
46+
. Optional: For ROSA clusters that use AWS Security Token Service (STS), the account-level and cluster-specific Operator roles might need to be updated, depending on the selected target version.
47+
.. In the ROSA CLI, run the `rosa list account-roles` command to list and verify that the account roles are compatible with the target minor version chosen for the upgrade. If the roles are not compatible, run the `rosa upgrade account-roles` command to upgrade the account roles to the latest OpenShift version.
48+
.. In the ROSA CLI, run the `rosa list operator-roles` command to list and verify that Operator roles associated with the cluster are compatible with the target minor version chosen for the upgrade. If not, run the `rosa upgrade operators-roles` command to upgrade the cluster's Operator roles to the latest OpenShift version.
49+
.. If you select an update version that requires approval, provide an administrator's acknowledgment by typing *Acknowledge* into the field provided, and click *Next*.
4150
. In the *Schedule update* dialog, schedule your cluster upgrade.
4251
+
4352
* To upgrade within an hour, select *Update now* and click *Next*.
4453
* To upgrade at a later time, select *Schedule a different time* and set a time and date for your upgrade. Click *Next* to proceed to the confirmation dialog.
4554
+
4655
. After reviewing the version and schedule summary, select *Confirm update*.
47-
+
48-
The cluster is scheduled for an upgrade to the target version. This action can take an hour or longer, depending on the selected upgrade schedule and your workload configuration, such as pod disruption budgets.
49-
+
56+
. Click *Close* to exit out of the *Update cluster* dialog.
57+
58+
The cluster is scheduled for an upgrade to the target version. This action can take up to an hour, depending on the selected upgrade schedule and your workload configuration, such as pod disruption budgets.
59+
5060
The status is displayed in the *Update status* pane.
5161

5262
.Troubleshooting

upgrading/rosa-upgrading-sts.adoc

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,41 @@
11
:_mod-docs-content-type: ASSEMBLY
22
[id="rosa-upgrading-sts"]
3-
= Upgrading ROSA Classic clusters
3+
= Upgrading ROSA (classic architecture) clusters
44
include::_attributes/attributes-openshift-dedicated.adoc[]
55
:context: rosa-upgrading-sts
66

77
toc::[]
88

9+
Use one of the following methods to upgrade ROSA (classic architecture) clusters:
10+
11+
* Manually through the ROSA CLI (`rosa`) - Start a one-time immediate upgrade or schedule a one-time upgrade for a future date or time.
12+
* Manually through the {cluster-manager} UI - Start a one-time immediate upgrade or schedule a one-time upgrade for a future date or time; or schedule an upgrade window for automatic recurring upgrades whenever a new z-version is available.
13+
914
[id="rosa-lifecycle-policy_{context}"]
1015
== Life cycle policies and planning
1116

1217
To plan an upgrade, review the xref:../rosa_architecture/rosa_policy_service_definition/rosa-life-cycle.adoc#rosa-life-cycle[{product-title} update life cycle]. The life cycle page includes release definitions, support and upgrade requirements, installation policy information and life cycle dates.
1318

14-
Upgrades are manually initiated or automatically scheduled. Red{nbsp}Hat Site Reliability Engineers (SREs) monitor upgrade progress and remedy any issues encountered.
19+
You can use update channels to decide which Red Hat OpenShift Container Platform minor version to update your clusters to. {product-title} supports updates only through the `stable` channel. To learn more about OpenShift update channels and releases, see link:https://docs.openshift.com/container-platform/latest/updating/understanding_updates/understanding-update-channels-release.html[Understanding update channels and releases].
1520

1621
[id="rosa-sts-upgrading-a-cluster-with-sts"]
1722
== Upgrading a ROSA Classic cluster
1823

19-
There are two methods to upgrade Classic {product-title} (ROSA) clusters:
20-
21-
* Individual upgrades through the ROSA CLI (`rosa`)
22-
* Individual upgrades through the {cluster-manager} console
24+
You must upgrade ROSA (classic architecture) clusters using either the ROSA CLI (`rosa`) or the {cluster-manager} console.
2325

2426
[NOTE]
2527
====
26-
When you follow a scheduled upgrade policy, a delay of an hour or more before the upgrade process begins might occur, even if the upgrade is configured to begin immediately. Additionally, the duration of the upgrade might vary based on your workload configuration.
28+
The actual start time of the cluster upgrade will be within one hour of the upgrade schedule time. Additionally, the duration of the upgrade might vary based on your workload configuration.
2729
====
2830

31+
When a ROSA (classic architecture) cluster that uses AWS Security Token Services (STS) is upgraded, the ROSA CLI verifies the account and Operator role policies for the chosen cluster are compatible with the target version of the upgrade. If the policies are compatible, the CLI automatically upgrades the cluster. If the policies are not compatible with the chosen upgrade version, the CLI automatically upgrades IAM policies before upgrading the cluster. When scheduling the upgrade, you give administrative acknowledgment to confirm you have reviewed the changes involved with the upgrade, if required.
32+
33+
include::modules/rosa-how-upgrades-work.adoc[leveloffset=+2]
34+
2935
include::modules/rosa-upgrading-cli-tutorial.adoc[leveloffset=+2]
3036

37+
include::modules/rosa-deleting-cluster-upgrade-cli.adoc[leveloffset=+2]
38+
3139
include::modules/rosa-upgrading-manual-ocm.adoc[leveloffset=+2]
40+
41+
include::modules/rosa-deleting-cluster-upgrade-ocm.adoc[leveloffset=+2]

0 commit comments

Comments
 (0)