Chapter 2. Overview of the Cluster Samples Operator
The Cluster Samples Operator, which operates in the openshift
namespace, installs and updates the Red Hat OpenShift Service on AWS image streams and Red Hat OpenShift Service on AWS templates.
Starting from Red Hat OpenShift Service on AWS 4.16, the Cluster Samples Operator is deprecated. No new templates, samples, or non-Source-to-Image (Non-S2I) image streams will be added to the Cluster Samples Operator. However, the existing S2I builder image streams and templates will continue to receive updates until the Cluster Samples Operator is removed in a future release. S2I image streams and templates include:
- Ruby
- Python
- Node.js
- Perl
- PHP
- HTTPD
- Nginx
- EAP
- Java
- Webserver
- .NET
- Go
- The Cluster Samples Operator will stop managing and providing support to the non-S2I samples (image streams and templates). You can contact the image stream or template owner for any requirements and future plans. In addition, refer to the list of the repositories hosting the image stream or templates.
2.1. Understanding the Cluster Samples Operator
During installation, the Operator creates the default configuration object for itself and then creates the sample image streams and templates, including quick start templates.
To facilitate image stream imports from other registries that require credentials, a cluster administrator can create any additional secrets that contain the content of a Docker config.json
file in the openshift
namespace needed for image import.
The Cluster Samples Operator configuration is a cluster-wide resource, and the deployment is contained within the openshift-cluster-samples-operator
namespace.
The image for the Cluster Samples Operator contains image stream and template definitions for the associated Red Hat OpenShift Service on AWS release. When each sample is created or updated, the Cluster Samples Operator includes an annotation that denotes the version of Red Hat OpenShift Service on AWS. The Operator uses this annotation to ensure that each sample matches the release version. Samples outside of its inventory are ignored, as are skipped samples. Modifications to any samples that are managed by the Operator, where that version annotation is modified or deleted, are reverted automatically.
The Jenkins images are part of the image payload from installation and are tagged into the image streams directly.
The Cluster Samples Operator configuration resource includes a finalizer which cleans up the following upon deletion:
- Operator managed image streams.
- Operator managed templates.
- Operator generated configuration resources.
- Cluster status resources.
Upon deletion of the samples resource, the Cluster Samples Operator recreates the resource using the default configuration.
2.1.1. Cluster Samples Operator’s use of management state
The Cluster Samples Operator is bootstrapped as Managed
by default or if global proxy is configured. In the Managed
state, the Cluster Samples Operator is actively managing its resources and keeping the component active in order to pull sample image streams and images from the registry and ensure that the requisite sample templates are installed.
Certain circumstances result in the Cluster Samples Operator bootstrapping itself as Removed
including:
- If the Cluster Samples Operator cannot reach registry.redhat.io after three minutes on initial startup after a clean installation.
- If the Cluster Samples Operator detects it is on an IPv6 network.
For Red Hat OpenShift Service on AWS, the default image registry is registry.access.redhat.com
or quay.io
.
However, if the Cluster Samples Operator detects that it is on an IPv6 network and an Red Hat OpenShift Service on AWS global proxy is configured, then IPv6 check supersedes all the checks. As a result, the Cluster Samples Operator bootstraps itself as Removed
.
IPv6 installations are not currently supported by registry.redhat.io. The Cluster Samples Operator pulls most of the sample image streams and images from registry.redhat.io.
2.1.2. Cluster Samples Operator’s tracking and error recovery of image stream imports
After creation or update of a samples image stream, the Cluster Samples Operator monitors the progress of each image stream tag’s image import.
If an import fails, the Cluster Samples Operator retries the import through the image stream image import API, which is the same API used by the oc import-image
command, approximately every 15 minutes until it sees the import succeed, or if the Cluster Samples Operator’s configuration is changed such that either the image stream is added to the skippedImagestreams
list, or the management state is changed to Removed
.
Additional resources
-
If the Cluster Samples Operator is removed during installation, you can use the Cluster Samples Operator with an alternate registry so content can be imported, and then set the Cluster Samples Operator to
Managed
to get the samples.
2.2. Removing deprecated image stream tags from the Cluster Samples Operator
The Cluster Samples Operator leaves deprecated image stream tags in an image stream because users can have deployments that use the deprecated image stream tags.
You can remove deprecated image stream tags by editing the image stream with the oc tag
command.
Deprecated image stream tags that the samples providers have removed from their image streams are not included on initial installations.
Prerequisites
-
You installed the
oc
CLI.
Procedure
Remove deprecated image stream tags by editing the image stream with the
oc tag
command.$ oc tag -d <image_stream_name:tag>
Example output
Deleted tag default/<image_stream_name:tag>.
Additional resources
- For more information about configuring credentials, see Using image pull secrets.