Skip to content

OCPNETUI-56: Hot-cluster CI infrastructure and test fixes - #522

Open
lkladnit wants to merge 1 commit into
openshift:mainfrom
lkladnit:ocpnetui-56
Open

lkladnit wants to merge 1 commit into
openshift:mainfrom
lkladnit:ocpnetui-56

Conversation

@lkladnit

Copy link
Copy Markdown
Contributor

Summary

Adds hot-cluster CI infrastructure for running Cypress E2E tests on a persistent OpenShift cluster via GitHub Actions + ARC self-hosted runners. Also fixes login flow for no-auth mode and updates test suite for OCP 5.0.

What is included

  • GitHub Actions workflows: hot-cluster-e2e.yml (entry + health check) and hot-cluster-e2e-run.yml (build, provision, test, cleanup)
  • Composite actions: ci-env-request / ci-env-release
  • Dockerfile.ci with public UBI9 base images
  • Helm chart RBAC fix (cluster-admin for CI console SA)
  • Login flow: detect no-auth mode (bearer-token console) and skip OAuth
  • Visit-pages: wait for sidebar nav instead of quickstart IDs
  • Temporarily disabled 11 tests needing selector updates for OCP 5.0

FIPS cluster support

  • OPENSSL_FORCE_FIPS_MODE=0 for runner, GOLANG_FIPS=0 for oc CLI
  • Node.js + Xvfb + Cypress deps installed on runner

Cluster setup docs

See ui-tests-cy/CLUSTER.md for step-by-step RHOS cluster preparation.

Depends on #489, #490, #491, #497.

Jira: OCPNETUI-56

Made with Cursor

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Sep 17, 2026
@openshift-ci-robot

openshift-ci-robot commented Sep 17, 2026

Copy link
Copy Markdown

@lkladnit: This pull request references OCPNETUI-56 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.1.0" version, but no target version was set.

Details

In response to this:

Summary

Adds hot-cluster CI infrastructure for running Cypress E2E tests on a persistent OpenShift cluster via GitHub Actions + ARC self-hosted runners. Also fixes login flow for no-auth mode and updates test suite for OCP 5.0.

What is included

  • GitHub Actions workflows: hot-cluster-e2e.yml (entry + health check) and hot-cluster-e2e-run.yml (build, provision, test, cleanup)
  • Composite actions: ci-env-request / ci-env-release
  • Dockerfile.ci with public UBI9 base images
  • Helm chart RBAC fix (cluster-admin for CI console SA)
  • Login flow: detect no-auth mode (bearer-token console) and skip OAuth
  • Visit-pages: wait for sidebar nav instead of quickstart IDs
  • Temporarily disabled 11 tests needing selector updates for OCP 5.0

FIPS cluster support

  • OPENSSL_FORCE_FIPS_MODE=0 for runner, GOLANG_FIPS=0 for oc CLI
  • Node.js + Xvfb + Cypress deps installed on runner

Cluster setup docs

See ui-tests-cy/CLUSTER.md for step-by-step RHOS cluster preparation.

Depends on #489, #490, #491, #497.

Jira: OCPNETUI-56

Made with Cursor

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 openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai

coderabbitai Bot commented Sep 17, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 0867c939-3e0e-4476-9d98-bb45e4eca1ca


Comment @coderabbitai help to get the list of available commands.

@openshift-ci

openshift-ci Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: lkladnit

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 17, 2026
@lkladnit
lkladnit force-pushed the ocpnetui-56 branch 6 times, most recently from 3cbb726 to 1868fec Compare September 17, 2026 11:17
@rszwajko
rszwajko requested review from rszwajko and sjd78 September 17, 2026 12:59
@lkladnit lkladnit self-assigned this Sep 17, 2026
Skip e2e.yml when CONSOLE_URL secret is not configured

Set Xvfb screen to 1920x1080 for full-size screenshots

Grant cluster-admin to CI console SA for full API access

The console SA had insufficient permissions - 403 on operator.openshift.io
and user.openshift.io APIs, preventing the networking plugin from loading.
Use cluster-admin for CI (this is a test-only SA in an ephemeral namespace).

Fix login flow for no-auth mode (hot-cluster bearer-token console)

In hot-cluster CI, the console runs with BRIDGE_USER_AUTH=disabled
(bearer-token auth). There is no OAuth login page. Detect this by
checking if the URL lands on the dashboard directly, and skip the
cy.origin() OAuth flow.

Also fix visit-pages to wait for sidebar nav instead of relying on
quickstart data-test IDs.

Install Xvfb and GTK deps for Cypress headless on ARC runner

Fix Node.js install - use tar.gz instead of tar.xz (xz not on runner)

Install Node.js on ARC runner (not pre-installed)

Replace ci-env-controller with direct helm install from runner

The ci-env-controller pod lacks helm and the ci-test-stack chart,
so it cannot provision environments. Instead, install the test stack
directly from the runner using helm install with the local chart.

Also install helm on the runner alongside oc CLI.

Finalize Hot-cluster CI. Add hot-cluster workflows, update docs, add cluster setup guide.

- Add GitHub Actions workflows (hot-cluster-e2e.yml, hot-cluster-e2e-run.yml)
- Add composite actions (ci-env-request, ci-env-release)
- Add Dockerfile.ci and .dockerignore for GitHub Actions builds
- Add ui-tests-cy/CLUSTER.md with step-by-step RHOS cluster preparation
- Update MIGRATION.md and PLAN.md to reflect current state

Co-authored-by: Cursor <cursoragent@cursor.com>
@openshift-ci

openshift-ci Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

@lkladnit: 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/images 5c94f43 link true /test images
ci/prow/okd-scos-images 5c94f43 link true /test okd-scos-images
ci/prow/lint 5c94f43 link true /test lint

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

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants