Chapter 13. Cluster capabilities Cluster administrators can use cluster capabilities to disable one or more optional components prior to installation . Cluster administrators can enable cluster capabilities at anytime after installation. Note Cluster administrators cannot disable a cluster capability after it is enabled. 13.1. Optional cluster capabilities in OpenShift Container Platform 4.11 Optional cluster capabilities are components that can be disabled during the installation process. Cluster administrators can disable optional cluster capabilities to reduce the resources consumed by a cluster. Currently, cluster Operators provide a cluster capability's features. If you want to use the features provided by a disabled cluster capability, you can enable the capability after installation. After a cluster capability is enabled, it cannot be disabled. Additional resources Cluster Operators reference 13.1.1. Bare-metal capability Purpose The Cluster Baremetal Operator provides the features for the baremetal capability. The Cluster Baremetal Operator (CBO) deploys all the components necessary to take a bare-metal server to a fully functioning worker node ready to run OpenShift Container Platform compute nodes. The CBO ensures that the metal3 deployment, which consists of the Bare Metal Operator (BMO) and Ironic containers, runs on one of the control plane nodes within the OpenShift Container Platform cluster. The CBO also listens for OpenShift Container Platform updates to resources that it watches and takes appropriate action. The bare-metal capability is required for installer provisioned installation (IPI) deployments. Disabling the bare-metal capability can result in unexpected problems with IPI deployments. It is recommended that cluster adminstrators only disable the bare-metal capability during user-provisioned installations (UPI) that do not have any BareMetalHost resources in the cluster. Important If the bare-metal capability is disabled, the cluster cannot provision or manage bare-metal nodes. Only disable the capability if there are no BareMetalHost resources in your deployment. Additional resources Deploying installer-provisioned clusters on bare metal Preparing for bare metal cluster installation Bare metal configuration 13.1.2. OpenShift samples capability Purpose The Cluster Samples Operator provides the features for the openshift-samples capability. The Cluster Samples Operator manages the sample image streams and templates stored in the openshift namespace. On initial start up, the Operator creates the default samples configuration resource to initiate the creation of the image streams and templates. The configuration object is a cluster scoped object with the key cluster and type configs.samples . The image streams are the Red Hat Enterprise Linux CoreOS (RHCOS)-based OpenShift Container Platform image streams pointing to images on registry.redhat.io . Similarly, the templates are those categorized as OpenShift Container Platform templates. If you disable the samples capability, users cannot access the image streams, samples, and templates it provides. Depending on your deployment, you might want to disable this component if you do not need it. Additional resources Configuring the Cluster Samples Operator 13.1.3. Marketplace capability Purpose The Marketplace Operator provides the features for the marketplace capability. The Marketplace Operator simplifies the process for bringing off-cluster Operators to your cluster by using a set of default Operator Lifecycle Manager (OLM) catalogs on the cluster. When the Marketplace Operator is installed, it creates the openshift-marketplace namespace. OLM ensures catalog sources installed in the openshift-marketplace namespace are available for all namespaces on the cluster. If you disable the marketplace capability, the Marketplace Operator does not create the openshift-marketplace namespace. Catalog sources can still be configured and managed on the cluster manually, but OLM depends on the openshift-marketplace namespace in order to make catalogs available to all namespaces on the cluster. Users with elevated permissions to create namespaces prefixed with openshift- , such as system or cluster administrators, can manually create the openshift-marketplace namespace. If you enable the marketplace capability, you can enable and disable individual catalogs by configuring the Marketplace Operator. Additional resources Red Hat-provided Operator catalogs 13.2. Viewing the cluster capabilities As a cluster administrator, you can view the capabilities by using the clusterversion resource status. Prerequisites You have installed the OpenShift CLI ( oc ). Procedure To view the status of the cluster capabilities, run the following command: USD oc get clusterversion version -o jsonpath='{.spec.capabilities}{"\n"}{.status.capabilities}{"\n"}' Example output {"additionalEnabledCapabilities":["openshift-samples"],"baselineCapabilitySet":"None"} {"enabledCapabilities":["openshift-samples"],"knownCapabilities":["baremetal","marketplace","openshift-samples"]} 13.3. Enabling the cluster capabilities by setting baseline capability set As a cluster administrator, you can enable the capabilities by setting baselineCapabilitySet . Prerequisites You have installed the OpenShift CLI ( oc ). Procedure To set the baselineCapabilitySet , run the following command: USD oc patch clusterversion version --type merge -p '{"spec":{"capabilities":{"baselineCapabilitySet":"vCurrent"}}}' 1 1 For baselineCapabilitySet you can specify vCurrent , v4.11 , or None . The following table describes the baselineCapabilitySet values. Table 13.1. Cluster capabilities baselineCapabilitySet values description Value Description vCurrent Specify when you want to automatically add new capabilities as they become recommended. v4.11 Specify when you want the capabilities defined in OpenShift Container Platform 4.11 and not automatically enable capabilities, which might be introduced in later versions. None Specify when the other sets are too large, and you do not need any capabilities or want to fine-tune via additionalEnabledCapabilities . 13.4. Enabling the cluster capabilities by setting additional enabled capabilities As a cluster administrator, you can enable the cluster capabilities by setting additionalEnabledCapabilities . Prerequisites You have installed the OpenShift CLI ( oc ). Procedure View the additional enabled capabilities by running the following command: USD oc get clusterversion version -o jsonpath='{.spec.capabilities.additionalEnabledCapabilities}{"\n"}' Example output ["openshift-samples"] To set the additionalEnabledCapabilities , run the following command: USD oc patch clusterversion/version --type merge -p '{"spec":{"capabilities":{"additionalEnabledCapabilities":["openshift-samples", "marketplace"]}}}' Important It is not possible to disable a capability which is already enabled in a cluster. The cluster version Operator (CVO) continues to reconcile the capability which is already enabled in the cluster. If you try to disable a capability, then CVO shows the divergent spec: USD oc get clusterversion version -o jsonpath='{.status.conditions[?(@.type=="ImplicitlyEnabledCapabilities")]}{"\n"}' Example output {"lastTransitionTime":"2022-07-22T03:14:35Z","message":"The following capabilities could not be disabled: openshift-samples","reason":"CapabilitiesImplicitlyEnabled","status":"True","type":"ImplicitlyEnabledCapabilities"} Note During the cluster upgrades, it is possible that a given capability could be implicitly enabled. If a resource was already running on the cluster before the upgrade, then any capabilities that is part of the resource will be enabled. For example, during a cluster upgrade, a resource that is already running on the cluster has been changed to be part of the marketplace capability by the system. Even if a cluster administrator does not explicitly enabled the marketplace capability, it is implicitly enabled by the system.

Commands:
oc get clusterversion version -o jsonpath='{.spec.capabilities}{"\n"}{.status.capabilities}{"\n"}'
{"additionalEnabledCapabilities":["openshift-samples"],"baselineCapabilitySet":"None"} {"enabledCapabilities":["openshift-samples"],"knownCapabilities":["baremetal","marketplace","openshift-samples"]}
oc patch clusterversion version --type merge -p '{"spec":{"capabilities":{"baselineCapabilitySet":"vCurrent"}}}' 1
oc get clusterversion version -o jsonpath='{.spec.capabilities.additionalEnabledCapabilities}{"\n"}'
openshift-samples
oc patch clusterversion/version --type merge -p '{"spec":{"capabilities":{"additionalEnabledCapabilities":["openshift-samples", "marketplace"]}}}'
oc get clusterversion version -o jsonpath='{.status.conditions[?(@.type=="ImplicitlyEnabledCapabilities")]}{"\n"}'
lastTransitionTime: 2022-07-22T03:14:35Z
message: The following capabilities could not be disabled: openshift-samples
reason: CapabilitiesImplicitlyEnabled
status: True
type: ImplicitlyEnabledCapabilities