Skip to content
Open
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
788526f
[CNV-63822] Test plan out-out of role aggregation
albarker-rh Apr 14, 2026
21181f6
Address comments and aligning to the newer version of the STP template
albarker-rh Apr 14, 2026
1b0b929
Address second round of comments and update status
albarker-rh Apr 14, 2026
dcd160b
hco implementation completed
albarker-rh Apr 13, 2026
3a9c2b5
updated stp using new AGENTS.md specification
albarker-rh Apr 14, 2026
ad316c0
added platform spec examples, filled in dev handoff and tech challeng…
albarker-rh Apr 14, 2026
c804426
refactored stp to fit new template
albarker-rh Apr 15, 2026
426bb2f
reformatted customer use cases into stories
albarker-rh Apr 16, 2026
7bd6829
condensed feature overview
albarker-rh Apr 17, 2026
4760987
added regression goals distinction
albarker-rh Apr 17, 2026
0082bcf
reworded several sections for clarity, removed/revised duplicate test…
albarker-rh Apr 21, 2026
846cb03
update tier 1 scenarios to match HCO tests, align goals with scenario…
albarker-rh Apr 29, 2026
c69a0a8
Merge remote-tracking branch 'origin/main' into CNV-63822
albarker-rh May 5, 2026
a6b077f
add feature maturity, broaden acceptance criteria to all roles, and c…
albarker-rh May 5, 2026
c3f500b
Made customer use cases more concise using wording from @hmeir
albarker-rh May 5, 2026
c2ee21c
pre-commit changes
albarker-rh May 5, 2026
ef0ddfa
removed an acceptance criteria, condensed kickoff meeting takeaways a…
albarker-rh May 6, 2026
e49f61a
Minor wording changes from @orenc
albarker-rh May 7, 2026
5d87995
updated docs status
albarker-rh May 7, 2026
d8de47c
added feature overview phase, added acceptance criteria, made n/a ris…
albarker-rh May 11, 2026
80f1c64
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 11, 2026
ee5e63d
updated ui representative
albarker-rh May 11, 2026
664286d
Merge branch 'CNV-63822' of github.com:albarker-rh/openshift-virtuali…
albarker-rh May 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
318 changes: 318 additions & 0 deletions stps/sig-iuo/CNV-63822-role-aggregation-opt-out.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,318 @@
# Openshift-virtualization-tests Test plan
Comment thread
albarker-rh marked this conversation as resolved.

## **Role Aggregation Opt-Out - Quality Engineering Plan**

### **Metadata & Tracking**

- **Enhancement(s):** [Kubevirt VEP](https://github.com/kubevirt/enhancements/issues/160)
- **Feature Tracking:** [CNV-50792](https://issues.redhat.com/browse/CNV-50792)
- **Epic Tracking:** [CNV-63822](https://issues.redhat.com/browse/CNV-63822)
- **Feature Maturity:**
- DP: 4.22
- TP: 4.23/5.0
- GA: 5.1
- **QE Owner(s):** Ramon Lobillo (@rlobillo), Alex Barker (@albarker-rh)
- **Owning SIG:** sig-iuo (Install, Upgrade, Operators)
Comment thread
albarker-rh marked this conversation as resolved.
- **Participating SIGs:** sig-ui

**Document Conventions (if applicable):** N/A — no feature-specific terms required.

### **Feature Overview**

By default, all project administrators, editors, and viewers automatically receive access to
OpenShift Virtualization resources. Role Aggregation Opt-Out allows cluster administrators to
disable this automatic access and instead grant virtualization permissions explicitly per user
and namespace, enabling fine-grained control in multi-tenant environments.
This STP covers testing for the Tech Preview phase (4.23/5.0).

---

### **I. Motivation and Requirements Review (QE Review Guidelines)**

This section documents the mandatory QE review process. The goal is to understand the feature's value,
technology, and testability before formal test planning.

#### **1. Requirement & User Story Review Checklist**

- [x] **Review Requirements**
- *List the key D/S requirements reviewed:* Cluster admins can limit the access to virtualization components

- [x] **Understand Value and Customer Use Cases**
- *Describe the feature's value to customers:* Enables tenant isolation by requiring
explicit virtualization access grants instead of automatic role aggregation.
- *List the customer use cases identified:*
- As a cluster administrator, I want to disable automatic virtualization access
so that only explicitly authorized users can use and interact with virtualization resources

- [x] **Testability**
- *Note any requirements that are unclear or untestable:* All requirements are testable
through standard API and RBAC validation.

- [x] **Acceptance Criteria**
- *List the acceptance criteria:*
- A cluster administrator can control the role aggregation strategy and any change to the setting takes effect on the virtualization deployment
- When opt-out is enabled, users with project admin, edit, or view roles in a namespace are forbidden from performing actions on virtualization resources
- When opt-out is disabled after being enabled, automatic access is restored for users who were previously blocked
- *Note any gaps or missing criteria:* None. Defined in CNV-63822 epic.

- [x] **Non-Functional Requirements (NFRs)**
- *List applicable NFRs and their targets:*
- Security: RBAC hardening — users blocked without explicit grant
- Backward Compatibility: default unchanged
- UI: console changes tracked under CNV-80935
- Docs: upstream docs available; downstream docs planned for 4.22
- *Note any NFRs not covered and why:*
- Performance: N/A — negligible RBAC overhead
- Monitoring: N/A — no new metrics/alerts, uses standard Kubernetes RBAC
- Scalability: N/A — scales with Kubernetes natively
- Observability: N/A — standard audit logging covers RBAC decisions

#### **2. Known Limitations**

The limitations are documented to ensure alignment between development, QA, and product teams.
The following are confirmed product constraints accepted before testing begins.

None — reviewed and confirmed with [Name/Date — TBD] that no feature limitations apply for
this release.
Comment on lines +75 to +76
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot Apr 14, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Replace placeholder with actual sign-off.

Line 48-49 contains "[Name/Date — TBD]" placeholder. As per coding guidelines, Known Limitations must have actual sign-offs, not placeholders.

CRITICAL SEVERITY — this blocks approval. Replace with actual reviewer name and date (e.g., "Ramon Lobillo / 2026-04-10").

As per coding guidelines: "STP Section I.2 Known Limitations: Each limitation must have a sign-off in format 'Sign-off: [Name/Date]' — if none exist, must state 'None — reviewed and confirmed with [Name/Date]'".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@stps/sig-iuo/CNV-63822-role-aggregation-opt-out.md` around lines 48 - 49,
Replace the placeholder "[Name/Date — TBD]" in the STP Section I.2 Known
Limitations paragraph with an actual sign-off in the required format (e.g.,
"Ramon Lobillo / 2026-04-10"); locate the placeholder string in the document
CNV-63822-role-aggregation-opt-out.md (Section I.2 Known Limitations) and update
it to "None — reviewed and confirmed with [Name/Date]" using the real reviewer
name and date so the Known Limitations entry contains a proper sign-off.

✅ Addressed in commits 628d7b2 to 5f10b34

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

noted

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@albarker-rh, thanks for acknowledging! Just a reminder — this is CRITICAL severity and will block approval. Please replace the [Name/Date — TBD] placeholder with an actual reviewer name and date before merging. The format should be:

None — reviewed and confirmed with Ramon Lobillo / 2026-04-XX

🧠 Learnings used
Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 65
File: stps/sig-virt/heterogeneous-rhcos9-rhcos10/network.md:7-7
Timestamp: 2026-04-13T10:17:47.455Z
Learning: In the openshift-virtualization-tests-design-docs repository (stps/sig-virt/heterogeneous-rhcos9-rhcos10/network.md, PR `#65`), when a feature has neither a VEP nor an HLD, it is acceptable to reference the Jira epic (e.g., CNV-77027) in the Enhancement(s) field, with an explicit note that no VEP or HLD exists. This serves as the closest available design artifact for traceability.

Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 15
File: stps/sig-network/ipv6-single-stack-stp.md:169-175
Timestamp: 2026-01-26T12:49:09.313Z
Learning: In documentation files under stps/, when documenting test scenarios in the 'Test Scenarios & Traceability' table, it's acceptable to reuse a single epic ID (e.g., CNV-28924) for all requirement rows that fall under that epic instead of creating unique sub-requirement IDs for each scenario. This applies only to this repository's documentation guidelines; confirm with project governance if this affects traceability or tooling used for test execution mapping.

Learnt from: yossisegev
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 39
File: stps/sig-network/hotpluggable-nad-ref-stp.md:66-66
Timestamp: 2026-03-11T17:53:51.381Z
Learning: In the openshift-virtualization-tests-design-docs repository (PR `#39`, hotpluggable-nad-ref-stp.md), the agreed outcome from the Anatw review discussion about "Verify behavior when LiveUpdateNADRef feature-gate is disabled" was to lower the priority of the test goal (from P1 to P2/P3), not to remove the goal entirely. Anatw stated: if the scenario is included, it should be lower priority (P3). The author lowered it to P2, which satisfies the agreement.

Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 74
File: stps/sig-network/hotpluggable-nad-ref.md:100-102
Timestamp: 2026-04-14T11:30:34.673Z
Learning: In the openshift-virtualization-tests-design-docs repository (stps/sig-network/hotpluggable-nad-ref.md, PR `#74`), the "Topology Considerations" subsection of Section I.3 does not need to repeat cluster requirements (e.g., multi-node required, SNO excluded) if those constraints are already explicitly documented in the "Known Limitations" section (I.2) and the "Test Environment" section (II.3). Cross-referencing across sections is acceptable; duplication is not required.

Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 15
File: stps/sig-network/ipv6-single-stack-stp.md:175-179
Timestamp: 2026-01-29T20:07:55.187Z
Learning: In the openshift-virtualization-tests-design-docs repository, when documenting test scenarios in the "Test Scenarios & Traceability" table where multiple test scenarios fall under the same epic, it's acceptable and preferred to leave the Requirement ID cells empty for subsequent rows after the first row which contains the epic ID (e.g., CNV-28924 (epic)). Repeating the epic ID in each row is considered redundant.

Learnt from: Anatw
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 37
File: stps/sig-network/stuntime_measurement.md:123-124
Timestamp: 2026-02-24T16:42:14.161Z
Learning: In the openshift-virtualization-tests-design-docs repository, when documenting "OCP & OpenShift Virtualization Version(s)" in STP test environment tables, features may specify "v4.X onward" while also noting "Can be backported to all versions." This indicates the feature debuts in version X and continues forward, but tests and functionality can also be backported to earlier releases.
<!-- <review_comment_addressed>

Learnt from: yossisegev
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 7
File: stps/sig-network/ip-request-stp.md:0-0
Timestamp: 2026-01-19T08:27:03.411Z
Learning: In the openshift-virtualization-tests-design-docs repository, not all features have OpenShift enhancement PRs. When no enhancement PR exists, it's acceptable to reference only the HLD (High-Level Design) document in the Enhancement(s) field of the STP metadata table.

Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 65
File: stps/sig-virt/heterogeneous-rhcos9-rhcos10/network.md:187-187
Timestamp: 2026-04-13T10:27:58.826Z
Learning: When reviewing STP markdown docs in this repo (e.g., under `stps/`), do not flag the template default in Section II.3.1 “Testing Tools & Frameworks” where `- **Test Framework:** Standard` is used. This is intentional and indicates no new or non-standard tools are required. Only suggest changes if the feature introduces a new/modified test framework, a custom test harness, or significant test infrastructure changes beyond the standard baseline.

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section I.2 Known Limitations: Each limitation must have a sign-off in format '*Sign-off:* [Name/Date]' — if none exist, must state 'None — reviewed and confirmed with [Name/Date]'

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section II.1 Test Limitations: Each limitation must have sign-off in format '*Sign-off:* [Name/Date]' and items must be constraints imposed on QE (not decisions QE made)

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section IV Sign-off and Approval: Reviewers and Approvers must be listed with names and GitHub handles (QE Lead, PM, Dev Lead at minimum) with no placeholder text remaining

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section I.2 Known Limitations: Limitations are constraints (not scope decisions) and open bugs affecting the feature must be listed with Jira links

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-04-12T10:45:10.935Z
Learning: Refer to AGENTS.md for AI review standards for STP pull requests

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section I.3 Technology and Design Review: All items must use [x] checkboxes — Developer Handoff must describe actual meeting takeaways, not just 'meeting conducted'

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: When reviewing STPs, distinguish review severity levels: CRITICAL (missing traceability, empty sign-offs, contradictions — blocks approval), HIGH (template non-compliance, incomplete sections — must fix), MEDIUM (formatting issues, minor improvements — should fix), LOW (style suggestions — nice to have)

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section II.5 Risks: Each risk must have Risk description, Mitigation strategy, and Sign-off — mitigations must be specific and actionable (not vague)

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : Every claim in STPs needs evidence — sign-offs, Jira links, dates. No empty placeholders in approved STPs

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section II.1 Out of Scope: Each item must have Rationale and PM/Lead Agreement with name and date in format '- **Item** / *Rationale:* / *PM/Lead Agreement:*'

Learnt from: rnetser
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 52
File: stps/stp-template/stp.md:11-11
Timestamp: 2026-03-12T12:39:22.684Z
Learning: In the openshift-virtualization-tests-design-docs repository, already-merged STP documents should NOT be checked for formatting consistency with the current template under review. The template may evolve independently, and existing merged STPs are not expected to retroactively conform to new template conventions (e.g., field renaming such as "Jira Tracking" → "Epic in Jira").

Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 65
File: stps/sig-virt/heterogeneous-rhcos9-rhcos10/network.md:174-174
Timestamp: 2026-04-13T10:20:13.766Z
Learning: In the openshift-virtualization-tests-design-docs repository, when a feature's tests are genuinely storage-agnostic (e.g., network-focused STPs under stps/sig-virt/), it is acceptable to write "Any available StorageClass (network-focused tests; storage type does not affect test outcomes)" in the Storage field of Section II.3 Test Environment rather than leaving it as the bare word "Agnostic". The Platform field must also always be populated explicitly (e.g., "Bare metal").

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section II.3 Test Environment: All fields must be filled or marked N/A (no empty fields) — OCP and OpenShift Virtualization versions must be explicit

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.

please update the placeholder

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!


#### **3. Technology and Design Review**

- [x] **Developer Handoff/QE Kickoff**
- *Key takeaways and concerns:* We agreed on the testing strategy and configuration requirements.

- [x] **Technology Challenges**
- *List identified challenges:* N/A
- *Impact on testing approach:* N/A

- [x] **API Extensions**
- *List new or modified APIs:* New cluster-level configuration field to control role
aggregation behavior (default: enabled, opt-out: manual).
- *Testing impact:* Tests must validate config changes and downstream RBAC effects.

- [x] **Test Environment Needs**
- *See environment requirements in Section II.3 and testing tools in Section II.3.1*

- [x] **Topology Considerations**
- *Describe topology requirements:* Feature is cluster-scoped and topology-independent.
- *Impact on test design:* Works on all topologies (standard, SNO, compact).

### **II. Software Test Plan (STP)**

This STP serves as the **overall roadmap for testing**, detailing the scope, approach, resources,
and schedule.

#### **1. Scope of Testing**

**Testing Goals**

- **[P0]** Verify a cluster administrator can enable role aggregation opt-out and the setting is applied to the virtualization deployment
- **[P0]** Verify a cluster administrator can switch the aggregation mode and the change propagates to the virtualization deployment
Comment thread
albarker-rh marked this conversation as resolved.
- **[P0]** Verify that removing the aggregation configuration resets the virtualization deployment to its original unconfigured state
Comment thread
albarker-rh marked this conversation as resolved.
- **[P0]** Verify that when opt-out is enabled, an unprivileged user with a project admin role cannot perform virtualization admin actions (receives Forbidden error)
- **[P0]** Verify that when opt-out is enabled, an unprivileged user with an edit role cannot perform virtualization edit actions (receives Forbidden error)
- **[P0]** Verify that when opt-out is enabled, an unprivileged user with a view role cannot perform virtualization view actions (receives Forbidden error)
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

i would add a small test case in which when opt-out is enabled (i.e. .spec.roleAggregationStrategy is set to Manual in Hyperconverged CR), a project admin can access virtualization resources on his project, if he's being assigned with a RoleBinding for the kubevirt.io:admin ClusterRole.
it means that cluster-admins can grant explicit permissions to individual users, when the kubevirt RBAC aggregation is disabled, as per feature requirement.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

that falls under regression testing since the kubevirt.io:admin role granting permissions already exists. since the new feature changes how the roles are aggregated and not the permissions of the kubevirt.io roles, it should be covered by upstream tests

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.

can you link the test in the comment here for ref?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

- **[P0]** Verify that disabling opt-out after it was enabled restores automatic access for users who were previously blocked

**Regression Goals**

- **[P0]** Verify existing RBAC and migration functionality is not broken by the new feature — tier 2 regression suites run on the feature cluster, including migration rights tests

**Out of Scope (Testing Scope Exclusions)**

The following items are explicitly Out of Scope for this test cycle and represent intentional
exclusions. No verification activities will be performed for these items, and any related issues
found will not be classified as defects for this release.

- **Testing OpenShift RBAC infrastructure itself**
- *Rationale:* Core RBAC evaluation is the responsibility of the OCP platform team; no duplication of their test effort
- *PM/Lead Agreement:* [Name/Date — TBD]
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.

please fill all sign offs


- **Testing all individual permission rules within virtualization roles**
- *Rationale:* Individual role rules are not affected by this feature; this feature controls whether roles are aggregated, not the content of the roles themselves
- *PM/Lead Agreement:* [Name/Date — TBD]

- **External IdP compatibility (LDAP, Active Directory)**
- *Rationale:* RBAC logic is IdP-agnostic; HTPasswd testing validates the core permission logic
- *PM/Lead Agreement:* [Name/Date — TBD]

- **Multi-tenant cluster scale testing (100+ users)**
- *Rationale:* RBAC evaluation overhead is negligible; functional correctness at smaller scale is sufficient
- *PM/Lead Agreement:* [Name/Date — TBD]

**Test Limitations**

None — reviewed and confirmed that no test limitations apply for this release.
*Sign-off:* [Name/Date — TBD]
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot Apr 14, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Replace Test Limitations sign-off placeholder with actual name and date.

Line 96 contains "Sign-off: [Name/Date — TBD]" placeholder. As per coding guidelines, test limitations must have actual sign-offs, not placeholders.

CRITICAL SEVERITY — this blocks approval. Replace with actual reviewer name and date (e.g., "Sign-off: Ramon Lobillo / 2026-04-10").

As per coding guidelines: "STP Section II.1 Test Limitations: Each limitation must have sign-off in format 'Sign-off: [Name/Date]'".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@stps/sig-iuo/CNV-63822-role-aggregation-opt-out.md` at line 96, Replace the
placeholder line "*Sign-off:* [Name/Date — TBD]" in the "Test Limitations"
section with an actual reviewer sign-off in the required format (e.g.,
"*Sign-off:* Ramon Lobillo / 2026-04-10"); update the text exactly where the
placeholder appears so the STP Section II.1 requirement is satisfied and the
document shows a real name and date instead of "TBD".

✅ Addressed in commits 628d7b2 to af35e67

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

ack, waiting for signoffs

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@albarker-rh, understood — the comment will remain open until the actual sign-off is in place. Once you have the reviewer name and date, simply replace [Name/Date — TBD] with the real value (e.g., *Sign-off:* Ramon Lobillo / 2026-04-XX) and this can be resolved. No rush on my end; just a blocker for final approval.


🧠 Learnings used
Learnt from: yossisegev
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 39
File: stps/sig-network/hotpluggable-nad-ref-stp.md:66-66
Timestamp: 2026-03-11T17:53:51.381Z
Learning: In the openshift-virtualization-tests-design-docs repository (PR `#39`, hotpluggable-nad-ref-stp.md), the agreed outcome from the Anatw review discussion about "Verify behavior when LiveUpdateNADRef feature-gate is disabled" was to lower the priority of the test goal (from P1 to P2/P3), not to remove the goal entirely. Anatw stated: if the scenario is included, it should be lower priority (P3). The author lowered it to P2, which satisfies the agreement.

Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 65
File: stps/sig-virt/heterogeneous-rhcos9-rhcos10/network.md:187-187
Timestamp: 2026-04-13T10:27:58.826Z
Learning: When reviewing STP markdown docs in this repo (e.g., under `stps/`), do not flag the template default in Section II.3.1 “Testing Tools & Frameworks” where `- **Test Framework:** Standard` is used. This is intentional and indicates no new or non-standard tools are required. Only suggest changes if the feature introduces a new/modified test framework, a custom test harness, or significant test infrastructure changes beyond the standard baseline.

Learnt from: yossisegev
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 7
File: stps/sig-network/ip-request-stp.md:0-0
Timestamp: 2026-01-19T08:27:03.411Z
Learning: In the openshift-virtualization-tests-design-docs repository, not all features have OpenShift enhancement PRs. When no enhancement PR exists, it's acceptable to reference only the HLD (High-Level Design) document in the Enhancement(s) field of the STP metadata table.

Learnt from: Anatw
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 37
File: stps/sig-network/stuntime_measurement.md:123-124
Timestamp: 2026-02-24T16:42:14.161Z
Learning: In the openshift-virtualization-tests-design-docs repository, when documenting "OCP & OpenShift Virtualization Version(s)" in STP test environment tables, features may specify "v4.X onward" while also noting "Can be backported to all versions." This indicates the feature debuts in version X and continues forward, but tests and functionality can also be backported to earlier releases.
<!-- <review_comment_addressed>

Learnt from: rnetser
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 52
File: stps/stp-template/stp.md:11-11
Timestamp: 2026-03-12T12:39:22.684Z
Learning: In the openshift-virtualization-tests-design-docs repository, already-merged STP documents should NOT be checked for formatting consistency with the current template under review. The template may evolve independently, and existing merged STPs are not expected to retroactively conform to new template conventions (e.g., field renaming such as "Jira Tracking" → "Epic in Jira").

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section II.3 Test Environment: All fields must be filled or marked N/A (no empty fields) — OCP and OpenShift Virtualization versions must be explicit

Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 65
File: stps/sig-virt/heterogeneous-rhcos9-rhcos10/network.md:174-174
Timestamp: 2026-04-13T10:20:13.766Z
Learning: In the openshift-virtualization-tests-design-docs repository, when a feature's tests are genuinely storage-agnostic (e.g., network-focused STPs under stps/sig-virt/), it is acceptable to write "Any available StorageClass (network-focused tests; storage type does not affect test outcomes)" in the Storage field of Section II.3 Test Environment rather than leaving it as the bare word "Agnostic". The Platform field must also always be populated explicitly (e.g., "Bare metal").

Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 74
File: stps/sig-network/hotpluggable-nad-ref.md:100-102
Timestamp: 2026-04-14T11:30:34.673Z
Learning: In the openshift-virtualization-tests-design-docs repository (stps/sig-network/hotpluggable-nad-ref.md, PR `#74`), the "Topology Considerations" subsection of Section I.3 does not need to repeat cluster requirements (e.g., multi-node required, SNO excluded) if those constraints are already explicitly documented in the "Known Limitations" section (I.2) and the "Test Environment" section (II.3). Cross-referencing across sections is acceptable; duplication is not required.

Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 15
File: stps/sig-network/ipv6-single-stack-stp.md:169-175
Timestamp: 2026-01-26T12:49:09.313Z
Learning: In documentation files under stps/, when documenting test scenarios in the 'Test Scenarios & Traceability' table, it's acceptable to reuse a single epic ID (e.g., CNV-28924) for all requirement rows that fall under that epic instead of creating unique sub-requirement IDs for each scenario. This applies only to this repository's documentation guidelines; confirm with project governance if this affects traceability or tooling used for test execution mapping.

Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 65
File: stps/sig-virt/heterogeneous-rhcos9-rhcos10/network.md:7-7
Timestamp: 2026-04-13T10:17:47.455Z
Learning: In the openshift-virtualization-tests-design-docs repository (stps/sig-virt/heterogeneous-rhcos9-rhcos10/network.md, PR `#65`), when a feature has neither a VEP nor an HLD, it is acceptable to reference the Jira epic (e.g., CNV-77027) in the Enhancement(s) field, with an explicit note that no VEP or HLD exists. This serves as the closest available design artifact for traceability.

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section I.2 Known Limitations: Each limitation must have a sign-off in format '*Sign-off:* [Name/Date]' — if none exist, must state 'None — reviewed and confirmed with [Name/Date]'

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section II.1 Test Limitations: Each limitation must have sign-off in format '*Sign-off:* [Name/Date]' and items must be constraints imposed on QE (not decisions QE made)

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section IV Sign-off and Approval: Reviewers and Approvers must be listed with names and GitHub handles (QE Lead, PM, Dev Lead at minimum) with no placeholder text remaining

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-04-12T10:45:10.935Z
Learning: Refer to AGENTS.md for AI review standards for STP pull requests

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : Multi-SIG STPs must list all participating SIGs with confirmed test scope, prevent child STP duplication of parent STP content, explicitly document each SIG's regression responsibility, and assign clear ownership for cross-SIG test scenarios

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section I.2 Known Limitations: Limitations are constraints (not scope decisions) and open bugs affecting the feature must be listed with Jira links

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : Every claim in STPs needs evidence — sign-offs, Jira links, dates. No empty placeholders in approved STPs

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: When reviewing STPs, distinguish review severity levels: CRITICAL (missing traceability, empty sign-offs, contradictions — blocks approval), HIGH (template non-compliance, incomplete sections — must fix), MEDIUM (formatting issues, minor improvements — should fix), LOW (style suggestions — nice to have)

Learnt from: CR
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-12T10:45:57.620Z
Learning: Applies to **/stps/**/*.md : STP Section II.5 Risks: Each risk must have Risk description, Mitigation strategy, and Sign-off — mitigations must be specific and actionable (not vague)

Learnt from: azhivovk
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 15
File: stps/sig-network/ipv6-single-stack-stp.md:175-179
Timestamp: 2026-01-29T20:07:55.187Z
Learning: In the openshift-virtualization-tests-design-docs repository, when documenting test scenarios in the "Test Scenarios & Traceability" table where multiple test scenarios fall under the same epic, it's acceptable and preferred to leave the Requirement ID cells empty for subsequent rows after the first row which contains the epic ID (e.g., CNV-28924 (epic)). Repeating the epic ID in each row is considered redundant.


#### **2. Test Strategy**

**Functional**

- [x] **Functional Testing** — Validates that the feature works according to specified requirements and user stories
- *Details:* Core focus: verify opt-out configuration, RBAC enforcement, and default behavior preservation.

- [x] **Automation Testing** — Confirms test automation plan is in place for CI and regression coverage (all tests are expected to be automated)
- *Details:* All tier 1 and tier 2 tests automated; tier 1 validates configuration, tier 2 validates end-to-end user workflows.

- [x] **Regression Testing** — Verifies that new changes do not break existing functionality
- *Details:* Migrate role aggregation is already covered by existing tier 2 regression tests.

**Non-Functional**

- [ ] **Performance Testing** — Validates feature performance meets requirements (latency, throughput, resource usage)
- *Details:* N/A — feature adds no performance-sensitive operations; RBAC evaluation overhead is negligible.

- [ ] **Scale Testing** — Validates feature behavior under increased load and at production-like scale (e.g., large number of VMs, nodes, or concurrent operations)
- *Details:* N/A — Kubernetes RBAC scales natively; feature does not introduce new scalability concerns.

- [x] **Security Testing** — Verifies security requirements, RBAC, authentication, authorization, and vulnerability scanning
- *Details:* Feature is a security enhancement; tests verify users are correctly blocked when opt-out is enabled for all 3 role levels.

- [ ] **Usability Testing** — Validates user experience and accessibility requirements
- *Details:* UI changes tracked under [CNV-80935](https://issues.redhat.com/browse/CNV-80935); UI team (sig-ui) owns console testing for opt-out configuration.

- [ ] **Monitoring** — Does the feature require metrics and/or alerts?
- *Details:* No new metrics or alerts required; feature uses standard Kubernetes RBAC.

**Integration & Compatibility**

- [x] **Compatibility Testing** — Ensures feature works across supported platforms, versions, and configurations
- *Details:* Default behavior unchanged; backward compatibility with previous API versions maintained.

- [x] **Upgrade Testing** — Validates upgrade paths from previous versions, data migration, and configuration preservation
- *Details:* Verify default behavior preserved across z-stream upgrades; verify opt-out config persists after upgrade.

- [ ] **Dependencies** — Blocked by deliverables from other components/products. Identify what we need from other teams before we can test.
- *Details:* No blocking dependencies; upstream and downstream implementations are complete.

- [x] **Cross Integrations** — Does the feature affect other features or require testing by other teams? Identify the impact we cause.
- *Details:* UI team (sig-ui) needs to implement and test console changes ([CNV-80935](https://issues.redhat.com/browse/CNV-80935)).

**Infrastructure**

- [ ] **Cloud Testing** — Does the feature require multi-cloud platform testing? Consider cloud-specific features.
- *Details:* N/A — feature is RBAC-based and platform-independent; no cloud-specific behavior.

#### **3. Test Environment**

- **Cluster Topology:** Standard or SNO — feature works on all topologies; multi-node preferred

- **OCP & OpenShift Virtualization Version(s):** OCP 4.22 with OpenShift Virtualization 4.22

- **CPU Virtualization:** N/A — not relevant for RBAC testing

- **Compute Resources:** Minimum per worker node: 4 vCPUs, 16GB RAM

- **Special Hardware:** N/A — no special hardware required

- **Storage:** Any RWX storage class (e.g., ocs-storagecluster-ceph-rbd-virtualization)

- **Network:** OVN-Kubernetes, IPv4 — no special network requirements

- **Required Operators:** OpenShift Virtualization (standard installation)

- **Platform:** Any supported platform (bare metal, AWS, Azure, GCP — no platform-specific behavior)

- **Special Configurations:** HTPasswd identity provider — REQUIRED: Must have HTPasswd IdP with unprivileged user

#### **3.1. Testing Tools & Frameworks**

- **Test Framework:** Standard

- **CI/CD:** N/A

- **Other Tools:** N/A

#### **4. Entry Criteria**

The following conditions must be met before testing can begin:

- [ ] Requirements and design documents are **approved and merged**
- [ ] Test environment can be **set up and configured** (see Section II.3 - Test Environment)
- [x] Upstream implementation **merged** (role aggregation opt-out support)
- [x] Downstream implementation **complete** (configuration field available in cluster settings)
- [x] Developer Handoff/QE Kickoff meeting completed

#### **5. Risks**

**Timeline/Schedule**

- **Risk:** N/A
- **Mitigation:** Feature implementation is complete upstream and downstream; no schedule risk.

**Test Coverage**

- **Risk:** Cannot exhaustively test all RBAC role combinations and permission permutations.
- **Mitigation:** Focus on the 3 critical role levels (admin, edit, view) covering acceptance criteria; individual permission rules within roles are unaffected by this feature.
- *Areas with reduced coverage:* Individual permission rules within each virtualization role; only role-level access is validated.
- *Sign-off:* [Name/Date — TBD]

**Test Environment**

- **Risk:** N/A
- **Mitigation:** Standard OCP cluster with HTPasswd IdP is sufficient; no special hardware or infrastructure required.

**Untestable Aspects**

- **Risk:** Cannot test with production identity providers (LDAP, Active Directory, OAuth) in the lab.
- **Mitigation:** RBAC logic is IdP-agnostic; HTPasswd validation covers the enforcement path regardless of IdP.
- *Alternative validation approach:* Functional validation with HTPasswd covers the RBAC enforcement path regardless of IdP.
- *Sign-off:* [Name/Date — TBD]

**Resource Constraints**

- **Risk:** N/A
- **Mitigation:** Feature testing scope is manageable with assigned QE resources; no staffing or capacity constraints.

**Dependencies**

- **Risk:** UI changes ([CNV-80935](https://issues.redhat.com/browse/CNV-80935)) are pending; console configuration interface may not be ready for testing.
- **Mitigation:** Track progress with UI team (sig-ui); API-level testing can proceed independently of UI.
- *Dependent teams or components:* sig-ui — console configuration interface for opt-out
- *Sign-off:* [Name/Date — TBD]


---

### **III. Test Scenarios & Traceability**
Comment thread
albarker-rh marked this conversation as resolved.

- **[CNV-63822]** — As a cluster admin, I want to control the role aggregation strategy for virtualization resources
- *Test Scenario:* [Tier 1] Verify that enabling opt-out mode applies the setting to the virtualization deployment
- *Priority:* P0

- *Test Scenario:* [Tier 1] Verify that changing the aggregation mode propagates the updated setting to the virtualization deployment
- *Priority:* P0

- *Test Scenario:* [Tier 1] Verify that removing the aggregation configuration resets the virtualization deployment to its original state
- *Priority:* P0

- **[CNV-63822]** — As a cluster admin, I want to enable opt-out so unprivileged users cannot access virtualization resources
- *Test Scenario:* [Tier 2] Verify an unprivileged user with project admin role cannot perform virtualization admin actions when opt-out is enabled (receives Forbidden error)
Comment thread
albarker-rh marked this conversation as resolved.
- *Priority:* P0

- *Test Scenario:* [Tier 2] Verify an unprivileged user with edit role cannot perform virtualization edit actions when opt-out is enabled (receives Forbidden error)
- *Priority:* P0

- *Test Scenario:* [Tier 2] Verify an unprivileged user with view role cannot perform virtualization view actions when opt-out is enabled (receives Forbidden error)
- *Priority:* P0

- **[CNV-63822]** — As a cluster admin, I want to disable opt-out to restore default behavior
- *Test Scenario:* [Tier 2] Verify that disabling opt-out restores automatic access for previously blocked users
- *Priority:* P0

---

### **IV. Sign-off and Approval**

This Software Test Plan requires approval from the following stakeholders:

* **Reviewers:**
- QE Lead / @rnester
Comment thread
albarker-rh marked this conversation as resolved.
- sig-iuo representative / @orenc1 @hmeir @OhadRevah @rlobillo
- sig-ui representative / @upalatucci

* **Approvers:**
- QE Lead / @rnetser
- sig-iuo representative / @hmeir
- QE Manager / @kmajcher-rh
- Product Manager / Ronen Sde-Or @ronensdeor
Loading