Skip to content

OPCT Execution Flow

Diagram describing the default OPCT execution flow (sequence).

%%{init: {"flowchart": {"useMaxWidth": false}}}%%

sequenceDiagram
  autonumber
  OPCT->>OCP/KAS: ./opct run -w [opts]
  loop Setup
      OCP/KAS->>OCP/KAS: Preflight Checks
      OCP/KAS->>OCP/KAS: Create Resources (RBAC, NS)
  end
  OCP/KAS->>Sonobuoy: create server
  Sonobuoy->>Plugins: create plugins
  loop Init
      Plugins->>Plugins: Extract utilities
      Plugins->>Plugins: Wait for Blocker plugin
      Plugins->>Sonobuoy: report progress
  end
  Plugins->>Plugins: Plugin-N Unblocked
  Plugins->>P_Upgrade: run cluster upgrade*
  Note right of Plugins: *--mode=upgrade
  P_Upgrade->>Sonobuoy: report progress
  P_Upgrade->>Sonobuoy: save results
  Plugins->>P_Conformance: run conformance plugins: kubernetes, openshift
  P_Conformance->>P_Conformance: kubernetes e2e tests
  P_Conformance->>Sonobuoy: report progress
  P_Conformance->>Sonobuoy: save results

  P_Conformance->>P_Conformance: openshift e2e tests
  P_Conformance->>Sonobuoy: report progress
  P_Conformance->>Sonobuoy: save results

  Plugins->>P_Artifacts: run plugin: collect artifacts
  P_Artifacts->>Sonobuoy: report progress
  P_Artifacts->>Sonobuoy: save results
  Sonobuoy->>OCP/KAS: collect cluster objects
  Sonobuoy->>Sonobuoy: Post Processor
  Sonobuoy->>Sonobuoy: Finished Artifacts
  Sonobuoy->>OPCT: Show Summary
  OPCT->>Sonobuoy: ./opct retrieve
  OPCT->>OPCT: ./opct results <result>.tar.gz
  OPCT->>OCP/KAS: ./opct destroy
  OCP/KAS->>OPCT: Finished