Skip to content

Support EgressIP role in shiftstack-qa automation - #10

Merged
ekuris-redhat merged 2 commits into
mainfrom
egress_migration
Jun 29, 2026
Merged

Support EgressIP role in shiftstack-qa automation#10
ekuris-redhat merged 2 commits into
mainfrom
egress_migration

Conversation

@dlaw4608

Copy link
Copy Markdown
Contributor

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

@dlaw4608dlaw4608 self-assigned this May 25, 2026
@dlaw4608dlaw4608 added the enhancement New feature or request label May 25, 2026
@dlaw4608
dlaw4608 requested a review from imatza-rhMay 25, 2026 15:17

@imatza-rhimatza-rh left a comment

Copy link
Copy Markdown
Contributor

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>
 - Add OCP version/network type discovery task
- Fix HOME env variable access (use lookup instead of ansible_env)
- Correct Go install task filename (install_go.yml)
- Fix allowlist conversion (disable version-based filtering)
- Add git clone force flag for idempotency
Verified working on OCP 4.22.3 + OVNKubernetes.
Change-Id: I562113de5fd0d1f24dcceb0d1f810eedf2fb1719
@dlaw4608

Copy link
Copy Markdown
ContributorAuthor

@imatza-rhimatza-rh added the ready-for-review PR is ready for code review label Jun 28, 2026
@imatza-rh

Copy link
Copy Markdown
Contributor

@tusharjadhav3302
tusharjadhav3302 self-requested a review June 29, 2026 10:39

@tusharjadhav3302tusharjadhav3302 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@ekuris-redhatekuris-redhat left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LTGM , passed the E2E verification.

@ekuris-redhat
ekuris-redhat merged commit 2dc4a2c into mainJun 29, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or requestready-for-reviewPR is ready for code review

Development

Successfully merging this pull request may close these issues.

4 participants

@dlaw4608@imatza-rh@ekuris-redhat@tusharjadhav3302