// Module included in the following assemblies:
//
// * upgrading/rosa-hcp-upgrading.adoc

:_mod-docs-content-type: PROCEDURE
[id="rosa-hcp-upgrading-cli_{context}"]
= Upgrading with the ROSA CLI

You can manually upgrade a {hcp-title} cluster by using the ROSA CLI. This method schedules the cluster for an immediate upgrade if a more recent version is available.

[NOTE]
====
Your control plane only supports machine pools within two minor Y-stream versions. For example, a {hcp-title} cluster with a control plane using version 4.15.z supports machine pools with version 4.13.z and 4.14.z, but the control plane does not support machine pools using version 4.12.z.
====

.Prerequisites

* You have installed and configured the latest version of the ROSA CLI.

.Procedure

. Verify the current version of your cluster by running the following command:
+
[source,terminal]
----
$ rosa describe cluster --cluster=<cluster_name_or_id> <1>
----
<1> Replace `<cluster_name_or_id>` with the cluster name or the cluster ID.

. List the versions that you can upgrade your control plane and machine pools to by running the following commands:

.. For the control plane versions, run the following command:
+
[source,terminal]
----
$ rosa list upgrade --cluster=<cluster_name|cluster_id>
----
+
The command returns a list of available updates, including the recommended version.
+
.Example output
+
[source,terminal]
----
VERSION  NOTES
4.14.8   recommended
4.14.7
4.14.6
----

.. For the machine pool versions, run the following command:
+
[source,terminal]
----
$ rosa list upgrade --cluster <cluster-name> --machinepool <machinepool_name>
----
+
The command returns a list of available updates, including the recommended version.
+
.Example output
+
[source,terminal]
----
VERSION  NOTES
4.14.5   recommended
4.14.4
4.14.3
----
+
[NOTE]
====
The latest available update for machine pools is limited to the current current version of the control plane. Ensure your control plane is up to date first.
====

. Upgrade your cluster with one of the following options:

** Upgrade the cluster's hosted control plane by running the following command:
+
[source,terminal]
----
$ rosa upgrade cluster -c <cluster_name> --control-plane [--schedule-date=XX --schedule-time=XX] [--version <version_number>]
----
+
Your hosted control plane is now scheduled for an upgrade.

** Upgrade a specific machine pool on your cluster by running the following command:
+
[source,terminal]
----
$ rosa upgrade machinepool -c <cluster_name> <machinepool_name> [--schedule-date=XX --schedule-time=XX] [--version <version_number>]
----
+
Your machine pool is now scheduled for an upgrade.
