The Cluster Samples Operator, which operates in the openshift namespace, installs and updates the OpenShift Dedicated image streams and OpenShift Dedicated templates.

The Cluster Samples Operator is being deprecated
  • Starting from OpenShift Dedicated 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.

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 OpenShift Dedicated release. When each sample is created or updated, the Cluster Samples Operator includes an annotation that denotes the version of OpenShift Dedicated. 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.

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 OpenShift Dedicated, 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 OpenShift Dedicated 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.

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

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.

  • You installed the oc CLI.

  • 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