Skip to content

[CNV-75960] Add STP for Multi-Arch Boot Image Import and DataSource Lifecycle#22

Open
geetikakay wants to merge 1 commit intoRedHatQE:mainfrom
geetikakay:infra_stp_multiarch
Open

[CNV-75960] Add STP for Multi-Arch Boot Image Import and DataSource Lifecycle#22
geetikakay wants to merge 1 commit intoRedHatQE:mainfrom
geetikakay:infra_stp_multiarch

Conversation

@geetikakay
Copy link

@geetikakay geetikakay commented Jan 13, 2026

STP for enableMultiArchBootImageImport feature testing on heterogeneous clusters. Covers DataSource lifecycle, architecture labeling, duplicate prevention, and cleanup validation.

Related: VIRTSTRAT-494
Parent STP: #12

STP Metadata

VEP issue:

What this PR does

Special notes for your reviewer

Summary by CodeRabbit

  • Documentation
    • Added an OpenShift Virtualization test plan: "Multi-Architecture Boot Image Import and DataSource Lifecycle - Quality Engineering Plan." Includes metadata, feature overview, conventions, QE review guidelines, motivation, requirements, technology/design review, scope, objectives, test strategy, environments, tools, entry/exit criteria, risk assessment, known limitations, traceability, sign-off process, and 13 prioritized test scenarios (TC-01 to TC-13).

@coderabbitai
Copy link

coderabbitai bot commented Jan 13, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds a new Software Test Plan "Multi-Architecture Boot Image Import and DataSource Lifecycle - Quality Engineering Plan" at stps/sig-infra/multiarch-automation.md, containing metadata, motivation, requirements, design review prompts, scope/objectives, test strategy, environments/tools, entry/exit criteria, risks/limitations, traceability, sign-off, and detailed test scenarios TC-01–TC-13.

Changes

Cohort / File(s) Summary
Test Planning Documentation
stps/sig-infra/multiarch-automation.md
New STP (~283 lines) introducing metadata, feature overview, conventions, QE review guidance, motivation, requirements, technology/design review questions, scope (in/out), objectives, detailed test strategy, environment and tooling requirements (operators, storage, networking), entry/exit criteria, risk assessment and known limitations, traceability to related STPs/issues, sign-off process, and a matrix of test scenarios TC-01–TC-13 covering DataSource lifecycle, multi-architecture labeling, duplicate prevention, and cross-architecture behavior.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly references the ticket ID (CNV-75960) and accurately describes the main change: adding an STP (Software Test Plan) for multi-architecture boot image import and DataSource lifecycle testing.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into main

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@geetikakay geetikakay force-pushed the infra_stp_multiarch branch 5 times, most recently from ca56a76 to 2665393 Compare January 13, 2026 16:22
@geetikakay geetikakay self-assigned this Jan 13, 2026
@geetikakay geetikakay marked this pull request as ready for review January 18, 2026 21:29
@openshift-virtualization-qe-bot-5

Report bugs in Issues

Welcome! 🎉

This pull request will be automatically processed with the following features:

🔄 Automatic Actions

  • Reviewer Assignment: Reviewers are automatically assigned based on the OWNERS file in the repository root
  • Size Labeling: PR size labels (XS, S, M, L, XL, XXL) are automatically applied based on changes
  • Issue Creation: A tracking issue is created for this PR and will be closed when the PR is merged or closed
  • Branch Labeling: Branch-specific labels are applied to track the target branch
  • Auto-verification: Auto-verified users have their PRs automatically marked as verified
  • Labels: Enabled categories: branch, can-be-merged, cherry-pick, has-conflicts, hold, needs-rebase, size, verified, wip

📋 Available Commands

PR Status Management

  • /wip - Mark PR as work in progress (adds WIP: prefix to title)
  • /wip cancel - Remove work in progress status
  • /hold - Block PR merging (approvers only)
  • /hold cancel - Unblock PR merging
  • /verified - Mark PR as verified
  • /verified cancel - Remove verification status
  • /reprocess - Trigger complete PR workflow reprocessing (useful if webhook failed or configuration changed)
  • /regenerate-welcome - Regenerate this welcome message

Review & Approval

  • /lgtm - Approve changes (looks good to me)
  • /approve - Approve PR (approvers only)
  • /assign-reviewers - Assign reviewers based on OWNERS file
  • /assign-reviewer @username - Assign specific reviewer
  • /check-can-merge - Check if PR meets merge requirements

Testing & Validation

  • /retest tox - Run Python test suite with tox
  • /retest all - Run all available tests

Cherry-pick Operations

  • /cherry-pick <branch> - Schedule cherry-pick to target branch when PR is merged
    • Multiple branches: /cherry-pick branch1 branch2 branch3

Label Management

  • /<label-name> - Add a label to the PR
  • /<label-name> cancel - Remove a label from the PR

✅ Merge Requirements

This PR will be automatically approved when the following conditions are met:

  1. Approval: /approve from at least one approver
  2. LGTM Count: Minimum 2 /lgtm from reviewers
  3. Status Checks: All required status checks must pass
  4. No Blockers: No WIP, hold, conflict labels
  5. Verified: PR must be marked as verified (if verification is enabled)

📊 Review Process

Approvers and Reviewers

Approvers:

  • RoniKishner
  • geetikakay

Reviewers:

  • RoniKishner
  • geetikakay
Available Labels
  • hold
  • verified
  • wip
  • lgtm
  • approve

💡 Tips

  • WIP Status: Use /wip when your PR is not ready for review
  • Verification: The verified label is automatically removed on each new commit
  • Cherry-picking: Cherry-pick labels are processed when the PR is merged
  • Permission Levels: Some commands require approver permissions
  • Auto-verified Users: Certain users have automatic verification and merge privileges

For more information, please refer to the project documentation or contact the maintainers.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Fix all issues with AI agents
In `@stps/sig-infra/multiarch-automation.md`:
- Line 225: Update the table row under the "Untestable Aspects" column that
reads "Very large scale environment (50+ OS images across multiple
architectures)" to hyphenate the compound adjective: change it to "Very
large-scale environment (50+ OS images across multiple architectures)"; ensure
you only modify that phrase in the multiarch-automation.md table row and keep
the rest of the cell content unchanged.
- Line 202: Fix the typo in the checklist item containing
"enableMultiArchBootImageImport": change the misspelled word "releas" to
"release" so the line reads "[ ] enableMultiArchBootImageImport feature is
**available in target release**"; update the text wherever that exact checkbox
string appears in multiarch-automation.md (search for
"enableMultiArchBootImageImport") to ensure consistency.
- Line 68: The table row has 5 cells but the header defines 4, breaking markdown
rendering; update the row in multiarch-automation.md so it has exactly four
pipe-separated cells by removing the extra cell separator — either merge the two
rightmost cells into one (so the long API Extensions content remains as a single
cell) or escape any literal '|' characters inside the cell content (use &#124;
or wrap the inner content to avoid creating extra columns). Ensure the cell
containing the API Extensions text (referencing HCO: status.nodeInfo,
status.dataImportCronTemplates; SSP: enableMultipleArchitectures, cluster
fields; CDI: platform.architecture, arch-specific DataSource naming) is kept
intact as a single table cell.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@stps/sig-infra/multiarch-automation.md`:
- Line 59: Resolve the contradiction between the "Non-Functional Requirements
(NFRs)" summary row and the "Usability Testing" entry by choosing one scope
decision and updating both places: either (A) keep usability in-scope—change the
NFRs row text to exclude "Usability" or reword to explicitly state which NFRs
are out of scope and ensure "Usability Testing" stays marked "Y" with its
validation tasks (reference the table row titled "Non-Functional Requirements
(NFRs)" and the section/header "Usability Testing"), or (B) keep usability
out-of-scope—set "Usability Testing" to "N" and remove the naming-convention
validation tasks under that section; make the two entries consistent and update
any related checklist or validation steps to match.
🧹 Nitpick comments (3)
stps/sig-infra/multiarch-automation.md (3)

5-17: Consider adding VEP issue field to metadata table.

The PR description mentions a VEP issue field but it's not present in the metadata table. While the Enhancement field links to the VEP document, consider adding an explicit "VEP Issue" row for consistency with other STPs in the repository.

📋 Suggested addition to metadata table
 | **Enhancement(s)**     | [dic-on-heterogeneous-cluster](https://github.com/kubevirt/enhancements/blob/main/veps/sig-storage/dic-on-heterogeneous-cluster/dic-on-heterogeneous-cluster.md) |
+| **VEP Issue**          | TBD or N/A                                                                                                                                                         |
 | **Feature in Jira**    | [VIRTSTRAT-494](https://issues.redhat.com/browse/VIRTSTRAT-494)                                                                                                  |

177-177: Clarify compute resource requirements for multi-arch testing.

Marking "Compute Resources" as "N/A" with "No special compute requirements" may be misleading for a multi-arch test plan that explicitly requires both amd64 and arm64 node architectures (line 174). Consider clarifying that while there are no special CPU/memory quantity requirements, the architecture diversity is itself a compute requirement.

📝 Suggested clarification
-| **Compute Resources**                         | N/A                | No special compute requirements                                            |
+| **Compute Resources**                         | Mixed architecture nodes required                | No special CPU/memory quantities beyond standard worker nodes. Architecture diversity (amd64 + arm64) is mandatory per cluster topology.                                            |

244-261: Restructure traceability matrix to link test cases to requirements.

The current table uses "Requirement ID" for test case identifiers (TC-01, etc.), but does not trace these test cases back to actual requirements from Jira (e.g., VIRTSTRAT-494 or sub-requirements/user stories). This reduces traceability and makes it difficult to verify that all requirements are covered.

Consider restructuring to either:

  1. Add a separate "Requirement ID" column that references Jira issues/epics, or
  2. Rename "Requirement ID" to "Test Case ID" and add requirement traceability in the description
🔗 Example restructured table with requirement traceability

Option 1: Add requirement column (preferred for full traceability):

| Requirement ID | Test Case ID | Test Scenario Summary | Tier | Priority | Known Issues |
| :------------- | :----------- | :-------------------- | :--- | :------- | :----------- |
| VIRTSTRAT-494 | TC-01 | Golden images on multi-arch cluster | Tier 1 | P0 | |
| VIRTSTRAT-494 | TC-02 | Images added post-deployment | Tier 2 | P1 | |
...

Option 2: Rename column to clarify:

| Test Case ID | Test Scenario Summary | Tier | Priority | Known Issues |
| :----------- | :-------------------- | :--- | :------- | :----------- |
| TC-01 (VIRTSTRAT-494) | Golden images on multi-arch cluster | Tier 1 | P0 | |

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@stps/sig-infra/multiarch-automation.md`:
- Line 210: The exit criteria line currently reads "All P0, P1 test scenarios
executed and passing (TC-01, TC-03, TC-06, TC-07, TC-11)" but only lists a
subset; either expand the parenthetical to include every P0 and P1 test case or
change the wording to accurately reflect the list (e.g., "Key P0/P1 scenarios
executed and passing (TC-01, TC-03, TC-06, TC-07, TC-11)"). Update the checklist
text (the line starting with "[ ] All P0, P1 test scenarios executed and
passing") to use one of these two fixes and ensure the phrasing matches the
scope of the listed TC identifiers.
- Around line 170-181: The "Required Operators" row in the environment table
leaves the "Specification Examples" cell empty; update the table so no cells are
blank by adding concrete examples such as operator names and versions (e.g.,
"SSP v1.x, CDI v1.x, HCO v1.x" or the specific operator package names + minimal
version constraints) in the "Specification Examples" column for the "Required
Operators" row to match the rule that "N/A" or explicit values must be present.

Copy link

@RoniKishner RoniKishner left a comment

Choose a reason for hiding this comment

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

Really Good Job on this STP.

can you add to the PR description a link to https://github.com/geetikakay/openshift-virtualization-tests-design-docs/blob/infra_stp_multiarch/stps/sig-infra/multiarch-automation.md
This will help review the STP in a more human eye way.

@RoniKishner
Copy link

/lgtm

Comment on lines 255 to 256

Choose a reason for hiding this comment

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

Removing nodes isn't a simple task, i'm not sure if we can do it in openshift-virtualization-tests, but if we can, I think it fits the tier 3 section.
Lets Check with a product manager if we should put it as a priority 0 ?

Copy link
Author

@geetikakay geetikakay Feb 16, 2026

Choose a reason for hiding this comment

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

you are right . This will be a destructive task and i am unsure if we should really put this in . I will ask maintainers

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
stps/sig-infra/multiarch-automation.md (1)

182-182: Consider adding operator version specifications.

The "Specification Examples" column contains "N/A" but typically would list operator versions or package names (e.g., "SSP operator v4.21+, CDI operator v1.60+, HCO v4.21+"). While "N/A" satisfies the "no empty cells" rule, providing actual version constraints would improve clarity.

💡 Optional enhancement
-| **Required Operators**                        | SSP, CDI, HCO                        | N/A |
+| **Required Operators**                        | SSP, CDI, HCO                        | SSP operator v4.21+, CDI operator v1.60+, HCO v4.21+ (versions supporting enableMultiArchBootImageImport) |

…ifecycle

STP for enableMultiArchBootImageImport feature testing on heterogeneous
clusters. Covers DataSource lifecycle, architecture labeling,
duplicate prevention, and cleanup validation.

Related: VIRTSTRAT-494
Parent STP: RedHatQE#12

Signed-off-by: Geetika Kapoor <gkapoor@redhat.com>
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.

6 participants

Comments