Skip to content

feat(ci): add disconnected OCP smoke test for Helm and Operator#5008

Draft
zdrapela wants to merge 1 commit into
redhat-developer:mainfrom
zdrapela:rhdh.3
Draft

feat(ci): add disconnected OCP smoke test for Helm and Operator#5008
zdrapela wants to merge 1 commit into
redhat-developer:mainfrom
zdrapela:rhdh.3

Conversation

@zdrapela

@zdrapela zdrapela commented Jun 24, 2026

Copy link
Copy Markdown
Member

Add end-to-end disconnected CI pipeline handlers that mirror RHDH images, operator, and dynamic plugins to an isolated mirror registry, deploy via Helm or Operator, and run a Playwright smoke test.

Changes

Shared library (lib/disconnected.sh)

  • disconnected::require_env — validates DISCONNECTED, MIRROR_REGISTRY_* env vars
  • disconnected::fetch_script — downloads scripts from rhdh-operator
  • disconnected::mirror_image — skopeo copy with --dest-cert-dir

Helm handler (jobs/ocp-disconnected-helm.sh)

  • Hub and PostgreSQL image mirroring (PG coords resolved dynamically from chart)
  • Plugin mirroring via mirror-plugins.sh from rhdh-operator
  • ImageDigestMirrorSet for both quay.io and registry.redhat.io sources
  • registries.conf ConfigMap covering all three plugin registries
  • Helm deployment with mirrored image overrides
  • Supports CATALOG_INDEX_IMAGE override for CI build verification

Operator handler (jobs/ocp-disconnected-operator.sh)

  • Operator mirroring and installation via prepare-restricted-environment.sh
  • Plugin mirroring via mirror-plugins.sh
  • Backstage CR with extraFiles configMap for registries.conf mount
  • Supports CATALOG_INDEX_IMAGE override for CI build verification

Resource templates (resources/disconnected/)

  • idms-mirror.yaml — IDMS with entries for both quay.io and registry.redhat.io hub image sources
  • plugin-mirror-configmap.yaml — registries.conf covering registry.access.redhat.com/rhdh, quay.io/rhdh, and ghcr.io/redhat-developer/rhdh-plugin-export-overlays (6 CI catalog plugins)
  • helm-overrides.yaml — Helm values for registries.conf volume mount (avoids array clobber)

Dispatcher

  • Routes *ocp*disconnected*helm*nightly* and *ocp*disconnected*operator*nightly* before generic patterns

Companion PR

openshift/release#81128 — step-registry changes (commands.sh, ref.yaml) to align CATALOG_INDEX_IMAGE as a single Gangway override parameter.

@openshift-ci

openshift-ci Bot commented Jun 24, 2026

Copy link
Copy Markdown

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@codecov

codecov Bot commented Jun 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 54.77%. Comparing base (8ba9f0e) to head (16819c2).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5008      +/-   ##
==========================================
- Coverage   55.39%   54.77%   -0.62%     
==========================================
  Files         122      110      -12     
  Lines        2365     2147     -218     
  Branches      563      542      -21     
==========================================
- Hits         1310     1176     -134     
+ Misses       1048      969      -79     
+ Partials        7        2       -5     
Flag Coverage Δ
rhdh 54.77% <ø> (-0.62%) ⬇️

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8ba9f0e...16819c2. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@github-actions

Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@zdrapela

Copy link
Copy Markdown
Member Author

/test e2e-ocp-disconnected-helm-nightly

@zdrapela

Copy link
Copy Markdown
Member Author

/test e2e-ocp-disconnected-operator-nightly

@github-actions

Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@zdrapela

Copy link
Copy Markdown
Member Author

/test e2e-ocp-disconnected-helm-nightly

@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: failure.

@github-actions

Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@zdrapela

Copy link
Copy Markdown
Member Author

/test e2e-ocp-disconnected-helm-nightly

@github-actions

Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@github-actions

Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@github-actions

Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@zdrapela zdrapela changed the title feat(ci): add disconnected CI smoke tests for Helm deployment feat(ci): add disconnected OCP smoke test for Helm and Operator Jun 26, 2026
@zdrapela

Copy link
Copy Markdown
Member Author

/test e2e-ocp-disconnected-helm-nightly

@zdrapela

Copy link
Copy Markdown
Member Author

/test e2e-ocp-disconnected-operator-nightly

@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@zdrapela

Copy link
Copy Markdown
Member Author

/test e2e-ocp-disconnected-helm-nightly

@zdrapela

Copy link
Copy Markdown
Member Author

/test e2e-ocp-disconnected-operator-nightly

@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@github-actions

Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

Add end-to-end disconnected CI pipeline handlers that deploy RHDH in
an isolated OCP cluster and run a Playwright smoke test.

Helm path uses oc-mirror v2 (downloaded at runtime) for chart + image
mirroring, following the documented air-gapped workflow:
- GA (registry.redhat.io): chart from charts.openshift.io, oc-mirror
  discovers and mirrors default images automatically
- CI/upstream: chart from oci://quay.io/rhdh/chart via helm.local,
  override images added as additionalImages
- oc-mirror generates IDMS, patched with cross-registry entries for
  both quay.io and registry.redhat.io hub image sources
- Chart installed from local tgz in oc-mirror workspace

Operator path uses prepare-restricted-environment.sh from rhdh-operator
for operator+operand mirroring and installation (documented approach).

Both paths share:
- Auth setup (REGISTRY_AUTH_FILE + XDG_RUNTIME_DIR/containers/auth.json)
- Plugin mirroring via mirror-plugins.sh with registries.conf covering
  registry.access.redhat.com/rhdh, quay.io/rhdh, and
  ghcr.io/redhat-developer/rhdh-plugin-export-overlays (6 CI plugins)
- Helm overrides for registries.conf volume mount (avoids array clobber)
- CATALOG_INDEX_IMAGE override support for CI build verification

Dispatcher routing in openshift-ci-tests.sh for
*ocp*disconnected*helm*nightly* and *ocp*disconnected*operator*nightly*
patterns, positioned before generic *ocp*helm*nightly* to prevent
false matches.

Assisted-by: OpenCode
@github-actions

Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@sonarqubecloud

Copy link
Copy Markdown

@zdrapela

Copy link
Copy Markdown
Member Author

/test e2e-ocp-disconnected-helm-nightly

@zdrapela

Copy link
Copy Markdown
Member Author

/test e2e-ocp-disconnected-operator-nightly

@openshift-ci

openshift-ci Bot commented Jun 26, 2026

Copy link
Copy Markdown

@zdrapela: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-ocp-disconnected-operator-nightly 859f873 link false /test e2e-ocp-disconnected-operator-nightly
ci/prow/e2e-ocp-disconnected-helm-nightly 859f873 link false /test e2e-ocp-disconnected-helm-nightly

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant