// Module included in the following assemblies:
//
// * edge_computing/day_2_core_cnf_clusters/updating/update-completing-the-update.adoc

:_mod-docs-content-type: PROCEDURE
[id="update-updating-all-the-olm-operators_{context}"]
= Updating all the OLM Operators

[role="_abstract"]
In the second phase of a multi-version upgrade, you must approve all of the Operators and additionally add installations plans for any other Operators that you want to upgrade.

Follow the same procedure as outlined in "Updating the OLM Operators".
Ensure that you also update any non-OLM Operators as required.

.Procedure
. Monitor the cluster update.
For example, to monitor the cluster update from version 4.14 to 4.15, run the following command:
+
[source,terminal]
----
$ watch "oc get clusterversion; echo; oc get co | head -1; oc get co | grep 4.14; oc get co | grep 4.15; echo; oc get no; echo; oc get po -A | grep -E -iv 'running|complete'"
----

. Check to see which Operators need to be updated:
+
[source,terminal]
----
$ oc get installplan -A | grep -E 'APPROVED|false'
----

. Patch the `InstallPlan` resources for those Operators:
+
[source,terminal]
----
$ oc patch installplan -n metallb-system install-nwjnh --type merge --patch \
'{"spec":{"approved":true}}'
----

. Monitor the namespace by running the following command:
+
[source,terminal]
----
$ oc get all -n metallb-system
----
+
When the update is complete, the required pods should be in a `Running` state, and the required `ReplicaSet` resources should be ready.

.Verification
During the update the `watch` command cycles through one or several of the cluster Operators at a time, providing a status of the Operator update in the `MESSAGE` column.

When the cluster Operators update process is complete, each control plane nodes is rebooted, one at a time.

[NOTE]
====
During this part of the update, messages are reported that state cluster Operators are being updated again or are in a degraded state.
This is because the control plane node is offline while it reboots nodes.
====
