Skip to content

Fix Polarion test case ID matching in modifyE2ETags.py#27

Open
tusharjadhav3302 wants to merge 1 commit into
mainfrom
fix-polarion-classname-and-otp-prefix
Open

Fix Polarion test case ID matching in modifyE2ETags.py#27
tusharjadhav3302 wants to merge 1 commit into
mainfrom
fix-polarion-classname-and-otp-prefix

Conversation

@tusharjadhav3302

@tusharjadhav3302 tusharjadhav3302 commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Fix Polarion test case ID matching in modifyE2ETags.py to resolve the
"Cannot proceed without xml with tempest results" crash in jump.py.

Problem

jump.py builds the Polarion match key as classname.name. The XML produced
by modifyE2ETags.py had:

  • classname = "no-testclass" (Ginkgo's default, never overwritten)
  • name = "OTP.sig-installer.Suite_openshift_openstack..."

This produced IDs like no-testclass.OTP.sig-installer.Suite_openshift_openstack...
which don't match any registered Polarion entries. The Polarion query returned
an empty dict, causing the JumpException crash.

Fix

  1. Strip the OTP. prefix (comes from the [OTP] tag in openshift-tests output)
  2. Split the formatted name at the first dot — first segment becomes classname,
    rest becomes name

Before/After

Before: classname="no-testclass" name="OTP.sig-installer.Suite_openshift_openstack.lb..." → match key: no-testclass.OTP.sig-installer.Suite_openshift_openstack... (no Polarion match → crash)

After: classname="sig-installer" name="Suite_openshift_openstack.lb..." → match key: sig-installer.Suite_openshift_openstack... (matches RHOSO-11212 to RHOSO-11266)

Validation

Manually tested on serval70 with jump.py --dry_run=True (no --no-mapping).
Tests matched correctly against Polarion entries. Only legitimately skipped
tests (IPv6, Kuryr, Amphora) show warnings — expected behavior.

Related-Issue: OSPRH-32990

@openshift-ci

openshift-ci Bot commented Jul 24, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign chenwng for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

jump.py builds the Polarion match key as "classname.name" and
queries Polarion for entries matching those IDs. The XML produced
by modifyE2ETags.py had classname="no-testclass" (Ginkgo's
default, never overwritten) and an "OTP." prefix in the name
(from the [OTP] tag). This produced IDs like
"no-testclass.OTP.sig-installer.Suite_openshift_openstack..."
which matched nothing in Polarion. The empty query result caused
process_xml() to raise JumpException("Cannot proceed without xml
with tempest results").

Strip the "OTP." prefix and split the formatted name at the first
dot — first segment becomes classname, rest becomes name. This
produces classname="sig-installer" and name="Suite_openshift_
openstack.<category>.<description>", matching the 21 registered
automation-test-ids (RHOSO-11212 through RHOSO-11266).

Validated on serval70 with jump.py --dry_run=True (no
--no-mapping). Tests matched correctly against Polarion entries.

Related-Issue: OSPRH-32990
Co-authored-by: Cursor <cursoragent@cursor.com>
@tusharjadhav3302
tusharjadhav3302 force-pushed the fix-polarion-classname-and-otp-prefix branch from c545659 to ba0f39d Compare July 24, 2026 12:04
@tusharjadhav3302 tusharjadhav3302 added the ready-for-review PR is ready for code review label Jul 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-review PR is ready for code review

Development

Successfully merging this pull request may close these issues.

1 participant