Skip to content

Commit d991500

Browse files
committed
OSDOCS#12138: Supported OCP versions for hosted clusters
1 parent fe01850 commit d991500

7 files changed

+265
-10
lines changed

hosted_control_planes/hcp-updating.adoc

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,21 @@ include::modules/hcp-updating-requirements.adoc[leveloffset=+1]
1616
* xref:../updating/updating_a_cluster/updating-cluster-cli.adoc#updating-cluster-cli[Updating a cluster using the CLI]
1717
* xref:../operators/admin/olm-upgrading-operators.adoc#olm-upgrading-operators[Updating installed Operators]
1818
19+
include::modules/hcp-get-ocp-channel.adoc[leveloffset=+1]
20+
21+
include::modules/hcp-get-upgrade-versions.adoc[leveloffset=+1]
22+
1923
// Updates for the hosted cluster
2024
include::modules/hcp-updates-hosted-cluster.adoc[leveloffset=+1]
2125

2226
// Updates for node pools
2327
include::modules/hcp-updates-node-pools.adoc[leveloffset=+1]
2428

2529
// Updating node pools for hosted control planes
26-
include::modules/updating-node-pools-for-hcp.adoc[leveloffset=+1]
30+
include::modules/hcp-update-node-pools.adoc[leveloffset=+1]
31+
32+
// Updating an ocp release image in a hosted cluster
33+
include::modules/hcp-update-ocp-hc.adoc[leveloffset=+1]
2734

28-
// Updating a hosted cluster
29-
include::modules/updating-hosted-cluster.adoc[leveloffset=+1]
35+
// Updating a hosted cluster by using the mce console
36+
include::modules/hcp-update-using-mce-console.adoc[leveloffset=+1]

modules/hcp-get-ocp-channel.adoc

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * hosted_control_planes/hcp-updating.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="hcp-get-ocp-channel_{context}"]
7+
= Setting channels in a hosted cluster
8+
9+
You can see available updates in the `HostedCluster.Status` field of the `HostedCluster` custom resource (CR).
10+
11+
The available updates are not fetched from the Cluster Version Operator (CVO) of a hosted cluster. The list of the available updates can be different from the available updates from the following fields of the `HostedCluster` custom resource (CR):
12+
13+
* `status.version.availableUpdates`
14+
* `status.version.conditionalUpdates`
15+
16+
The initial `HostedCluster` CR does not have any information in the `status.version.availableUpdates` and `status.version.conditionalUpdates` fields. After you set the `spec.channel` field to the stable {product-title} release version, the HyperShift Operator reconciles the `HostedCluster` CR and updates the `status.version` field with the available and conditional updates.
17+
18+
See the following example of the `HostedCluster` CR that contains the channel configuration:
19+
20+
[source,yaml]
21+
----
22+
spec:
23+
autoscaling: {}
24+
channel: stable-4.y <1>
25+
clusterID: d6d42268-7dff-4d37-92cf-691bd2d42f41
26+
configuration: {}
27+
controllerAvailabilityPolicy: SingleReplica
28+
dns:
29+
baseDomain: dev11.red-chesterfield.com
30+
privateZoneID: Z0180092I0DQRKL55LN0
31+
publicZoneID: Z00206462VG6ZP0H2QLWK
32+
----
33+
<1> Replace `<4.y>` with the {product-title} release version you specified in `spec.release`. For example, if you set the `spec.release` to `ocp-release:4.16.4-multi`, you must set `spec.channel` to `stable-4.16`.
34+
35+
After you configure the channel in the `HostedCluster` CR, to view the output of the `status.version.availableUpdates` and `status.version.conditionalUpdates` fields, run the following command:
36+
37+
[source,terminal]
38+
----
39+
$ oc get -n <hosted_cluster_namespace> hostedcluster <hosted_cluster_name> -o yaml
40+
----
41+
42+
.Example output
43+
[source,yaml]
44+
----
45+
version:
46+
availableUpdates:
47+
- channels:
48+
- candidate-4.16
49+
- candidate-4.17
50+
- eus-4.16
51+
- fast-4.16
52+
- stable-4.16
53+
image: quay.io/openshift-release-dev/ocp-release@sha256:b7517d13514c6308ae16c5fd8108133754eb922cd37403ed27c846c129e67a9a
54+
url: https://access.redhat.com/errata/RHBA-2024:6401
55+
version: 4.16.11
56+
- channels:
57+
- candidate-4.16
58+
- candidate-4.17
59+
- eus-4.16
60+
- fast-4.16
61+
- stable-4.16
62+
image: quay.io/openshift-release-dev/ocp-release@sha256:d08e7c8374142c239a07d7b27d1170eae2b0d9f00ccf074c3f13228a1761c162
63+
url: https://access.redhat.com/errata/RHSA-2024:6004
64+
version: 4.16.10
65+
- channels:
66+
- candidate-4.16
67+
- candidate-4.17
68+
- eus-4.16
69+
- fast-4.16
70+
- stable-4.16
71+
image: quay.io/openshift-release-dev/ocp-release@sha256:6a80ac72a60635a313ae511f0959cc267a21a89c7654f1c15ee16657aafa41a0
72+
url: https://access.redhat.com/errata/RHBA-2024:5757
73+
version: 4.16.9
74+
- channels:
75+
- candidate-4.16
76+
- candidate-4.17
77+
- eus-4.16
78+
- fast-4.16
79+
- stable-4.16
80+
image: quay.io/openshift-release-dev/ocp-release@sha256:ea624ae7d91d3f15094e9e15037244679678bdc89e5a29834b2ddb7e1d9b57e6
81+
url: https://access.redhat.com/errata/RHSA-2024:5422
82+
version: 4.16.8
83+
- channels:
84+
- candidate-4.16
85+
- candidate-4.17
86+
- eus-4.16
87+
- fast-4.16
88+
- stable-4.16
89+
image: quay.io/openshift-release-dev/ocp-release@sha256:e4102eb226130117a0775a83769fe8edb029f0a17b6cbca98a682e3f1225d6b7
90+
url: https://access.redhat.com/errata/RHSA-2024:4965
91+
version: 4.16.6
92+
- channels:
93+
- candidate-4.16
94+
- candidate-4.17
95+
- eus-4.16
96+
- fast-4.16
97+
- stable-4.16
98+
image: quay.io/openshift-release-dev/ocp-release@sha256:f828eda3eaac179e9463ec7b1ed6baeba2cd5bd3f1dd56655796c86260db819b
99+
url: https://access.redhat.com/errata/RHBA-2024:4855
100+
version: 4.16.5
101+
conditionalUpdates:
102+
- conditions:
103+
- lastTransitionTime: "2024-09-23T22:33:38Z"
104+
message: |-
105+
Could not evaluate exposure to update risk SRIOVFailedToConfigureVF (creating PromQL round-tripper: unable to load specified CA cert /etc/tls/service-ca/service-ca.crt: open /etc/tls/service-ca/service-ca.crt: no such file or directory)
106+
SRIOVFailedToConfigureVF description: OCP Versions 4.14.34, 4.15.25, 4.16.7 and ALL subsequent versions include kernel datastructure changes which are not compatible with older versions of the SR-IOV operator. Please update SR-IOV operator to versions dated 20240826 or newer before updating OCP.
107+
SRIOVFailedToConfigureVF URL: https://issues.redhat.com/browse/NHE-1171
108+
reason: EvaluationFailed
109+
status: Unknown
110+
type: Recommended
111+
release:
112+
channels:
113+
- candidate-4.16
114+
- candidate-4.17
115+
- eus-4.16
116+
- fast-4.16
117+
- stable-4.16
118+
image: quay.io/openshift-release-dev/ocp-release@sha256:fb321a3f50596b43704dbbed2e51fdefd7a7fd488ee99655d03784d0cd02283f
119+
url: https://access.redhat.com/errata/RHSA-2024:5107
120+
version: 4.16.7
121+
risks:
122+
- matchingRules:
123+
- promql:
124+
promql: |
125+
group(csv_succeeded{_id="d6d42268-7dff-4d37-92cf-691bd2d42f41", name=~"sriov-network-operator[.].*"})
126+
or
127+
0 * group(csv_count{_id="d6d42268-7dff-4d37-92cf-691bd2d42f41"})
128+
type: PromQL
129+
message: OCP Versions 4.14.34, 4.15.25, 4.16.7 and ALL subsequent versions
130+
include kernel datastructure changes which are not compatible with older
131+
versions of the SR-IOV operator. Please update SR-IOV operator to versions
132+
dated 20240826 or newer before updating OCP.
133+
name: SRIOVFailedToConfigureVF
134+
url: https://issues.redhat.com/browse/NHE-1171
135+
----

modules/hcp-get-upgrade-versions.adoc

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * hosted_control_planes/hcp-updating.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="hcp-get-upgrade-versions_{context}"]
7+
= Updating the {product-title} version in a hosted cluster
8+
9+
{hcp-capital} enables the decoupling of updates between the control plane and the data plane.
10+
11+
As a cluster service provider or cluster administrator, you can manage the control plane and the data separately.
12+
13+
You can update a control plane by modifying the `HostedCluster` custom resource (CR) and a node by modifying its `NodePool` CR. Both the `HostedCluster` and `NodePool` CRs specify an {product-title} release image in a `.release` field.
14+
15+
To keep your hosted cluster fully operational during an update process, the control plane and the node updates must follow the link:https://kubernetes.io/releases/version-skew-policy/[Kubernetes version skew policy].
16+
17+
[id="hcp-mce-hub-cluster_{context}"]
18+
== The {mce-short} hub management cluster
19+
20+
The {mce} requires a specific {product-title} version for the management cluster to remain in a supported state. You can install the {mce-short} from OperatorHub in the {product-title} web console.
21+
22+
See the following support matrices for the {mce-short} versions:
23+
24+
* link:https://access.redhat.com/articles/7086906[{mce-short} 2.7]
25+
* link:https://access.redhat.com/articles/7073030[{mce-short} 2.6]
26+
* link:https://access.redhat.com/articles/7056007[{mce-short} 2.5]
27+
* link:https://access.redhat.com/articles/7027079[{mce-short} 2.4]
28+
29+
The {mce-short} supports the following {product-title} versions:
30+
31+
* The latest unreleased version
32+
* The latest released version
33+
* Two versions before the latest released version
34+
35+
You can also get the {mce-short} version as a part of {rh-rhacm-first}.
36+
37+
[id="hcp-supported-ocp-versions_{context}"]
38+
== Supported {product-title} versions in a hosted cluster
39+
40+
When deploying a hosted cluster, the {product-title} version of the management cluster does not affect the {product-title} version of a hosted cluster.
41+
42+
The HyperShift Operator creates the `supported-versions` ConfigMap in the `hypershift` namespace. The `supported-versions` ConfigMap describes the range of supported {product-title} versions that you can deploy.
43+
44+
See the following example of the `supported-versions` ConfigMap:
45+
46+
[source,yaml]
47+
----
48+
apiVersion: v1
49+
data:
50+
server-version: 2f6cfe21a0861dea3130f3bed0d3ae5553b8c28b
51+
supported-versions: '{"versions":["4.17","4.16","4.15","4.14"]}'
52+
kind: ConfigMap
53+
metadata:
54+
creationTimestamp: "2024-06-20T07:12:31Z"
55+
labels:
56+
hypershift.openshift.io/supported-versions: "true"
57+
name: supported-versions
58+
namespace: hypershift
59+
resourceVersion: "927029"
60+
uid: f6336f91-33d3-472d-b747-94abae725f70
61+
----
62+
63+
[IMPORTANT]
64+
====
65+
To create a hosted cluster, you must use the {product-title} version from the support version range. However, the {mce-short} can manage only between `n+1` and `n-2` {product-title} versions, where `n` defines the current minor version. You can check the {mce-short} support matrix to ensure the hosted clusters managed by the {mce-short} are within the supported {product-title} range.
66+
====
67+
68+
To deploy a higher version of a hosted cluster on {product-title}, you must update the {mce-short} to a new minor version release to deploy a new version of the Hypershift Operator. Upgrading the {mce-short} to a new patch, or z-stream, release does not update the HyperShift Operator to the next version.
69+
70+
See the following example output of the `hcp version` command that shows the supported {product-title} versions for {product-title} 4.16 in the management cluster:
71+
72+
[source,terminal]
73+
----
74+
Client Version: openshift/hypershift: fe67b47fb60e483fe60e4755a02b3be393256343. Latest supported OCP: 4.17.0
75+
Server Version: 05864f61f24a8517731664f8091cedcfc5f9b60d
76+
Server Supports OCP Versions: 4.17, 4.16, 4.15, 4.14
77+
----

modules/updating-node-pools-for-hcp.adoc renamed to modules/hcp-update-node-pools.adoc

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@
44
// * hosted_control_planes/hcp-updating.adoc
55

66
:_mod-docs-content-type: PROCEDURE
7-
[id="updating-node-pools-for-hcp_{context}"]
8-
= Updating node pools for {hcp}
7+
[id="hcp-update-node-pools_{context}"]
8+
= Updating node pools in a hosted cluster
99

10-
On {hcp}, you can update your version of {product-title} by updating the node pools. The node pool version must not surpass the hosted control plane version.
10+
You can update your version of {product-title} by updating the node pools in your hosted cluster. The node pool version must not surpass the hosted control plane version.
11+
12+
The `.spec.release` field in the `NodePool` custom resource (CR) shows the version of a node pool.
1113

1214
.Procedure
1315

modules/updating-hosted-cluster.adoc renamed to modules/hcp-update-ocp-hc.adoc

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,22 @@
44
// * hosted_control_planes/hcp-updating.adoc
55

66
:_mod-docs-content-type: PROCEDURE
7-
[id="updating-hosted-cluster_{context}"]
8-
= Updating the hosted cluster for {hcp}
7+
[id="hcp-update-ocp-hc_{context}"]
8+
= Updating a control plane in a hosted cluster
99

10-
On {hcp}, you can upgrade your version of {product-title} by updating the hosted cluster.
10+
On {hcp}, you can upgrade your version of {product-title} by updating the hosted cluster. The `.spec.release` in the `HostedCluster` custom resource (CR) shows the version of the control plane. The `HostedCluster` updates the `.spec.release` field to the `HostedControlPlane.spec.release` and runs the appropriate Control Plane Operator version.
11+
12+
The `HostedControlPlane` resource orchestrates the rollout of the new version of the control plane components along with the {product-title} component in the data plane through the new version of the Cluster Version Operator (CVO). The `HostedControlPlane` includes the following artifacts:
13+
14+
* CVO
15+
* Cluster Network Operator (CNO)
16+
* Cluster Ingress Operator
17+
* Manifests for the Kube API server, scheduler, and manager
18+
* Machine approver
19+
* Autoscaler
20+
* Infrastructure resources to enable ingress for control plane endpoints such as the Kube API server, ignition, and konnectivity
21+
22+
You can set the `.spec.release` field in the `HostedCluster` CR to update the control plane by using the information from the `status.version.availableUpdates` and `status.version.conditionalUpdates` fields.
1123

1224
.Procedure
1325

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * hosted_control_planes/hcp-updating.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="hcp-update-using-mce-console_{context}"]
7+
= Updating a hosted cluster by using the {mce-short} console
8+
9+
You can update your hosted cluster by using the {mce-short} console.
10+
11+
[IMPORTANT]
12+
====
13+
Before updating a hosted cluster, you must refer to the available and conditional updates of a hosted cluster. Choosing a wrong release version might break the hosted cluster.
14+
====
15+
16+
.Procedure
17+
18+
. Select *All clusters*.
19+
20+
. Navigate to *Infrastructure* -> *Clusters* to view managed hosted clusters.
21+
22+
. Click the *Upgrade available* link to update the control plane and node pools.

modules/hcp-updating-requirements.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ You must upgrade the {product-title} cluster, {mce-short}, hosted cluster, and n
1818

1919
. Upgrade an {product-title} cluster to the latest version. For more information, see "Updating a cluster using the web console" or "Updating a cluster using the CLI".
2020
. Upgrade the {mce-short} to the latest version. For more information, see "Updating installed Operators".
21-
. Upgrade the hosted cluster and node pools from the previous {product-title} version to the latest version. For more information, see "Updating the hosted cluster for {hcp}" and "Updating node pools for {hcp}".
21+
. Upgrade the hosted cluster and node pools from the previous {product-title} version to the latest version. For more information, see "Updating a control plane in a hosted cluster" and "Updating node pools in a hosted cluster".

0 commit comments

Comments
 (0)