Skip to content

OPCT | OpenShift Provider Compatibility Tool

Welcome to the documentation for the OpenShift Provider Compatibility Tool (OPCT)!

The OPCT tool is used to orchestrate conformance test workflows on OpenShift/OKD clusters, providing a consolidated report to the end-users.

The tool is based on the Sonobuoy utility to orchestrate and manage the test environment, setting up OpenShift conformance workflows as Sonobuoy Plugins using the openshift-tests utility, which is responsible for orchestrating the OpenShift/OKD and Kubernetes conformance test suites.

Quick Start

To get started, take a look at the How It Works and Getting Started sections if you would like to explore the tool.

If you are a Red Hat Partner applying to a Red Hat OpenShift validation program, start by exploring the Cluster Validation Guides.

How It Works

1) Install an OpenShift/OKD cluster in the cloud provider or hardware using any valid installation method.

The following diagram illustrates an example of a typical OpenShift cluster installed on a cloud provider connected to the internet, using a dedicated node to orchestrate the test environment:

Reference Topology of OpenShift cluster installed on a cloud provider

2) Download OPCT and set up the dedicated node:

./opct adm setup-node

3) Schedule the conformance jobs:

./opct run --watch
%%{init: {"flowchart": {"useMaxWidth": false}}}%%

sequenceDiagram
  autonumber
  OPCT->>Server/Aggregator: opct run --watch [opts]
  loop Setup Workflow
    Server/Aggregator->>Server/Aggregator: Preflight Checks
    Server/Aggregator->>Server/Aggregator: Create Resources (RBAC, NS)
    Server/Aggregator->>Server/Aggregator: create server
  end
  Server/Aggregator->>Jobs: create/schedule jobs
  loop Init Job
    Jobs->>Jobs: Initialize job
    Jobs->>Jobs: Wait for Blocker job
    Jobs->>Server/Aggregator: report progress
    Jobs->>Jobs: Job/Plugin-N Unblocked
  end

  loop Start Job
    Jobs->>Jobs: openshift-tests run*
    Jobs->>Server/Aggregator: report progress
    Jobs->>Server/Aggregator: save results
  end

  loop End Workflow
    Jobs->>Jobs: collect artifacts
    Jobs->>Server/Aggregator: report progress
    Jobs->>Server/Aggregator: save results
    Server/Aggregator->>Server/Aggregator: Post Processor
    Server/Aggregator->>Server/Aggregator: Finished Artifacts
  end

4) Explore the results:

./opct retrieve && ./opct report -s ./results opct_*.tar.gz
%%{init: {"flowchart": {"useMaxWidth": false}}}%%

sequenceDiagram
  autonumber
  OPCT->>Server/Aggregator: opct retrieve
  OPCT->>Server/Aggregator: opct destroy
  Server/Aggregator->>OPCT: Finished
  OPCT->>OPCT: opct report -s ./report <result>.tar.gz
  OPCT->>OPCT: open http://127.0.0.1:9090

Getting Started

Here you can find the initial steps to use the tool:

Red Hat OpenShift VCSP Program

If you are Red Hat partner applying to an OpenShift validation program, refers to the Cluster Validation User Guide to get started.