From aa7059447229452858c42e2fa67547e15d74a26b Mon Sep 17 00:00:00 2001 From: Michael Burke Date: Mon, 6 Apr 2026 11:10:22 -0400 Subject: [PATCH 1/7] [Dual stream] Support two major versions of RHEL CoreOS in a single OCP release & cluster --- _topic_maps/_topic_map.yml | 2 + machine_configuration/mco-image-streams.adoc | 35 ++++++ modules/mco-image-streams-configuring.adoc | 125 +++++++++++++++++++ modules/mco-image-streams-updating.adoc | 64 ++++++++++ 4 files changed, 226 insertions(+) create mode 100644 machine_configuration/mco-image-streams.adoc create mode 100644 modules/mco-image-streams-configuring.adoc create mode 100644 modules/mco-image-streams-updating.adoc diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index 5b5f6b46ae69..f657e109591d 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -2470,6 +2470,8 @@ Topics: - Name: Image mode for OpenShift File: mco-coreos-layering Distros: openshift-enterprise,openshift-origin +- Name: OpenShift Container Platform image streams + File: mco-image-streams - Name: Machine Config Daemon metrics File: machine-config-daemon-metrics --- diff --git a/machine_configuration/mco-image-streams.adoc b/machine_configuration/mco-image-streams.adoc new file mode 100644 index 000000000000..433a46a55d43 --- /dev/null +++ b/machine_configuration/mco-image-streams.adoc @@ -0,0 +1,35 @@ +:_mod-docs-content-type: ASSEMBLY +:context: mco-image-streams +include::_attributes/common-attributes.adoc[] +[id="mco-image-streams"] += {product-title} image streams + +toc::[] + +[role="_abstract"] +You can create a {product-title} 4.21.2 or greater cluster that uses {op-system-first} 10.x, which is available as a Technology Preview feature in {product-title} 4.21.2 and greater. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. + +By default, {op-system} 9.x is installed on OpenShift Container Platform clusters. + +:FeatureName: Using {op-system} 10.x in an {product-title} cluster +include::snippets/technology-preview.adoc[] + +{op-system} is a purpose-designed operating system for use with containers that is deployed by default on all {product-title} nodes. Each version of {op-system} is based on a specific version of {op-system-base-full}. For {product-title} version 4.13 and greater, the {op-system} version is based on RHEL 9.x. + +Starting with {product-title} version 4.21.2, you can run your cluster with {op-system} 10.x **for testing purposes only**. For example, by testing your cluster with {op-system} 10.x, you can ensure that any existing hardware will operate as expected with the new operating system. You can either install a new {product-title} 4.21.2 or greater cluster by using a process that creates nodes running {op-system} 10.x. Or, you can upgrade the nodes in an existing cluster to {op-system} 10.x. Procedures to perform both of the tasks are described in this article. + +By default, the manifests created and used in installation process for OpenShift Container Platform 4.21.x and earlier do not contain references to the `osImageStream` parameter, which is currently required to install {op-system} 10.x. The following procedures contains a step to patch the control plane and worker machine config pools to add this parameter. It is planned that this limitation will be addressed in a future OpenShift Container Platform version. + +**NOTE:** The boot image on each node remains at {op-system} 9.x after installing or upgrading to {op-system} 10.x. After you configure {op-system} 10.x in your cluster, new nodes boot using {op-system} 9.x initially and automatically upgrade to {op-system} 10.x. + +include::modules/mco-image-streams-updating.adoc[leveloffset=+1] + +include::modules/mco-image-streams-configuring.adoc[leveloffset=+1] + +[role="_additional-resources"] +[id="additional-resources_{context}"] +== Additional resources + +* xref:../nodes/working-with-clusters.adoc#nodes-cluster-enabling-features[Enabling feature sets using the CLI] + +* xref:../installing/installation_overview/index.adoc#ocp-installation-overview[OpenShift Container Platform installation documentation] diff --git a/modules/mco-image-streams-configuring.adoc b/modules/mco-image-streams-configuring.adoc new file mode 100644 index 000000000000..049fd04cf31e --- /dev/null +++ b/modules/mco-image-streams-configuring.adoc @@ -0,0 +1,125 @@ +:_mod-docs-content-type: ASSEMBLY +:context: mco-image-streams-configuring +include::_attributes/common-attributes.adoc[] +[id="mco-image-streams-configuring"] += Deploying a new {op-system} 10.x cluster + +toc::[] + +[role="_abstract"] +Perform the following steps to deploy a new {product-title} that uses {op-system-first} 10.x. + +.Prerequisites + +* You should review the {product-title} installation documentation for the platform of your choice. The installation documentation addresses specific requirements and steps for each platform. + +* You must obtain the proper credentials to install the cluster on a platform of your choice. For more information, see the installation documentation. + +* You have downloaded the {product-title} installation program, openshift-install, from the {cluster-manager-url}. For more information, see "Obtaining the installation program" for your platform. + +.Procedure + +. Run the {product-title} installation program to create the installation manifests by running the following command: ++ +[source,terminal] +---- +$ ./openshift-install --dir create manifests +---- +. Download the control plane and worker machine config pool custom resources manifests for the installation program to use, and patch each manifest to add the `osImageStream` parameter by running the following commands: ++ +[source,terminal] +---- +$ curl -s https://raw.githubusercontent.com/openshift/machine-config-operator/refs/heads/release-4.21/manifests/master.machineconfigpool.yaml | yq '.spec.osImageStream.name = "rhel-10"' > /openshift/master.machineconfigpool.yaml +---- ++ +[source,terminal] +---- +$ curl -s https://raw.githubusercontent.com/openshift/machine-config-operator/refs/heads/release-4.21/manifests/worker.machineconfigpool.yaml | yq '.spec.osImageStream.name = "rhel-10"' > /openshift/worker.machineconfigpool.yaml +---- + +. Edit the `99_feature-gate.yaml` manifest file to enable the required Technology Preview features. For example, you can manually run the following command: ++ +[source,terminal] +---- +$ yq -i '.spec.featureSet = "TechPreviewNoUpgrade"' /openshift/99_feature-gate.yaml +---- ++ +Alternatively, you can manually edit this file to add the `spec.featureSet` parameter with the `TechPreviewNoUpgrade` value as described in [Enabling feature sets using the CLI](https://docs.redhat.com/en/documentation/openshift_container_platform/4.21/html/nodes/working-with-clusters.html#nodes-cluster-enabling-features-cli_nodes-cluster-enabling). ++ + **WARNING:** Enabling the `TechPreviewNoUpgrade` feature set on your cluster cannot be undone and prevents minor version updates. You should not enable this feature set on production clusters. + +. Deploy the cluster by running the following command: ++ +[source,terminal] +---- +$ ./openshift-install --dir installer-dir create cluster +---- ++ +After the installation finishes, the cluster is running with both machine config pools pointing to RHEL 10.x. + +.Verification + +* View the `OSImageStream` custom resource by running the following command: ++ +[source,terminal] +---- +$ oc get OSIMAGESTREAM cluster -o yaml +---- ++ +The output should appear similar to the following example: ++ +.Example output +[source,terminal] +---- +apiVersion: machineconfiguration.openshift.io/v1alpha1 +kind: OSImageStream +metadata: + annotations: + machineconfiguration.openshift.io/release-image-version: c26a561cf361f0c5ba7afbd7e69eeebcd6a5175c + name: cluster +spec: {} +#... +status: + availableStreams: + - name: rhel-9 + osExtensionsImage: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b2fae727bddb8c50a465ae302f58859b8c4af3348a94114650f3f8ea980836d4 + osImage: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:eb1d1f17470cfadaec7dc4f717951d349b7e8e75f84ff22956941d69ce7246c2 + - name: rhel-10 + osExtensionsImage: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:12438c7e8586c4527be16633f48902ead60aa2a2d9305a2efbd09595165f3647 + osImage: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:bc0976717e1f525d4a2ee6320512bfa7d0d8420d3317ee7d65a7956c7792587f + defaultStream: rhel-9 +# ... +---- ++ +The `status.rhel-10.osImage` value is the pull spec for the {op-system} 10.x image. The nodes use this image because of the `osImageStream.name.rhel-10` parameter that you added to the machine config pools in a previous step. + +* Examine the `/etc/redhat-release file` to see the current {op-system} version on the cluster: + +.. Log in to a node by using the following command: ++ +[source,terminal] +---- +$ oc debug node/ +---- + +.. Set `/host` as the root directory within the debug shell by using the following command: ++ +[source,terminal] +---- +$ chroot /host +---- + +.. Look at the contents of the `/etc/redhat-release` file by using the following command: ++ +[source,terminal] +---- +$ cat /etc/redhat-release +---- ++ +The output should appear similar to the following example: ++ +.Example output +[source,terminal] +---- +Red Hat Enterprise Linux release 10.1 (Coughlan) +---- diff --git a/modules/mco-image-streams-updating.adoc b/modules/mco-image-streams-updating.adoc new file mode 100644 index 000000000000..61e5e125008c --- /dev/null +++ b/modules/mco-image-streams-updating.adoc @@ -0,0 +1,64 @@ +:_mod-docs-content-type: ASSEMBLY +:context: mco-image-streams-updating +include::_attributes/common-attributes.adoc[] +[id="mco-image-streams-updating"] += Updating an existing cluster from {op-system} 9 to {op-system} 10 + +toc::[] + +[role="_abstract"] +For an existing {product-title} cluster version 4.21.2 and greater, you can move the nodes in any machine config pool to {op-system-first} 10 by editing the machine config pool custom resource. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. + +.Prerequisites + +* You have enabled the `TechPreviewNoUpgrade` feature set in your cluster's `FeatureGate` custom resource (CR). +For more information, see "Enabling features using feature gates". + +.Procedure + +. Update the desired machine config pool to use {op-system} 10.x by using the following command with the name of the machine config pool to update: ++ +[source,terminal] +---- +$ oc patch mcp --type merge -p '{"spec":{"osImageStream":{"name":"rhel-10"}}}' +---- ++ +[IMPORTANT] +==== +Running a cluster with a mixture of {op-system} 9.x and 10.x clusters is not supported. You must move all of your nodes to {op-system} 10.x. +==== ++ +Wait for the pool to finish rolling out the update. + +.Verification + +. After the nodes have returned to the READY state, examine the `/etc/redhat-release file` to see the current {op-system} version on the cluster: + +.. Log in to a node by using the following command: ++ +[source,terminal] +---- +$ oc debug node/ +---- + +.. Set `/host` as the root directory within the debug shell by using the following command: ++ +[source,terminal] +---- +$ chroot /host +---- + +.. Look at the contents of the `/etc/redhat-release` file by using the following command: ++ +[source,terminal] +---- +$ cat /etc/redhat-release +---- ++ +The output should appear similar to the following example: ++ +.Example output +[source,terminal] +---- +Red Hat Enterprise Linux release 10.1 (Coughlan) +---- From 0cb023e9a33b42d550ef19a779aa16ccc3c56f94 Mon Sep 17 00:00:00 2001 From: Michael Burke Date: Fri, 10 Apr 2026 11:28:20 -0400 Subject: [PATCH 2/7] edits --- _topic_maps/_topic_map.yml | 1 + machine_configuration/mco-image-streams.adoc | 12 ++--- modules/mco-image-streams-configuring.adoc | 48 +++++++---------- modules/mco-image-streams-updating.adoc | 55 +++++++++++++++----- 4 files changed, 69 insertions(+), 47 deletions(-) diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index f657e109591d..a41b367de953 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -2472,6 +2472,7 @@ Topics: Distros: openshift-enterprise,openshift-origin - Name: OpenShift Container Platform image streams File: mco-image-streams + Distros: openshift-enterprise,openshift-origin - Name: Machine Config Daemon metrics File: machine-config-daemon-metrics --- diff --git a/machine_configuration/mco-image-streams.adoc b/machine_configuration/mco-image-streams.adoc index 433a46a55d43..577b9d3b1358 100644 --- a/machine_configuration/mco-image-streams.adoc +++ b/machine_configuration/mco-image-streams.adoc @@ -7,20 +7,18 @@ include::_attributes/common-attributes.adoc[] toc::[] [role="_abstract"] -You can create a {product-title} 4.21.2 or greater cluster that uses {op-system-first} 10.x, which is available as a Technology Preview feature in {product-title} 4.21.2 and greater. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. +You can create a {product-title} cluster that uses {op-system-first} 10.x, which is available as a Technology Preview feature in {product-title} 4.21.2 and greater. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. -By default, {op-system} 9.x is installed on OpenShift Container Platform clusters. +By default, {op-system} 9.x is installed on {product-title} clusters. :FeatureName: Using {op-system} 10.x in an {product-title} cluster include::snippets/technology-preview.adoc[] {op-system} is a purpose-designed operating system for use with containers that is deployed by default on all {product-title} nodes. Each version of {op-system} is based on a specific version of {op-system-base-full}. For {product-title} version 4.13 and greater, the {op-system} version is based on RHEL 9.x. -Starting with {product-title} version 4.21.2, you can run your cluster with {op-system} 10.x **for testing purposes only**. For example, by testing your cluster with {op-system} 10.x, you can ensure that any existing hardware will operate as expected with the new operating system. You can either install a new {product-title} 4.21.2 or greater cluster by using a process that creates nodes running {op-system} 10.x. Or, you can upgrade the nodes in an existing cluster to {op-system} 10.x. Procedures to perform both of the tasks are described in this article. +Starting with {product-title} version 4.21.2, you can run your cluster with {op-system} 10.x **for testing purposes only**. For example, by testing your cluster with {op-system} 10.x, you can ensure that any existing hardware will operate as expected with the new operating system. You can either install a new {product-title} cluster with nodes running {op-system} 10.x. Or, you can upgrade the nodes in an existing cluster to {op-system} 10.x. -By default, the manifests created and used in installation process for OpenShift Container Platform 4.21.x and earlier do not contain references to the `osImageStream` parameter, which is currently required to install {op-system} 10.x. The following procedures contains a step to patch the control plane and worker machine config pools to add this parameter. It is planned that this limitation will be addressed in a future OpenShift Container Platform version. - -**NOTE:** The boot image on each node remains at {op-system} 9.x after installing or upgrading to {op-system} 10.x. After you configure {op-system} 10.x in your cluster, new nodes boot using {op-system} 9.x initially and automatically upgrade to {op-system} 10.x. +By default, the manifests created and used in installation process for {product-title} 4.21.x and earlier do not contain references to the `osImageStream` parameter, which is currently required to install {op-system} 10.x. The following procedures contains a step to add this parameter where needed. It is planned that this limitation will be addressed in a future {product-title} version. include::modules/mco-image-streams-updating.adoc[leveloffset=+1] @@ -32,4 +30,4 @@ include::modules/mco-image-streams-configuring.adoc[leveloffset=+1] * xref:../nodes/working-with-clusters.adoc#nodes-cluster-enabling-features[Enabling feature sets using the CLI] -* xref:../installing/installation_overview/index.adoc#ocp-installation-overview[OpenShift Container Platform installation documentation] +* xref:../installing/installation_overview/index.adoc#ocp-installation-overview[{product-title} installation documentation] diff --git a/modules/mco-image-streams-configuring.adoc b/modules/mco-image-streams-configuring.adoc index 049fd04cf31e..32777c07b379 100644 --- a/modules/mco-image-streams-configuring.adoc +++ b/modules/mco-image-streams-configuring.adoc @@ -1,13 +1,13 @@ -:_mod-docs-content-type: ASSEMBLY +:_mod-docs-content-type: PROCEDURE :context: mco-image-streams-configuring include::_attributes/common-attributes.adoc[] [id="mco-image-streams-configuring"] = Deploying a new {op-system} 10.x cluster -toc::[] - [role="_abstract"] -Perform the following steps to deploy a new {product-title} that uses {op-system-first} 10.x. +Perform the following steps to deploy a new {product-title} 4.22 cluster that uses {op-system-first} 10.x. + +Use the following procedure to install an {product-title} 4.22.x cluster. To install an {product-title} 4.21.x cluster that is 4.21.2 or later, see link:https://access.redhat.com/articles/7138399[How to deploy a RHCOS 10 OpenShift Container Platform cluster]. .Prerequisites @@ -25,28 +25,20 @@ Perform the following steps to deploy a new {product-title} that uses {op-system ---- $ ./openshift-install --dir create manifests ---- -. Download the control plane and worker machine config pool custom resources manifests for the installation program to use, and patch each manifest to add the `osImageStream` parameter by running the following commands: -+ -[source,terminal] ----- -$ curl -s https://raw.githubusercontent.com/openshift/machine-config-operator/refs/heads/release-4.21/manifests/master.machineconfigpool.yaml | yq '.spec.osImageStream.name = "rhel-10"' > /openshift/master.machineconfigpool.yaml ----- + -[source,terminal] ----- -$ curl -s https://raw.githubusercontent.com/openshift/machine-config-operator/refs/heads/release-4.21/manifests/worker.machineconfigpool.yaml | yq '.spec.osImageStream.name = "rhel-10"' > /openshift/worker.machineconfigpool.yaml ----- +Replace `` with the path to the directory where you want to store the installation files. -. Edit the `99_feature-gate.yaml` manifest file to enable the required Technology Preview features. For example, you can manually run the following command: +. Edit the `install-config.yaml` manifest file to enable the required Technology Preview features and configure the installation program to use {opsystem} 10.x by running the following command: + [source,terminal] ---- -$ yq -i '.spec.featureSet = "TechPreviewNoUpgrade"' /openshift/99_feature-gate.yaml +$ yq -i '.featureSet = "TechPreviewNoUpgrade" | .osImageStream = "rhel-10"' installer-dir/install-config.yaml ---- + -Alternatively, you can manually edit this file to add the `spec.featureSet` parameter with the `TechPreviewNoUpgrade` value as described in [Enabling feature sets using the CLI](https://docs.redhat.com/en/documentation/openshift_container_platform/4.21/html/nodes/working-with-clusters.html#nodes-cluster-enabling-features-cli_nodes-cluster-enabling). -+ - **WARNING:** Enabling the `TechPreviewNoUpgrade` feature set on your cluster cannot be undone and prevents minor version updates. You should not enable this feature set on production clusters. +[WARNING] +==== +Enabling the `TechPreviewNoUpgrade` feature set on your cluster cannot be undone and prevents minor version updates. You should not enable this feature set on production clusters. +==== . Deploy the cluster by running the following command: + @@ -63,7 +55,7 @@ After the installation finishes, the cluster is running with both machine config + [source,terminal] ---- -$ oc get OSIMAGESTREAM cluster -o yaml +$ oc get OSImageStream cluster -o yaml ---- + The output should appear similar to the following example: @@ -81,17 +73,17 @@ spec: {} #... status: availableStreams: - - name: rhel-9 - osExtensionsImage: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b2fae727bddb8c50a465ae302f58859b8c4af3348a94114650f3f8ea980836d4 - osImage: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:eb1d1f17470cfadaec7dc4f717951d349b7e8e75f84ff22956941d69ce7246c2 - name: rhel-10 - osExtensionsImage: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:12438c7e8586c4527be16633f48902ead60aa2a2d9305a2efbd09595165f3647 - osImage: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:bc0976717e1f525d4a2ee6320512bfa7d0d8420d3317ee7d65a7956c7792587f - defaultStream: rhel-9 + osExtensionsImage: registry.ci.openshift.org/ocp/4.22-2026-04-09-065530@sha256:34baf90f333d89690a2f99b3ab746f8a43fee99b1218a8a058f75231f7c7ab53 + osImage: registry.ci.openshift.org/ocp/4.22-2026-04-09-065530@sha256:b208f0f861d009008b43a103e64d087f6da59e480bb0292d401895e041095da7 + - name: rhel-9 + osExtensionsImage: registry.ci.openshift.org/ocp/4.22-2026-04-09-065530@sha256:4aa864da633b1ce0a3612992a75849ff2b7d289699fa9b9b400522371a77d3ea + osImage: registry.ci.openshift.org/ocp/4.22-2026-04-09-065530@sha256:cb34964bd5d957a1226e9fb082a591b650eca339ebd4aad15343d02fc21130dd + defaultStream: rhel-10 # ... ---- + -The `status.rhel-10.osImage` value is the pull spec for the {op-system} 10.x image. The nodes use this image because of the `osImageStream.name.rhel-10` parameter that you added to the machine config pools in a previous step. +The `status.availableStreams.osImage` value under `name: rhel-10` is the pull spec for the {op-system} 10.x image. The nodes use this image because of the `osImageStream: rhel-10` parameter that you added to the `install-config.yaml` file in a previous step. * Examine the `/etc/redhat-release file` to see the current {op-system} version on the cluster: @@ -121,5 +113,5 @@ The output should appear similar to the following example: .Example output [source,terminal] ---- -Red Hat Enterprise Linux release 10.1 (Coughlan) +Red Hat Enterprise Linux release 10.2 (Coughlan) ---- diff --git a/modules/mco-image-streams-updating.adoc b/modules/mco-image-streams-updating.adoc index 61e5e125008c..61c38f347bc6 100644 --- a/modules/mco-image-streams-updating.adoc +++ b/modules/mco-image-streams-updating.adoc @@ -1,13 +1,20 @@ -:_mod-docs-content-type: ASSEMBLY +:_mod-docs-content-type: PROCEDURE :context: mco-image-streams-updating include::_attributes/common-attributes.adoc[] [id="mco-image-streams-updating"] = Updating an existing cluster from {op-system} 9 to {op-system} 10 -toc::[] - [role="_abstract"] -For an existing {product-title} cluster version 4.21.2 and greater, you can move the nodes in any machine config pool to {op-system-first} 10 by editing the machine config pool custom resource. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. +For an existing {product-title} cluster, you can move the nodes in any machine config pool to {op-system-first} 10.x by editing the machine config pool custom resource. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. + +Use the following procedure for an {product-title} 4.22.x cluster. For an {product-title} 4.21.x cluster that is 4.21.2 or later, see link:https://access.redhat.com/articles/7138399[How to deploy a RHCOS 10 OpenShift Container Platform cluster]. + +The boot image on each node remains at {op-system} 9.x after installing or upgrading to {op-system} 10.x. After you configure {op-system} 10.x in your cluster, new nodes boot using {op-system} 9.x initially and automatically upgrade to {op-system} 10.x. + +[IMPORTANT] +==== +Running a cluster with a mixture of RHCOS 9.x and 10.x nodes is not supported. You must move all of your nodes to RHCOS 10.x. +==== .Prerequisites @@ -16,19 +23,43 @@ For more information, see "Enabling features using feature gates". .Procedure -. Update the desired machine config pool to use {op-system} 10.x by using the following command with the name of the machine config pool to update: +. Confirm that your cluster has the {op-system} 10.x stream available by running the following command: + [source,terminal] ---- -$ oc patch mcp --type merge -p '{"spec":{"osImageStream":{"name":"rhel-10"}}}' +$ oc get osImageStreams/cluster -o yaml | grep rhel-10 ---- + -[IMPORTANT] -==== -Running a cluster with a mixture of {op-system} 9.x and 10.x clusters is not supported. You must move all of your nodes to {op-system} 10.x. -==== +.Example output +[source,terminal] +---- + - name: rhel-10 +---- + +. Update all machine config pools to RHCOS 10 by using the following commands with the name of the machine config pool to update: + +** Update the worker machine config pool to RHCOS 10 by using the following command: ++ +[source,terminal] +---- +$ oc patch mcp worker --type merge -p '{"spec":{"osImageStream":{"name":"rhel-10"}}}' +---- + +** Update the control plane machine config pool to RHCOS 10 by using the following command with the name of the machine config pool to update: ++ +[source,terminal] +---- +$ oc patch mcp master --type merge -p '{"spec":{"osImageStream":{"name":"rhel-10"}}}' +---- + +** Update any custom machine config pools to RHCOS 10 by using the following command with the name of the machine config pool to update: ++ +[source,terminal] +---- +$ oc patch mcp --type merge -p '{"spec":{"osImageStream":{"name":"rhel-10"}}}' +---- + -Wait for the pool to finish rolling out the update. +Wait for the pools to finish rolling out the update. .Verification @@ -60,5 +91,5 @@ The output should appear similar to the following example: .Example output [source,terminal] ---- -Red Hat Enterprise Linux release 10.1 (Coughlan) +Red Hat Enterprise Linux release 10.2 (Coughlan) ---- From 93e0ac7e9d7e06e92ee6b86e3dd25980cce7b547 Mon Sep 17 00:00:00 2001 From: Michael Burke Date: Fri, 10 Apr 2026 11:52:17 -0400 Subject: [PATCH 3/7] Fix vale errors --- modules/mco-image-streams-configuring.adoc | 6 ++++-- modules/mco-image-streams-updating.adoc | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/modules/mco-image-streams-configuring.adoc b/modules/mco-image-streams-configuring.adoc index 32777c07b379..145098f01d9b 100644 --- a/modules/mco-image-streams-configuring.adoc +++ b/modules/mco-image-streams-configuring.adoc @@ -1,6 +1,8 @@ +// Module included in the following assemblies: +// +// * machine configuration/mco-image-streams.adoc + :_mod-docs-content-type: PROCEDURE -:context: mco-image-streams-configuring -include::_attributes/common-attributes.adoc[] [id="mco-image-streams-configuring"] = Deploying a new {op-system} 10.x cluster diff --git a/modules/mco-image-streams-updating.adoc b/modules/mco-image-streams-updating.adoc index 61c38f347bc6..f7e95234ec25 100644 --- a/modules/mco-image-streams-updating.adoc +++ b/modules/mco-image-streams-updating.adoc @@ -1,13 +1,15 @@ +// Module included in the following assemblies: +// +// * machine configuration/mco-image-streams.adoc + :_mod-docs-content-type: PROCEDURE -:context: mco-image-streams-updating -include::_attributes/common-attributes.adoc[] [id="mco-image-streams-updating"] = Updating an existing cluster from {op-system} 9 to {op-system} 10 [role="_abstract"] For an existing {product-title} cluster, you can move the nodes in any machine config pool to {op-system-first} 10.x by editing the machine config pool custom resource. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. -Use the following procedure for an {product-title} 4.22.x cluster. For an {product-title} 4.21.x cluster that is 4.21.2 or later, see link:https://access.redhat.com/articles/7138399[How to deploy a RHCOS 10 OpenShift Container Platform cluster]. +Use the following procedure for an {product-title} 4.22.x cluster. For an {product-title} 4.21.x cluster that is 4.21.2 or later, see link:https://access.redhat.com/articles/7138399[How to deploy a RHCOS 10 {product-title} cluster]. The boot image on each node remains at {op-system} 9.x after installing or upgrading to {op-system} 10.x. After you configure {op-system} 10.x in your cluster, new nodes boot using {op-system} 9.x initially and automatically upgrade to {op-system} 10.x. From b3dc5d1f3fae1b77f37cb4af8249d244231d9dc1 Mon Sep 17 00:00:00 2001 From: Michael Burke Date: Fri, 10 Apr 2026 16:30:07 -0400 Subject: [PATCH 4/7] Fix build error --- machine_configuration/mco-image-streams.adoc | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/machine_configuration/mco-image-streams.adoc b/machine_configuration/mco-image-streams.adoc index 577b9d3b1358..19c85ba0bc02 100644 --- a/machine_configuration/mco-image-streams.adoc +++ b/machine_configuration/mco-image-streams.adoc @@ -7,7 +7,7 @@ include::_attributes/common-attributes.adoc[] toc::[] [role="_abstract"] -You can create a {product-title} cluster that uses {op-system-first} 10.x, which is available as a Technology Preview feature in {product-title} 4.21.2 and greater. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. +You can create an {product-title} cluster that uses {op-system-first} 10.x, which is available as a Technology Preview feature in {product-title} 4.21.2 and greater. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. By default, {op-system} 9.x is installed on {product-title} clusters. @@ -16,9 +16,14 @@ include::snippets/technology-preview.adoc[] {op-system} is a purpose-designed operating system for use with containers that is deployed by default on all {product-title} nodes. Each version of {op-system} is based on a specific version of {op-system-base-full}. For {product-title} version 4.13 and greater, the {op-system} version is based on RHEL 9.x. -Starting with {product-title} version 4.21.2, you can run your cluster with {op-system} 10.x **for testing purposes only**. For example, by testing your cluster with {op-system} 10.x, you can ensure that any existing hardware will operate as expected with the new operating system. You can either install a new {product-title} cluster with nodes running {op-system} 10.x. Or, you can upgrade the nodes in an existing cluster to {op-system} 10.x. +Running a cluster with {op-system} 10.x is for *testing purposes only* on test clusters, and should not be used on production clusters. For example, by testing your cluster with {op-system} 10.x, you can ensure that any existing hardware will operate as expected with the new operating system. -By default, the manifests created and used in installation process for {product-title} 4.21.x and earlier do not contain references to the `osImageStream` parameter, which is currently required to install {op-system} 10.x. The following procedures contains a step to add this parameter where needed. It is planned that this limitation will be addressed in a future {product-title} version. +You can use one of the following methods to run the nodes in a cluster on {op-system} 10.x. + +* Deploy {op-system} 10.x on a new {product-title} cluster. +* Upgrade an existing cluster to {op-system} 10.x. + +By default, the manifests created and used in installation process do not contain references to the `osImageStream` parameter, which is currently required to install {op-system} 10.x. The following procedures contains a step to add this parameter where needed. It is planned that this limitation will be addressed in a future {product-title} version. include::modules/mco-image-streams-updating.adoc[leveloffset=+1] @@ -28,6 +33,6 @@ include::modules/mco-image-streams-configuring.adoc[leveloffset=+1] [id="additional-resources_{context}"] == Additional resources -* xref:../nodes/working-with-clusters.adoc#nodes-cluster-enabling-features[Enabling feature sets using the CLI] +* xref:../nodes/clusters/nodes-cluster-enabling-features.adoc#nodes-cluster-enabling-features[Enabling features using feature gates] -* xref:../installing/installation_overview/index.adoc#ocp-installation-overview[{product-title} installation documentation] +* xref:../installing/overview/index.adoc#ocp-installation-overview[{product-title} installation documentation] From 40d2e9e3b4c410d19892bf5b58982a1c06eb299c Mon Sep 17 00:00:00 2001 From: Michael Burke Date: Fri, 10 Apr 2026 17:24:14 -0400 Subject: [PATCH 5/7] proofread --- machine_configuration/mco-image-streams.adoc | 6 +++--- ....adoc => mco-image-streams-deploying.adoc} | 12 +++++------ modules/mco-image-streams-updating.adoc | 20 ++++++++++++------- 3 files changed, 22 insertions(+), 16 deletions(-) rename modules/{mco-image-streams-configuring.adoc => mco-image-streams-deploying.adoc} (83%) diff --git a/machine_configuration/mco-image-streams.adoc b/machine_configuration/mco-image-streams.adoc index 19c85ba0bc02..6695440b7c72 100644 --- a/machine_configuration/mco-image-streams.adoc +++ b/machine_configuration/mco-image-streams.adoc @@ -14,7 +14,7 @@ By default, {op-system} 9.x is installed on {product-title} clusters. :FeatureName: Using {op-system} 10.x in an {product-title} cluster include::snippets/technology-preview.adoc[] -{op-system} is a purpose-designed operating system for use with containers that is deployed by default on all {product-title} nodes. Each version of {op-system} is based on a specific version of {op-system-base-full}. For {product-title} version 4.13 and greater, the {op-system} version is based on RHEL 9.x. +{op-system} is a purpose-designed operating system for use with containers that is deployed by default on all {product-title} nodes. Each version of {op-system} is based on a specific version of {op-system-base-full}. For {product-title} 4.13 and greater, the {op-system} version is based on RHEL 9.x. Running a cluster with {op-system} 10.x is for *testing purposes only* on test clusters, and should not be used on production clusters. For example, by testing your cluster with {op-system} 10.x, you can ensure that any existing hardware will operate as expected with the new operating system. @@ -23,11 +23,11 @@ You can use one of the following methods to run the nodes in a cluster on {op-sy * Deploy {op-system} 10.x on a new {product-title} cluster. * Upgrade an existing cluster to {op-system} 10.x. -By default, the manifests created and used in installation process do not contain references to the `osImageStream` parameter, which is currently required to install {op-system} 10.x. The following procedures contains a step to add this parameter where needed. It is planned that this limitation will be addressed in a future {product-title} version. +By default, the manifests created and used in installation process do not contain references to the `osImageStream` parameter, which is currently required to install {op-system} 10.x. The following procedures contain a step to add this parameter where needed. It is planned that this limitation will be addressed in a future {product-title} version. include::modules/mco-image-streams-updating.adoc[leveloffset=+1] -include::modules/mco-image-streams-configuring.adoc[leveloffset=+1] +include::modules/mco-image-streams-deploying.adoc[leveloffset=+1] [role="_additional-resources"] [id="additional-resources_{context}"] diff --git a/modules/mco-image-streams-configuring.adoc b/modules/mco-image-streams-deploying.adoc similarity index 83% rename from modules/mco-image-streams-configuring.adoc rename to modules/mco-image-streams-deploying.adoc index 145098f01d9b..cfd7ead7c52a 100644 --- a/modules/mco-image-streams-configuring.adoc +++ b/modules/mco-image-streams-deploying.adoc @@ -3,21 +3,21 @@ // * machine configuration/mco-image-streams.adoc :_mod-docs-content-type: PROCEDURE -[id="mco-image-streams-configuring"] +[id="mco-image-streams-deploying_{context}"] = Deploying a new {op-system} 10.x cluster [role="_abstract"] Perform the following steps to deploy a new {product-title} 4.22 cluster that uses {op-system-first} 10.x. -Use the following procedure to install an {product-title} 4.22.x cluster. To install an {product-title} 4.21.x cluster that is 4.21.2 or later, see link:https://access.redhat.com/articles/7138399[How to deploy a RHCOS 10 OpenShift Container Platform cluster]. +Use the following procedure to install an {product-title} 4.22.x cluster. To install an {product-title} 4.21.x cluster that is 4.21.2 or later, see link:https://access.redhat.com/articles/7138399[How to deploy a RHCOS 10 {product-title} cluster]. .Prerequisites -* You should review the {product-title} installation documentation for the platform of your choice. The installation documentation addresses specific requirements and steps for each platform. +* You reviewed the {product-title} installation documentation for the platform of your choice. The installation documentation addresses specific requirements and steps for each platform. -* You must obtain the proper credentials to install the cluster on a platform of your choice. For more information, see the installation documentation. +* You obtained the proper credentials to install the cluster on a platform of your choice. For more information, see the installation documentation. -* You have downloaded the {product-title} installation program, openshift-install, from the {cluster-manager-url}. For more information, see "Obtaining the installation program" for your platform. +* You downloaded the {product-title} installation program, openshift-install, from the {cluster-manager-url}. For more information, see "Obtaining the installation program" for your platform. .Procedure @@ -60,7 +60,7 @@ After the installation finishes, the cluster is running with both machine config $ oc get OSImageStream cluster -o yaml ---- + -The output should appear similar to the following example: +The output appears similar to the following example: + .Example output [source,terminal] diff --git a/modules/mco-image-streams-updating.adoc b/modules/mco-image-streams-updating.adoc index f7e95234ec25..4b5fceac4701 100644 --- a/modules/mco-image-streams-updating.adoc +++ b/modules/mco-image-streams-updating.adoc @@ -3,11 +3,11 @@ // * machine configuration/mco-image-streams.adoc :_mod-docs-content-type: PROCEDURE -[id="mco-image-streams-updating"] +[id="mco-image-streams-updating_{context}"] = Updating an existing cluster from {op-system} 9 to {op-system} 10 [role="_abstract"] -For an existing {product-title} cluster, you can move the nodes in any machine config pool to {op-system-first} 10.x by editing the machine config pool custom resource. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. +For an existing {product-title} cluster, you can move the nodes in your machine config pool to {op-system-first} 10.x by editing the machine config pool custom resource. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. Use the following procedure for an {product-title} 4.22.x cluster. For an {product-title} 4.21.x cluster that is 4.21.2 or later, see link:https://access.redhat.com/articles/7138399[How to deploy a RHCOS 10 {product-title} cluster]. @@ -38,8 +38,9 @@ $ oc get osImageStreams/cluster -o yaml | grep rhel-10 - name: rhel-10 ---- -. Update all machine config pools to RHCOS 10 by using the following commands with the name of the machine config pool to update: - +. Update all machine config pools to RHCOS 10 by using the following commands: ++ +-- ** Update the worker machine config pool to RHCOS 10 by using the following command: + [source,terminal] @@ -47,7 +48,7 @@ $ oc get osImageStreams/cluster -o yaml | grep rhel-10 $ oc patch mcp worker --type merge -p '{"spec":{"osImageStream":{"name":"rhel-10"}}}' ---- -** Update the control plane machine config pool to RHCOS 10 by using the following command with the name of the machine config pool to update: +** Update the control plane machine config pool to RHCOS 10 by using the following command: + [source,terminal] ---- @@ -58,14 +59,17 @@ $ oc patch mcp master --type merge -p '{"spec":{"osImageStream":{"name":"rhel-10 + [source,terminal] ---- -$ oc patch mcp --type merge -p '{"spec":{"osImageStream":{"name":"rhel-10"}}}' +$ oc patch mcp --type merge -p '{"spec":{"osImageStream":{"name":"rhel-10"}}}' ---- + +Replace `` with the name of the machine config pool to update. +-- ++ Wait for the pools to finish rolling out the update. .Verification -. After the nodes have returned to the READY state, examine the `/etc/redhat-release file` to see the current {op-system} version on the cluster: +. After the nodes have returned to the READY state, examine the `/etc/redhat-release` file to see the current {op-system} version on the cluster: .. Log in to a node by using the following command: + @@ -73,6 +77,8 @@ Wait for the pools to finish rolling out the update. ---- $ oc debug node/ ---- ++ +Replace `` with the name of the node. .. Set `/host` as the root directory within the debug shell by using the following command: + From 53f78ca574d6215bd7069cc6a86640ef87df18ed Mon Sep 17 00:00:00 2001 From: Michael Burke Date: Mon, 13 Apr 2026 14:31:49 -0400 Subject: [PATCH 6/7] added defaultStream: rhel-10 step --- machine_configuration/mco-image-streams.adoc | 10 +++- modules/mco-image-streams-updating.adoc | 59 ++++++++++++++++++-- 2 files changed, 61 insertions(+), 8 deletions(-) diff --git a/machine_configuration/mco-image-streams.adoc b/machine_configuration/mco-image-streams.adoc index 6695440b7c72..f61aa1b0af0e 100644 --- a/machine_configuration/mco-image-streams.adoc +++ b/machine_configuration/mco-image-streams.adoc @@ -2,14 +2,16 @@ :context: mco-image-streams include::_attributes/common-attributes.adoc[] [id="mco-image-streams"] -= {product-title} image streams += Setting the {op-system} version in a cluster toc::[] [role="_abstract"] -You can create an {product-title} cluster that uses {op-system-first} 10.x, which is available as a Technology Preview feature in {product-title} 4.21.2 and greater. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. +You can create an {product-title} cluster that uses {op-system-first} 10.x or update an existing cluster to {op-system} 10.x, which is available as a Technology Preview feature in {product-title} 4.21.2 and greater. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. -By default, {op-system} 9.x is installed on {product-title} clusters. +By default, {op-system} 9.x is installed on {product-title} clusters. + +At any time, you can revert the cluster back to {op-system} 9.x, if needed. :FeatureName: Using {op-system} 10.x in an {product-title} cluster include::snippets/technology-preview.adoc[] @@ -36,3 +38,5 @@ include::modules/mco-image-streams-deploying.adoc[leveloffset=+1] * xref:../nodes/clusters/nodes-cluster-enabling-features.adoc#nodes-cluster-enabling-features[Enabling features using feature gates] * xref:../installing/overview/index.adoc#ocp-installation-overview[{product-title} installation documentation] + +* xref:../machine_configuration/mco-update-boot-images-manual.adoc#mco-update-boot-images-manual[Manually updating the boot image] diff --git a/modules/mco-image-streams-updating.adoc b/modules/mco-image-streams-updating.adoc index 4b5fceac4701..a449ae5324c5 100644 --- a/modules/mco-image-streams-updating.adoc +++ b/modules/mco-image-streams-updating.adoc @@ -4,7 +4,7 @@ :_mod-docs-content-type: PROCEDURE [id="mco-image-streams-updating_{context}"] -= Updating an existing cluster from {op-system} 9 to {op-system} 10 += Updating the nodes in an existing cluster from {op-system} 9 to {op-system} 10 [role="_abstract"] For an existing {product-title} cluster, you can move the nodes in your machine config pool to {op-system-first} 10.x by editing the machine config pool custom resource. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. @@ -20,6 +20,8 @@ Running a cluster with a mixture of RHCOS 9.x and 10.x nodes is not supported. Y .Prerequisites +* You have updated the boot image in your cluster to at least {op-system} 9.x. For more information, see "Manually updating the boot image". + * You have enabled the `TechPreviewNoUpgrade` feature set in your cluster's `FeatureGate` custom resource (CR). For more information, see "Enabling features using feature gates". @@ -37,25 +39,67 @@ $ oc get osImageStreams/cluster -o yaml | grep rhel-10 ---- - name: rhel-10 ---- ++ +It can take several minutes for the `osImageStream` object to become available after you enable the `TechPreviewNoUpgrade` feature set. + +. Update the nodes by using one of the following procedures: -. Update all machine config pools to RHCOS 10 by using the following commands: +* Update all of the nodes in your cluster to RHCOS 10. ++ +.. Edit the `OSImageStream` custom resource by running the following command: ++ +[source,terminal] +---- +$ oc edit osimagestream cluster +---- ++ +.. Add or edit the `defaultStream` parameter to specify `rhel-10`. ++ +[source,terminal] +---- +apiVersion: machineconfiguration.openshift.io/v1alpha1 +kind: OSImageStream +metadata: + annotations: + machineconfiguration.openshift.io/release-image-version: c4a08067821f304642e731fdcca0c8c6a6b19484 + creationTimestamp: "2026-04-13T17:27:41Z" + generation: 1 + name: cluster + resourceVersion: "36503" + uid: f2ef4c15-4c1b-4117-850e-ae6adf408c4f +spec: + defaultStream: rhel-10 +status: + availableStreams: + - name: rhel-10 + osExtensionsImage: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:34baf90f333d89690a2f99b3ab746f8a43fee99b1218a8a058f75231f7c7ab53 + osImage: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b208f0f861d009008b43a103e64d087f6da59e480bb0292d401895e041095da7 + - name: rhel-9 + osExtensionsImage: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:4aa864da633b1ce0a3612992a75849ff2b7d289699fa9b9b400522371a77d3ea + osImage: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:cb34964bd5d957a1226e9fb082a591b650eca339ebd4aad15343d02fc21130dd + defaultStream: rhel-9 +---- ++ +The `spec.defaultStream: rhel-10` directs the Machine Config Operator (MCO) to update the nodes to the image referenced in `status.availableStreams.osImage` value under `name: rhel-10`. + +* Update all machine config pools to RHCOS 10. + -- -** Update the worker machine config pool to RHCOS 10 by using the following command: +.. Update the worker machine config pool to RHCOS 10 by using the following command: + [source,terminal] ---- $ oc patch mcp worker --type merge -p '{"spec":{"osImageStream":{"name":"rhel-10"}}}' ---- -** Update the control plane machine config pool to RHCOS 10 by using the following command: +.. Update the control plane machine config pool to RHCOS 10 by using the following command: + [source,terminal] ---- $ oc patch mcp master --type merge -p '{"spec":{"osImageStream":{"name":"rhel-10"}}}' ---- -** Update any custom machine config pools to RHCOS 10 by using the following command with the name of the machine config pool to update: +.. Update any custom machine config pools to RHCOS 10 by using the following command with the name of the machine config pool to update: + [source,terminal] ---- @@ -65,6 +109,11 @@ $ oc patch mcp --type merge -p '{"spec":{"osImageStream":{"name":"rhe Replace `` with the name of the machine config pool to update. -- + +[IMPORTANT] +==== +Running a cluster with a mixture of RHCOS 9.x and 10.x nodes is not supported. You must move all of your nodes to RHCOS 10.x. +==== ++ Wait for the pools to finish rolling out the update. .Verification From f062f8f9b452ec70c67790815b6950d4a84b5416 Mon Sep 17 00:00:00 2001 From: Michael Burke Date: Tue, 14 Apr 2026 07:53:45 -0400 Subject: [PATCH 7/7] edits --- machine_configuration/mco-image-streams.adoc | 10 +++++----- modules/mco-image-streams-deploying.adoc | 6 +++--- modules/mco-image-streams-updating.adoc | 18 +++++++++--------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/machine_configuration/mco-image-streams.adoc b/machine_configuration/mco-image-streams.adoc index f61aa1b0af0e..0ee47b73eacd 100644 --- a/machine_configuration/mco-image-streams.adoc +++ b/machine_configuration/mco-image-streams.adoc @@ -9,7 +9,7 @@ toc::[] [role="_abstract"] You can create an {product-title} cluster that uses {op-system-first} 10.x or update an existing cluster to {op-system} 10.x, which is available as a Technology Preview feature in {product-title} 4.21.2 and greater. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. -By default, {op-system} 9.x is installed on {product-title} clusters. +By default, {op-system} 9.x is installed on {product-title} clusters starting with 4.14. At any time, you can revert the cluster back to {op-system} 9.x, if needed. @@ -20,12 +20,12 @@ include::snippets/technology-preview.adoc[] Running a cluster with {op-system} 10.x is for *testing purposes only* on test clusters, and should not be used on production clusters. For example, by testing your cluster with {op-system} 10.x, you can ensure that any existing hardware will operate as expected with the new operating system. -You can use one of the following methods to run the nodes in a cluster on {op-system} 10.x. +You can use one of the following methods to run the nodes in a cluster on {op-system} 10.x: -* Deploy {op-system} 10.x on a new {product-title} cluster. -* Upgrade an existing cluster to {op-system} 10.x. +* Deploying {op-system} 10.x on a new {product-title} cluster. +* Upgrading an existing 4.21.2 or later cluster to {op-system} 10.x. -By default, the manifests created and used in installation process do not contain references to the `osImageStream` parameter, which is currently required to install {op-system} 10.x. The following procedures contain a step to add this parameter where needed. It is planned that this limitation will be addressed in a future {product-title} version. +By default, the manifests created and used in installation process do not contain references to the `osImageStream` parameter, which is required to install {op-system} 10.x. The following procedures contain a step to add this parameter where needed. It is planned that this limitation will be addressed in a future {product-title} version. include::modules/mco-image-streams-updating.adoc[leveloffset=+1] diff --git a/modules/mco-image-streams-deploying.adoc b/modules/mco-image-streams-deploying.adoc index cfd7ead7c52a..e8799fe2690f 100644 --- a/modules/mco-image-streams-deploying.adoc +++ b/modules/mco-image-streams-deploying.adoc @@ -7,9 +7,9 @@ = Deploying a new {op-system} 10.x cluster [role="_abstract"] -Perform the following steps to deploy a new {product-title} 4.22 cluster that uses {op-system-first} 10.x. +You can deploy a new {product-title} 4.22 cluster that uses {op-system-first} 10.x. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. -Use the following procedure to install an {product-title} 4.22.x cluster. To install an {product-title} 4.21.x cluster that is 4.21.2 or later, see link:https://access.redhat.com/articles/7138399[How to deploy a RHCOS 10 {product-title} cluster]. +Use the following procedure to install an {product-title} 4.22.x cluster. To install an {product-title} 4.21.x cluster, see link:https://access.redhat.com/articles/7138399[How to deploy a RHCOS 10 {product-title} cluster]. The following procedure describes steps you must perform before launching the installation program. For details on how to run the installation program, see the installation documentation for your platform. .Prerequisites @@ -30,7 +30,7 @@ $ ./openshift-install --dir create manifests + Replace `` with the path to the directory where you want to store the installation files. -. Edit the `install-config.yaml` manifest file to enable the required Technology Preview features and configure the installation program to use {opsystem} 10.x by running the following command: +. Edit the `install-config.yaml` manifest file to enable the required Technology Preview features and configure the installation program to use {op-system} 10.x by running the following command: + [source,terminal] ---- diff --git a/modules/mco-image-streams-updating.adoc b/modules/mco-image-streams-updating.adoc index a449ae5324c5..9775ae63c7b6 100644 --- a/modules/mco-image-streams-updating.adoc +++ b/modules/mco-image-streams-updating.adoc @@ -7,11 +7,11 @@ = Updating the nodes in an existing cluster from {op-system} 9 to {op-system} 10 [role="_abstract"] -For an existing {product-title} cluster, you can move the nodes in your machine config pool to {op-system-first} 10.x by editing the machine config pool custom resource. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. +For an existing {product-title} 4.21.2 or later cluster, you can move the nodes in your machine config pool to {op-system-first} 10.x. By running {op-system-first} 10.x as a Technology Preview feature, you can test how the operating system works with your cluster and your hardware, anticipate changes, and report bugs to Red Hat. Use the following procedure for an {product-title} 4.22.x cluster. For an {product-title} 4.21.x cluster that is 4.21.2 or later, see link:https://access.redhat.com/articles/7138399[How to deploy a RHCOS 10 {product-title} cluster]. -The boot image on each node remains at {op-system} 9.x after installing or upgrading to {op-system} 10.x. After you configure {op-system} 10.x in your cluster, new nodes boot using {op-system} 9.x initially and automatically upgrade to {op-system} 10.x. +You must update the boot image in your cluster to at least RHCOS 9.x. Note that the boot image on each node remains at {op-system} 9.x after installing or upgrading to {op-system} 10.x. After you configure {op-system} 10.x in your cluster, new nodes boot using {op-system} 9.x initially and automatically upgrade to {op-system} 10.x. [IMPORTANT] ==== @@ -44,7 +44,7 @@ It can take several minutes for the `osImageStream` object to become available a . Update the nodes by using one of the following procedures: -* Update all of the nodes in your cluster to RHCOS 10. +* Update all of the nodes in your cluster to RHCOS 10: + .. Edit the `OSImageStream` custom resource by running the following command: + @@ -53,7 +53,7 @@ It can take several minutes for the `osImageStream` object to become available a $ oc edit osimagestream cluster ---- + -.. Add or edit the `defaultStream` parameter to specify `rhel-10`. +.. Add or edit the `defaultStream` parameter to specify `rhel-10`: + [source,terminal] ---- @@ -80,9 +80,9 @@ status: defaultStream: rhel-9 ---- + -The `spec.defaultStream: rhel-10` directs the Machine Config Operator (MCO) to update the nodes to the image referenced in `status.availableStreams.osImage` value under `name: rhel-10`. +The `spec.defaultStream: rhel-10` parameter directs the Machine Config Operator (MCO) to update the nodes to the image referenced in `status.availableStreams.osImage` value under `name: rhel-10`. -* Update all machine config pools to RHCOS 10. +* Update all machine config pools to RHCOS 10: + -- .. Update the worker machine config pool to RHCOS 10 by using the following command: @@ -99,14 +99,14 @@ $ oc patch mcp worker --type merge -p '{"spec":{"osImageStream":{"name":"rhel-10 $ oc patch mcp master --type merge -p '{"spec":{"osImageStream":{"name":"rhel-10"}}}' ---- -.. Update any custom machine config pools to RHCOS 10 by using the following command with the name of the machine config pool to update: +.. Update all custom machine config pools to RHCOS 10 by using the following command with the name of the machine config pool to update: + [source,terminal] ---- $ oc patch mcp --type merge -p '{"spec":{"osImageStream":{"name":"rhel-10"}}}' ---- + -Replace `` with the name of the machine config pool to update. +Replace `` with the names of the custom machine config pools to update. -- + [IMPORTANT] @@ -118,7 +118,7 @@ Wait for the pools to finish rolling out the update. .Verification -. After the nodes have returned to the READY state, examine the `/etc/redhat-release` file to see the current {op-system} version on the cluster: +. After the nodes have returned to the READY state, examine the `/etc/redhat-release` file to see the current {op-system} version on the nodes: .. Log in to a node by using the following command: +