Skip to content

Support EgressIP role in shiftstack-qa automation#10

Open
dlaw4608 wants to merge 1 commit into
mainfrom
egress_migration
Open

Support EgressIP role in shiftstack-qa automation#10
dlaw4608 wants to merge 1 commit into
mainfrom
egress_migration

Conversation

@dlaw4608
Copy link
Copy Markdown

Added EgressIP test role to shiftstack-qa

Migrate EgressIP testing from Jenkins/infrared to shiftstack-qa as part of
the effort to consolidate all OpenShift-on-OpenStack testing into a single
framework.

This PR adds a new egressip_tests stage role that:

  • Clones and builds openshift-tests-private test suite
  • Dynamically detects OCP version and network backend (OVNKubernetes/OpenShiftSDN/Kuryr)
  • Filters tests using per-version, per-backend allowlists
  • Runs filtered EgressIP test suite against the cluster
  • Collects JUnit results and triggers must-gather on failures

The allowlist structure (ported from rhos-infrared/egressip-whitelist.yaml)
supports OCP 4.12-4.22 with version and network backend specific test filtering.
Tests are filtered from thousands down to ~14-20 relevant EgressIP tests based
on the cluster configuration.

Integration:

  • Added egressip_tests to osp_verification.yaml for OSP candidate release testing
  • Integrated into main testing pipeline (ocp_testing.yaml)
  • Follows existing shiftstack-qa patterns (prepare → run → post → cleanup)

Generated with the help of Claude Code sonnet 4.5

@dlaw4608 dlaw4608 self-assigned this May 25, 2026
@dlaw4608 dlaw4608 added the enhancement New feature or request label May 25, 2026
@dlaw4608 dlaw4608 requested a review from imatza-rh May 25, 2026 15:17
Copy link
Copy Markdown
Contributor

@imatza-rh imatza-rh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work porting the EgressIP tests. A few items to address before CI:

1. Private repo clone will fail
The shared prepare_openshift_tests.yml clones via unauthenticated HTTPS. openshift-tests-private is a private repo and will 404. The IR plugin handles this with SSH + deploy key for private repos. We need a similar mechanism in our shared role.

Since shiftstack-qa is a public repo, the deploy key can't be committed as plaintext like the IR plugin does. It should go into configs/secret.yaml (vault-encrypted) or be injected via CI secrets.

2. Build command
make WHAT=cmd/openshift-tests (run_egressip_tests.yml:42) is the origin repo pattern. openshift-tests-private's Makefile doesn't use WHAT - it works because the variable is ignored and the default target runs, but the correct command is make build (matching the IR plugin).

3. Needs end-to-end verification
Before merging, this should be executed against a live environment to confirm the full flow works: clone, build, test filtering, execution, and result collection. Have you been able to run this successfully?

Everything else looks good - the allowlist covers the same test set as the IR source (with simplified regexes), the version/backend detection logic is solid, and skipping the copy step matches the IR plugin's approach for this repo.

  Port EgressIP testing from Jenkins/infrared to shiftstack-qa.

  - Creates egressip_tests role that runs openshift-tests-private suite
  - Dynamically detects OCP version (4.12-4.22) and network backend
    (OpenShiftSDN/OVNKubernetes/Kuryr)
  - Filters tests using per-version, per-backend allowlist
  - Integrated into osp_verification.yaml for OSP candidate release
    validation

  Allowlist ported from rhos-infrared egressip-whitelist.yaml covering:
  - 4.12-4.14: OpenShiftSDN, OVNKubernetes, Kuryr support
  - 4.15+: OVNKubernetes only (SDN deprecated)

Change-Id: I222491ea7ed254e12ea5935564c1ce026d9bc105
Signed-off-by: Daniel Lawton <dlawton@redhat.com>
@dlaw4608 dlaw4608 force-pushed the egress_migration branch from b22d878 to d677a2b Compare May 26, 2026 11:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Development

Successfully merging this pull request may close these issues.

2 participants