// Module included in the following assemblies: // // * operators/admin/olm-managing-po.adoc :_mod-docs-content-type: PROCEDURE [id="olm-installing-po-after_{context}"] = Installing platform Operators after cluster creation As a cluster administrator, you can install platform Operators after cluster creation on clusters that have enabled the `TechPreviewNoUpgrade` feature set by using the cluster-wide `PlatformOperator` API. .Procedure . Choose a platform Operator from the supported set of OLM-based Operators. For the list of this set and details on current limitations, see "Technology Preview restrictions for platform Operators". . Create a `PlatformOperator` object YAML file for your chosen platform Operator, for example a `service-mesh-po.yaml` file for the {SMProductName} Operator: + .Example `sevice-mesh-po.yaml` file [source,yaml] ---- apiVersion: platform.openshift.io/v1alpha1 kind: PlatformOperator metadata: name: service-mesh-po spec: package: name: servicemeshoperator ---- . Create the `PlatformOperator` object by running the following command: + [source,terminal] ---- $ oc apply -f service-mesh-po.yaml ---- + [NOTE] ==== If your cluster does not have the `TechPreviewNoUpgrade` feature set enabled, the object creation fails with the following message: [source,terminal] ---- error: resource mapping not found for name: "service-mesh-po" namespace: "" from "service-mesh-po.yaml": no matches for kind "PlatformOperator" in version "platform.openshift.io/v1alpha1" ensure CRDs are installed first ---- ==== .Verification . Check the status of the `service-mesh-po` platform Operator by running the following command: + [source,terminal] ---- $ oc get platformoperator service-mesh-po -o yaml ---- + .Example output [source,yaml] ---- ... status: activeBundleDeployment: name: service-mesh-po conditions: - lastTransitionTime: "2022-10-24T17:24:40Z" message: Successfully applied the service-mesh-po BundleDeployment resource reason: InstallSuccessful status: "True" <1> type: Installed ---- <1> Wait until the `Installed` status condition reports `True`. . Verify that the `platform-operators-aggregated` cluster Operator is reporting an `Available=True` status: + [source,terminal] ---- $ oc get clusteroperator platform-operators-aggregated -o yaml ---- + .Example output [source,yaml] ---- ... status: conditions: - lastTransitionTime: "2022-10-24T17:43:26Z" message: All platform operators are in a successful state reason: AsExpected status: "False" type: Progressing - lastTransitionTime: "2022-10-24T17:43:26Z" status: "False" type: Degraded - lastTransitionTime: "2022-10-24T17:43:26Z" message: All platform operators are in a successful state reason: AsExpected status: "True" type: Available ----