Skip to content

[CNV-82132] Add STP for annotation-based GuestAgentPing probe pausing - #128

Open
geetikakay wants to merge 1 commit into
RedHatQE:mainfrom
geetikakay:sig_infra_CNV-82132
Open

[CNV-82132] Add STP for annotation-based GuestAgentPing probe pausing#128
geetikakay wants to merge 1 commit into
RedHatQE:mainfrom
geetikakay:sig_infra_CNV-82132

Conversation

@geetikakay

@geetikakay geetikakay commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

STP Metadata

kubevirt/enhancements#208

What this PR does

Special notes for your reviewer

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive Software Test Plan for annotation-based pausing and resuming of GuestAgentPing liveness and readiness probes.
    • Defined test scope, environment requirements, known limitations, and expected behavior across probe types, migration and persistence, snapshots, and VM pause/unpause scenarios.
    • Included requirements-to-test traceability, prioritized test goals, and reviewer approval/sign-off criteria.

@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@geetikakay, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 21 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: f6e4de6d-db07-454e-8960-65cde9401ec0

📥 Commits

Reviewing files that changed from the base of the PR and between c1baefa and 1afe367.

📒 Files selected for processing (1)
  • stps/sig-infra/CNV-82132-pause-guest-agent-probes.md
📝 Walkthrough

Walkthrough

Adds a complete Software Test Plan for annotation-based pausing of GuestAgentPing probes, covering scope, QE review criteria, test strategy, environment requirements, risks, traceability scenarios, and approval assignments.

Changes

Guest Agent Probe Pause

Layer / File(s) Summary
Feature scope and QE review
stps/sig-infra/CNV-82132-pause-guest-agent-probes.md
Defines annotation-based probe pausing, related suppression behavior, QE review criteria, limitations, and design considerations.
Test plan and validation strategy
stps/sig-infra/CNV-82132-pause-guest-agent-probes.md
Specifies testing scope, goals, functional and non-functional strategies, prerequisites, entry criteria, compatibility expectations, and risks.
Scenario traceability and sign-off
stps/sig-infra/CNV-82132-pause-guest-agent-probes.md
Maps probe pause and resume behavior to prioritized scenarios and lists required reviewers and approvers.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: adding an STP for annotation-based GuestAgentPing probe pausing.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@openshift-virtualization-qe-bot-2

Copy link
Copy Markdown

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
  • /security-override - Set security check runs to pass (maintainers only)
  • /security-override cancel - Re-run security checks

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
  • /cherry-pick-retry <branch> - Retry a failed cherry-pick (merged PRs only)

Branch Management

  • /rebase - Rebase this PR branch onto its base branch

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, has-conflicts labels and PR must be mergeable (no conflicts)

📊 Review Process

Approvers and Reviewers

Approvers:

  • RoniKishner
  • geetikakay

Reviewers:

  • RoniKishner
  • geetikakay
Available Labels
  • hold
  • verified
  • wip
  • lgtm
  • approve
AI Features
  • Cherry-Pick Conflict Resolution: Enabled (claude/claude-opus-4-6-1m)
Security Checks
  • Suspicious Path Detection: Monitors paths: .claude/, .vscode/, .cursor/, .devcontainer/, .pi/, .github/workflows/, .github/actions/
  • Committer Identity Check: Verifies last committer matches PR author
  • Mandatory: Security checks block merge (use /security-override to bypass — maintainers only)

💡 Tips

  • WIP Status: Use /wip when your PR is not ready for review
  • Verification: The verified label is removed on new commits unless the push is detected as a clean rebase
  • 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.


### **Feature Overview**

OpenShift Virtualization 4.22 introduces annotation-based GuestAgentPing probe pausing, designed per VEP 207. VM administrators can temporarily pause GuestAgentPing-based liveness and readiness probes on running VirtualMachineInstances by setting the `kubevirt.io/pause-guest-agent-probes` annotation. While paused, probes report success, preventing unwanted VM restarts or readiness transitions during planned maintenance such as guest OS updates, driver installations, or agent upgrades. Removing the annotation resumes normal probe behavior. The feature requires no feature gate and operates independently of existing probe suppression mechanisms for live migration and VM pause.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

It is introduced in 4.23, not 4.22

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

right, i saw epic is for CNV v5.0.0 so i will keep 5.0 and 4.23 both


### **Feature Overview**

OpenShift Virtualization 4.22 introduces annotation-based GuestAgentPing probe pausing, designed per VEP 207. VM administrators can temporarily pause GuestAgentPing-based liveness and readiness probes on running VirtualMachineInstances by setting the `kubevirt.io/pause-guest-agent-probes` annotation. While paused, probes report success, preventing unwanted VM restarts or readiness transitions during planned maintenance such as guest OS updates, driver installations, or agent upgrades. Removing the annotation resumes normal probe behavior. The feature requires no feature gate and operates independently of existing probe suppression mechanisms for live migration and VM pause.

@ksimon1 ksimon1 Jul 10, 2026

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 change probes report success to -> guest agent probe report success


- [ ] **Acceptance Criteria**
- Ensured acceptance criteria are **defined clearly** (clear user stories; D/S requirements clearly defined in Jira).
- Seven criteria in Jira epic, detailed in VEP 207 design document. Implementation PR (kubevirt/kubevirt#17664) merged with unit and e2e tests covering core pause/resume lifecycle.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Would it make sense to write the criteria here? Btw. I can see only 3 criterias in epic

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.

I think adding a reference (link) to them in the merged VEP file is enough.

The above PR link is the link to the implementation, not sure it should be here, or it should be under a new criteria -


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

- No automatic triggering by internal operations (e.g., snapshots, live migration). The annotation is strictly user-controlled.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

probably worth to mention, that there is no atomatic mechanism to enable the probe functionality again.

@geetikakay geetikakay Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

that there is no atomatic mechanism to enable the probe functionality again.

it can set any time by users?

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

yes

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.

One of the feature user stories mentioned to use a scheduled job - pause GuestAgentPing probes on specific VMIs during scheduled maintenance windows
This sounds like they are updating all the drivers once every x time, so a CronJob might need to do it.

I am not sure if this counts as automatic/internal or not, but it is a bit misleading to have such a goal, while saying we have no automatic way of doing it.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

hmm...what this means is: this annotation is never set by any operations and an admin/owner of VM could add it manually or via scripts.

Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md
#### **3. Test Environment**

- **Cluster Topology:** Multi-node cluster with at least 2 schedulable worker nodes (e.g., 3 control-plane + 2 worker compact or standard topology)
- **OCP & OpenShift Virtualization Version(s):** OCP 4.22+ / OpenShift Virtualization 4.22+

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

this needs to be changed to 4.23+

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

5.0 and 4.23?

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

yes

- **Owning SIG:** sig-infra
- **Participating SIGs:** N/A

**Document Conventions (if applicable):** VMI = VirtualMachineInstance, VEP = Virtualization Enhancement Proposal

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 write them in new lines ? hard to read them like this.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

i saw network team using this pattern but AGENTS.md does not enforce bullet-point formatting. It says "no walls of text" but doesn't prescribe bullets over prose and that's single line.

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.

Ok, I will try to work on it in the template.md file at a later time, it might only be an issue for me.

@geetikakay geetikakay Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@RoniKishner I think we should get it checked if we want it to be enforced. let's do it!!#133

Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md Outdated

- [ ] **Acceptance Criteria**
- Ensured acceptance criteria are **defined clearly** (clear user stories; D/S requirements clearly defined in Jira).
- Seven criteria in Jira epic, detailed in VEP 207 design document. Implementation PR (kubevirt/kubevirt#17664) merged with unit and e2e tests covering core pause/resume lifecycle.

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.

I think adding a reference (link) to them in the merged VEP file is enough.

The above PR link is the link to the implementation, not sure it should be here, or it should be under a new criteria -


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

- No automatic triggering by internal operations (e.g., snapshots, live migration). The annotation is strictly user-controlled.

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.

One of the feature user stories mentioned to use a scheduled job - pause GuestAgentPing probes on specific VMIs during scheduled maintenance windows
This sounds like they are updating all the drivers once every x time, so a CronJob might need to do it.

I am not sure if this counts as automatic/internal or not, but it is a bit misleading to have such a goal, while saying we have no automatic way of doing it.

Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md
Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 15

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@stps/sig-infra/CNV-82132-pause-guest-agent-probes.md`:
- Around line 115-121: Update the “Out of Scope (Testing Scope Exclusions)”
checklist so every item uses the required “Item / Rationale: / PM/Lead
Agreement:” structure, including a clear rationale and PM/Lead name and date for
each entry. Preserve the existing exclusions and their intended scope while
adding the missing fields.
- Around line 83-85: Update the API Extensions checklist entry to remove the
internal source path reference and describe only the user-facing VMI annotation
kubevirt.io/pause-guest-agent-probes, including its accepted truthy and falsy
values and observable behavior.
- Around line 59-64: Add “*Sign-off:* [Name/Date]” beneath each limitation in
the “Known Limitations” section, including the duplicate live-migration entries,
so every listed limitation has an explicit approval sign-off.
- Around line 163-174: Update the Platform entry in the Test Environment section
to use the repository’s standard platform-agnostic wording, replacing the fixed
“bare metal or cloud provider” list while leaving the other environment
requirements unchanged.
- Around line 101-113: Rewrite the Testing Goals list as SMART, actionable
scenarios that specify VMI state, probe configuration, annotation value,
guest-agent state, migration topology, and observable outcomes for each goal.
Replace generic “Verify” wording with concrete setup, action, and
expected-result criteria, and split the combined annotation persistence,
snapshot independence, and concurrent-safety item into three separate goals.
- Around line 46-53: Add traceability for every acceptance criterion in the
document, especially dedicated scenarios validating unchanged Pod probe
specifications and live-migration suppression taking precedence over the user
annotation. Map the existing scenarios in the referenced sections to each
criterion, or add scenarios where coverage is missing, including criteria for
manual pause/unpause, backward compatibility, unaffected non-GuestAgentPing
probes, and annotation removal.
- Around line 271-291: Reclassify the cross-feature scenarios in the CNV-82392
and CNV-82132 entries, along with the referenced entries near the access
credential, snapshot, and pause/unpause scenarios, from Tier 1 to Tier 2. Update
only the affected Tier fields while preserving each scenario’s wording,
priority, and other metadata.
- Around line 28-57: Update the checklist sections in this document, including
the referenced sections, by marking items with completed evidence as [x]. Remove
unresolved template prompts such as the unanswered customer-value question, and
leave [ ] only for genuinely pending or non-applicable items with an explicit
justification.
- Line 57: Update the documentation readiness status in
CNV-82132-pause-guest-agent-probes.md so the upstream documentation state and
the testing entry criterion agree. Revise the references around the upstream
documentation note and the entry criterion near the testing requirements to
reflect whether the documentation is actually merged, without changing unrelated
readiness items.
- Around line 243-250: Update the CNV-82132 resume scenario to explicitly state
the guest agent’s state before annotation removal. Clarify that removing the
annotation resumes normal probe behavior without inherently restarting the VMI,
and make the liveness-triggered restart expectation conditional on the guest
agent remaining stopped.
- Line 1: Resolve all nine outstanding review conversations for this test plan,
including the conversations associated with lines 14, 81, 107, and 114, so the
required can-be-merged check passes.
- Around line 68-70: Replace the template Developer Handoff/QE Kickoff checklist
entry with a completed record containing the actual handoff date, participants,
decisions, and takeaways. Expand the existing VEP 207 review information into
concrete outcomes, including what was decided and any remaining action items or
testing implications, rather than only listing covered topics.
- Around line 151-152: Update the Upgrade Testing section in
CNV-82132-pause-guest-agent-probes.md to state that the VMI annotation remains
persisted on the Kubernetes object until explicitly removed, while
SyncVirtualMachine gRPC is only its delivery mechanism. Replace the N/A details
with upgrade/restart coverage that verifies the annotation is retained and
continues to function across virt-launcher rollbacks or upgrades.
- Around line 142-143: Update the Usability Testing section in
CNV-82132-pause-guest-agent-probes.md to document the PM/UX decision and
customer-value rationale for omitting usability and accessibility testing,
rather than citing only the no-UI labels.
- Around line 5-18: Add the required structured DP, TP, and GA Feature Maturity
metadata block near the existing Metadata & Tracking section, and state both the
feature’s current phase and the phase covered by this STP in Feature Overview.
Revise Feature Overview to describe only user-visible probe-pausing behavior and
remove implementation details such as feature-gate status.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: ca3ecb94-e972-4758-aad8-93e2b0ca03d1

📥 Commits

Reviewing files that changed from the base of the PR and between 3af7edb and d3a4067.

📒 Files selected for processing (1)
  • stps/sig-infra/CNV-82132-pause-guest-agent-probes.md

Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md
Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md Outdated
Comment on lines +28 to +57
- [ ] **Review Requirements**
- Reviewed the relevant requirements.
- VEP 207 ([kubevirt/enhancements#208](https://github.com/kubevirt/enhancements/pull/208)) defines clear scope: GuestAgentPing probes only, annotation-based manual control. Seven acceptance criteria are documented in the Jira epic CNV-82132.

- [ ] **Understand Value and Customer Use Cases**
- Confirmed clear user stories and intent.
- Understand the difference between U/S and D/S requirements.
- **What is the value of the feature for RH customers**.
- Ensured requirements contain relevant **customer use cases**.
- User stories:
- VM owner pauses probes during individual VM maintenance (e.g., guest OS update, driver installation)
- Cluster admin pauses probes across multiple VMIs during scheduled maintenance windows
- Value: Prevents unwanted VM restarts during planned guest agent downtime, reducing maintenance disruption for customers

- [ ] **Testability**
- Confirmed requirements are **testable and unambiguous**.
- All seven acceptance criteria are directly testable: annotation set/remove behavior, probe type isolation, annotation value parsing and migration propagation.

- [ ] **Acceptance Criteria**
- Ensured acceptance criteria are **defined clearly** (clear user stories, D/S requirements clearly defined in Jira).
- Derived from VEP 207 goals:
- Manual pause/unpause of GuestAgentPing probes via VMI annotations without Pod restart
- Strict backward compatibility maintained (Pod probe specs unchanged)
- Internal actions that trigger probe suppression (e.g., live migration) have higher priority than the user annotation
- Non-GuestAgentPing probes (TCP, HTTP, Exec) are unaffected
- Annotation removal resumes normal probe behavior

- [ ] **Non-Functional Requirements (NFRs)**
- Confirmed coverage for NFRs, including Performance, Security, Usability, Downtime, Connectivity, Monitoring (alerts/metrics), Scalability, Portability (e.g., cloud support), and Docs.
- No UI impact (no-ui, no-ux labels). No new metrics or alerts required. Annotation check is an O(1) early-return guard with negligible performance impact. Upstream documentation PR in progress (kubevirt/user-guide#990).

@coderabbitai coderabbitai Bot Jul 16, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

HIGH — Mark completed checklist items as completed.

Many sections contain completed evidence but leave the corresponding checklist items as [ ]. Mark reviewed/applicable items [x]; reserve [ ] for pending or non-applicable items with justification. Remove remaining template prompts such as the unanswered customer-value question.

Also applies to: 127-161, 192-218

🧰 Tools
🪛 LanguageTool

[grammar] ~30-~30: Ensure spelling is correct
Context: ...cements/pull/208)) defines clear scope: GuestAgentPing probes only, annotation-based manual control. Seven acceptance criteria are documente...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@stps/sig-infra/CNV-82132-pause-guest-agent-probes.md` around lines 28 - 57,
Update the checklist sections in this document, including the referenced
sections, by marking items with completed evidence as [x]. Remove unresolved
template prompts such as the unanswered customer-value question, and leave [ ]
only for genuinely pending or non-applicable items with an explicit
justification.

Source: Coding guidelines

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@coderabbitai we are in process of finalizing how we want to handle it. My proposal is we should handle what in scope of PM reviews should be handle in PR template.PM would still give /lgtm but they can optionally checkbox/read items from PR template. A skill should be added to get automatic PM attention if we are not testing or marking something out of scope.
PM might just want to check below in all time

goals
out of scope items
risks
Non functional requirements that are out of scope for this STP. An agreement with PM is needed if separate tasks are required that needs to handled by performance teams.
We will be confirming same from PM

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@geetikakay Thanks for outlining the direction here — moving PM-scoped review items (goals, out-of-scope items, risks, NFR exceptions) into the PR template with checkboxes, backed by an automated skill to flag untested/out-of-scope items for PM attention, sounds like a solid long-term improvement and would reduce boilerplate in the STP itself.

That said, since this is still being finalized and confirmed with PM, I'll continue flagging inline checklist/justification gaps in STPs per the current convention until the new process is documented and adopted. Once it's finalized, let me know and I'll update how I review these sections (e.g., no longer require inline justification for items that move to the PR template).

For this PR specifically, the original comment about marking completed checklist items as [x] still stands as-is for now.

(๑•̀ㅁ•́๑)✧ noted — will keep an eye out for the process update


🧠 Learnings used
Learnt from: geetikakay
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 128
File: stps/sig-infra/CNV-82132-pause-guest-agent-probes.md:142-143
Timestamp: 2026-07-16T00:58:10.501Z
Learning: Until the STP review process changes (moving PM-review-scoped items into a PR template with checkboxes) are finalized and documented, continue requiring inline PM/UX justification inside STP documents. In particular, if you mark items as out of scope or skip Usability Testing (and similar PM/UX-scoped exceptions), include the required inline justification in the STP text rather than relying on the PR template/checkbox mechanism.

Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md
Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md
Comment on lines +142 to +143
- [ ] **Usability Testing** -- Validates user experience and accessibility requirements
- *Details:* N/A. Feature has no UI (no-ui, no-ux labels). Annotation-based interface documented in upstream user guide (kubevirt/user-guide#990).

@coderabbitai coderabbitai Bot Jul 16, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

HIGH — Provide PM/UX justification for skipping usability testing.

“No UI” labels alone are insufficient justification. Record the PM/UX decision explaining why usability or accessibility testing has no customer value for this feature.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@stps/sig-infra/CNV-82132-pause-guest-agent-probes.md` around lines 142 - 143,
Update the Usability Testing section in CNV-82132-pause-guest-agent-probes.md to
document the PM/UX decision and customer-value rationale for omitting usability
and accessibility testing, rather than citing only the no-UI labels.

Source: Coding guidelines

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@coderabbitai we are in process of finalizing how we want to handle it. My proposal is we should handle what in scope of PM reviews should be handle in PR template.PM would still give /lgtm but they can optionally checkbox/read items from PR template. A skill should be added to get automatic PM attention if we are not testing or marking something out of scope.
PM might just want to check below in all time

  • goals
  • out of scope items
  • risks
  • Non functional requirements that are out of scope for this STP. An agreement with PM is needed if separate tasks are required that needs to handled by performance teams.
    We will be confirming same from PM

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@geetikakay, that's a sensible direction — moving PM-scoped concerns (goals, out-of-scope, risks, NFR exclusions) into the PR template as explicit checkboxes gives PM a lightweight, consistent surface to review without requiring every STP author to write out full justification prose each time. Automating attention when something is left untested or marked out-of-scope is a good complement to that.

A couple of thoughts as you finalize this with PM:

  • Until the PR template change lands and PM sign-off process is confirmed, guideline-driven checks (like this Usability Testing justification) will still flag inline in STPs, since that's the current source of truth for reviewers.
  • Once the template exists, it'd help to update the coding guidelines/STP template docs to reflect that NFR-exclusion rationale (e.g., Usability, Performance) can live in the PR template rather than the STP body — otherwise reviewers (including me) will keep asking for it in-document.
  • For the "Non-Functional Requirements that are out of scope" bullet, worth clarifying whether that PM checkbox is meant to replace the STP's own NFR section entirely, or just serve as a secondary confirmation gate — this affects whether STPs still need inline justification text.

Happy to adjust review behavior once this process is confirmed with PM. For now, I'll leave this comment open since the underlying concern (missing PM/UX rationale for skipping usability testing) isn't yet resolved in this specific STP.

🐇💭 curious to see how this template-based process shapes up


✏️ Learnings added
Learnt from: geetikakay
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 128
File: stps/sig-infra/CNV-82132-pause-guest-agent-probes.md:142-143
Timestamp: 2026-07-16T00:58:10.501Z
Learning: Repo RedHatQE/openshift-virtualization-tests-design-docs: The team (per geetikakay) is exploring moving PM-review-scoped items (Testing Goals, Out of Scope items, Risks, and Non-Functional Requirements marked out of scope) out of individual STP justification text and into a PR template with checkboxes, so PM can give /lgtm while optionally reviewing these items via the template rather than requiring inline justification in every STP. This is still pending confirmation with PM and not yet implemented as of PR `#128`. Until this process change is finalized and documented, continue enforcing inline PM/UX justification requirements (e.g., for skipping Usability Testing) directly in STP documents per existing coding guidelines.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.


🧠 Learnings used
Learnt from: kshvaika
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 106
File: stps/sig-virt/dual-stream-cluster-rhcos9-rhcos10/storage.md:153-190
Timestamp: 2026-05-25T09:57:32.773Z
Learning: When reviewing STP documents under `stps/`, follow the Test Strategy checklist convention in Section II.2: use `[x]` only when the checklist item is applicable and has been addressed, and use `[ ]` when the item is NOT applicable. For `[ ]` items, require a clear justification in the corresponding `Details:` field. Do not treat `[ ]` as an incorrect omission solely because the `Details:` field contains text—such text is the required non-applicability explanation, not evidence that the item was completed.

Learnt from: RoniKishner
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 34
File: stps/sig-infra/virtual-machine-template.md:64-69
Timestamp: 2026-05-27T18:26:25.780Z
Learning: When reviewing STP documents in the `stps/` directory, do not require NFR categories like Monitoring, Performance, and Scalability to be re-enumerated in the Section I.1 “Non-Functional Requirements (NFRs)” block if they are already explicitly addressed (with justification) elsewhere in the same STP—specifically in a dedicated “Out of Scope” section. In this case, treating duplication as redundant is acceptable. Also, Observability may be treated as a subset of Monitoring rather than a separate NFR category. Do not flag the I.1 NFR block as incomplete solely because these categories are missing from it when they are covered elsewhere in the document.

Learnt from: rnetser
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 34
File: stps/sig-infra/virtual-machine-template.md:133-168
Timestamp: 2026-06-02T10:06:00.601Z
Learning: When reviewing any STP document under `stps/`, check Section II.2 (“Test Strategy”). It must explicitly enumerate every testing type required by the STP template. No testing type may be omitted: if a testing type is not applicable, it still must be listed and accompanied by a clear justification/rationale. Do not treat Section II.2 as complete if any required testing types are missing—missing entries indicate the template’s testing types were not documented as considered (a review violation).

Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md Outdated
Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md
Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md
Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md
@ksimon1

ksimon1 commented Jul 20, 2026

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 9

♻️ Duplicate comments (3)
stps/sig-infra/CNV-82132-pause-guest-agent-probes.md (3)

176-176: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

LOW — Use the standard platform-agnostic wording.

Replace the fixed platform list with: Platform-agnostic — no platform-specific behavior; applicable to all CI platforms.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@stps/sig-infra/CNV-82132-pause-guest-agent-probes.md` at line 176, Update the
Platform entry in CNV-82132-pause-guest-agent-probes.md to use the standard
platform-agnostic wording: “Platform-agnostic — no platform-specific behavior;
applicable to all CI platforms.” Remove the fixed OpenShift platform list.

Source: Learnings


246-253: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

HIGH — Make VMI restart conditional in the resume scenario.

Removing the annotation resumes normal probe behavior; it does not inherently restart the VMI. State whether the guest agent remains stopped, and expect a liveness-triggered restart only when the agent remains stopped and the probe subsequently fails.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@stps/sig-infra/CNV-82132-pause-guest-agent-probes.md` around lines 246 - 253,
Update the CNV-82132 resume scenario to avoid requiring an unconditional VMI
restart after removing the annotation. Specify the expected guest-agent state
after removal, and require a liveness-triggered VMI restart only if the agent
remains stopped and the probe subsequently fails.

Source: Coding guidelines


274-279: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

HIGH — Classify cross-feature scenarios as Tier 2.

These scenarios combine probe pausing with live migration, migration suppression, credential injection, snapshots, or VM pause/unpause. Under the stated tier definitions, they are Tier 2 integration workflows. If separate Tier 1 coverage exists elsewhere, document that coverage explicitly rather than leaving these rows classified as Tier 1.

Based on learnings, confirm any externally maintained Tier 1 coverage before changing the classification.

Also applies to: 289-294, 307-312, 341-354

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@stps/sig-infra/CNV-82132-pause-guest-agent-probes.md` around lines 274 - 279,
Update the cross-feature test scenarios in this document, including CNV-82392
and the rows at the referenced sections, from Tier 1 to Tier 2 because they
combine probe pausing with other workflows. Before changing each classification,
confirm any externally maintained Tier 1 coverage and document it explicitly
where applicable.

Sources: Coding guidelines, Learnings

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@stps/sig-infra/CNV-82132-pause-guest-agent-probes.md`:
- Around line 64-67: Add an explicit “Sign-off: [Name/Date]” entry beneath each
of the four listed limitations, replacing the placeholders with the actual
approver name and approval date.
- Around line 120-124: Rewrite each out-of-scope checklist entry in the document
using the exact “Item / Rationale: / PM/Lead Agreement:” structure. Preserve
each item’s scope while adding a specific rationale and recording the actual
agreeing PM/Lead name and agreement date for every entry.
- Around line 145-146: Update the Usability Testing checklist entry in
CNV-82132-pause-guest-agent-probes.md to include an inline PM/UX justification
for skipping testing, explicitly stating the decision and why
usability/accessibility testing provides no customer value for this
annotation-only workflow. Retain the existing no-UI context while adding the
required rationale.
- Around line 71-73: Expand the “Developer Handoff/QE Kickoff” section in
CNV-82132-pause-guest-agent-probes.md beyond the GuestAgentPingFailed note by
recording the meeting date, participants, decisions, concrete takeaways, and
remaining action items, preserving the existing monitoring-gap detail.
- Around line 266-271: Update the CNV-82132 traceability scenario to validate
all non-GuestAgentPing probe types named by the acceptance criterion: Exec, TCP,
and HTTP. Either expand the existing test scenario to cover each probe or add
separate traceability rows, while preserving the stated pause-annotation
behavior.
- Around line 5-21: The feature document’s metadata and overview need
maturity-phase coverage and a customer-focused scope. Add the structured DP, TP,
and GA maturity metadata using the document’s established conventions,
explicitly identify the current phase and the phase covered by this STP, and
remove the implementation detail about requiring no feature gate from the
“Feature Overview” while preserving its observable pause/resume behavior.
- Line 60: Resolve the documentation readiness contradiction in the dependency,
Entry Criteria, and related sections: either list the upstream documentation PR
as a dependency while retaining its merged-documentation gate, or explicitly
classify it as docs-team-owned and remove it from QE Entry Criteria as
non-blocking. Apply the same consistent treatment to the referenced
documentation statements.
- Around line 33-56: Update the acceptance-criteria section of the CNV-82132
document to contain all seven explicitly numbered or otherwise traceable
criteria. Add dedicated criteria covering unchanged Pod probe specifications and
live-migration/internal suppression taking precedence over the user annotation,
and ensure the remaining listed behaviors are individually traceable; if any are
out of scope, document the rationale, PM/Lead agreement, and upstream coverage
references.
- Around line 31-60: Update the checklist sections in
CNV-82132-pause-guest-agent-probes.md, including the referenced ranges, by
changing completed items from [ ] to [x] and removing leftover template prompts,
including the unanswered “What is the value...” prompt. Retain unchecked boxes
only for genuinely pending or non-applicable items, and provide justification
for any non-applicable entries.

---

Duplicate comments:
In `@stps/sig-infra/CNV-82132-pause-guest-agent-probes.md`:
- Line 176: Update the Platform entry in CNV-82132-pause-guest-agent-probes.md
to use the standard platform-agnostic wording: “Platform-agnostic — no
platform-specific behavior; applicable to all CI platforms.” Remove the fixed
OpenShift platform list.
- Around line 246-253: Update the CNV-82132 resume scenario to avoid requiring
an unconditional VMI restart after removing the annotation. Specify the expected
guest-agent state after removal, and require a liveness-triggered VMI restart
only if the agent remains stopped and the probe subsequently fails.
- Around line 274-279: Update the cross-feature test scenarios in this document,
including CNV-82392 and the rows at the referenced sections, from Tier 1 to Tier
2 because they combine probe pausing with other workflows. Before changing each
classification, confirm any externally maintained Tier 1 coverage and document
it explicitly where applicable.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 93c88810-470e-483b-a7d2-430aa33d1559

📥 Commits

Reviewing files that changed from the base of the PR and between d3a4067 and c1baefa.

📒 Files selected for processing (1)
  • stps/sig-infra/CNV-82132-pause-guest-agent-probes.md

Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md Outdated
Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md
Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md
Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md
Comment on lines +64 to +67
- No automatic triggering by KubeVirt-internal operations (e.g., snapshots, live migration). The annotation must be set by the user, either manually or through external tooling (e.g., shell scripts, CronJobs).
- Live migration probe suppression is handled separately (kubevirt/kubevirt#17235) and operates independently of this annotation.
- The annotation does not suppress guest-exec commands. Access credential injection continues to work while probes are paused.
- Windows guest OS update scenarios use the same annotation mechanism but OS-specific validation is not included in this test plan.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟠 Major | 🏗️ Heavy lift

HIGH — Add sign-offs to every known limitation.

Each listed limitation needs an explicit *Sign-off:* [Name/Date] entry with the actual approver and date.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@stps/sig-infra/CNV-82132-pause-guest-agent-probes.md` around lines 64 - 67,
Add an explicit “Sign-off: [Name/Date]” entry beneath each of the four listed
limitations, replacing the placeholders with the actual approver name and
approval date.

Source: Coding guidelines

Comment on lines +71 to +73
- [x] **Developer Handoff/QE Kickoff**
- *Key takeaways and concerns:*
- GuestAgentPingFailed events are suppressed during pause — monitoring gap identified.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟠 Major | 🏗️ Heavy lift

HIGH — Record the actual developer-handoff outcomes.

Add the meeting date, participants, decisions, concrete takeaways, and remaining action items. The current “GuestAgentPingFailed events” note alone is not a handoff record.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@stps/sig-infra/CNV-82132-pause-guest-agent-probes.md` around lines 71 - 73,
Expand the “Developer Handoff/QE Kickoff” section in
CNV-82132-pause-guest-agent-probes.md beyond the GuestAgentPingFailed note by
recording the meeting date, participants, decisions, concrete takeaways, and
remaining action items, preserving the existing monitoring-gap detail.

Source: Coding guidelines

Comment on lines +120 to +124
- [ ] HTTP, TCP, and Exec probe pausing -- VEP 207 explicitly limits scope to GuestAgentPing probes only
- [ ] Automatic probe scheduling or timeout -- VEP 207 defines annotation as manual-only with no automatic expiry
- [ ] Live migration probe fix (kubevirt/kubevirt#17235) -- separate feature with independent implementation and test coverage
- [ ] Upstream Kubernetes probe suspension (KEP 5002) -- upstream proposal not yet implemented in Kubernetes
- [ ] Windows guest OS update scenarios -- same annotation mechanism applies but OS-specific validation deferred

@coderabbitai coderabbitai Bot Jul 20, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟠 Major | 🏗️ Heavy lift

HIGH — Add rationale and PM/Lead agreement to every out-of-scope item.

Rewrite each entry using the required format: Item / Rationale: / PM/Lead Agreement: with the actual name and date.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@stps/sig-infra/CNV-82132-pause-guest-agent-probes.md` around lines 120 - 124,
Rewrite each out-of-scope checklist entry in the document using the exact “Item
/ Rationale: / PM/Lead Agreement:” structure. Preserve each item’s scope while
adding a specific rationale and recording the actual agreeing PM/Lead name and
agreement date for every entry.

Source: Coding guidelines

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@coderabbitai that is already discussed at several places

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

file='stps/sig-infra/CNV-82132-pause-guest-agent-probes.md'

printf '%s\n' '--- Relevant document outline ---'
ast-grep outline "$file" --items all | sed -n '1,180p'

printf '%s\n' '--- Scope exclusions and approval-related references ---'
rg -n -i -C 3 \
  'out of scope|scope exclusion|rationale|PM/Lead|PM/UX|agreement|sign-off|approved|Windows|HTTP|TCP|Exec|migration probe|KEP 5002' \
  "$file"

printf '%s\n' '--- Target section ---'
sed -n '112,135p' "$file"

Length of output: 11170


@geetikakay, the existing sections do explain most rationales, so no additional technical justification needs to be invented.

However, the finding remains valid: Lines 120-124 do not record a PM/Lead Agreement with an actual name and date for any exclusion, and the required per-item structure is absent. Discussion elsewhere cannot substitute for that traceable approval record under the current STP rules.

Please minimally reformat each item as:

- [ ] **Item:** … / *Rationale:* … / *PM/Lead Agreement:* [Name/Date]

You can reuse the existing rationale text and only add the corresponding approver/date.


🧠 Learnings used
Learnt from: RoniKishner
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 34
File: stps/sig-infra/virtual-machine-template.md:64-69
Timestamp: 2026-05-27T18:26:25.780Z
Learning: When reviewing STP documents in the `stps/` directory, do not require NFR categories like Monitoring, Performance, and Scalability to be re-enumerated in the Section I.1 “Non-Functional Requirements (NFRs)” block if they are already explicitly addressed (with justification) elsewhere in the same STP—specifically in a dedicated “Out of Scope” section. In this case, treating duplication as redundant is acceptable. Also, Observability may be treated as a subset of Monitoring rather than a separate NFR category. Do not flag the I.1 NFR block as incomplete solely because these categories are missing from it when they are covered elsewhere in the document.

Learnt from: geetikakay
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 128
File: stps/sig-infra/CNV-82132-pause-guest-agent-probes.md:142-143
Timestamp: 2026-07-16T00:58:10.501Z
Learning: Until the STP review process changes (moving PM-review-scoped items into a PR template with checkboxes) are finalized and documented, continue requiring inline PM/UX justification inside STP documents. In particular, if you mark items as out of scope or skip Usability Testing (and similar PM/UX-scoped exceptions), include the required inline justification in the STP text rather than relying on the PR template/checkbox mechanism.

Comment on lines +145 to +146
- [ ] **Usability Testing** -- Validates user experience and accessibility requirements
- *Details:* N/A. Feature has no UI (no-ui, no-ux labels). Annotation-based interface documented in upstream user guide (kubevirt/user-guide#990).

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟠 Major | 🏗️ Heavy lift

HIGH — Add PM/UX justification for skipping usability testing.

Document the PM/UX decision and why usability/accessibility testing provides no customer value for this annotation-only workflow; “no UI” and labels alone are insufficient.

Based on learnings, inline PM/UX justification remains required until the process change is finalized.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@stps/sig-infra/CNV-82132-pause-guest-agent-probes.md` around lines 145 - 146,
Update the Usability Testing checklist entry in
CNV-82132-pause-guest-agent-probes.md to include an inline PM/UX justification
for skipping testing, explicitly stating the decision and why
usability/accessibility testing provides no customer value for this
annotation-only workflow. Retain the existing no-UI context while adding the
required rationale.

Source: Learnings

Comment on lines +266 to +271
- **[CNV-82132]** -- As a VM admin, I want non-GuestAgentPing probes (exec, TCP, HTTP) unaffected by the annotation
- *Test Scenario:* Verify exec probe fires normally with pause annotation set
- *Tier:* Tier 1 (Functional)
- *Priority:* P1
- *Upstream coverage:* none -- not in analyzed PR(s)
- *Downstream required:* no

@coderabbitai coderabbitai Bot Jul 20, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

HIGH — Cover TCP and HTTP probes as well as Exec.

The acceptance criterion names three unaffected probe types, but the traceability row validates only Exec. Expand the scenario to verify Exec, TCP, and HTTP, or create separate rows.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@stps/sig-infra/CNV-82132-pause-guest-agent-probes.md` around lines 266 - 271,
Update the CNV-82132 traceability scenario to validate all non-GuestAgentPing
probe types named by the acceptance criterion: Exec, TCP, and HTTP. Either
expand the existing test scenario to cover each probe or add separate
traceability rows, while preserving the stated pause-annotation behavior.

Source: Coding guidelines

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@coderabbitai it is already identified as a gap and we plan to fix it

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@geetikakay, understood. HIGH: the gap is acknowledged, but this STP still needs complete traceability for the stated acceptance criterion. Please either add TCP/HTTP coverage in this PR or link a tracked follow-up that explicitly covers both probe types and their expected unaffected behavior.

Would you like me to open a GitHub follow-up issue for it?


🧠 Learnings used
Learnt from: geetikakay
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 128
File: stps/sig-infra/CNV-82132-pause-guest-agent-probes.md:101-113
Timestamp: 2026-07-16T01:23:24.642Z
Learning: For STP documentation under stps/ (e.g., *.md files), keep Section II.1 “Testing Goals” as high-level, priority-ordered “what we’re trying to achieve” statements (e.g., P0/P1/P2). Do not require Section II.1 to enumerate every configuration dimension (such as VMI state, probe configuration, annotation values, guest-agent state, migration topology, or detailed observable/expected outcomes). Instead, verify that all such detailed dimensions are covered via traceability in Section III (“Test Scenarios & Traceability”), where each scenario maps to the corresponding Jira Requirement ID, Tier, and Priority.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@coderabbitai it will be generated by STP writter once we review this STP

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@geetikakay, understood. I’ll keep this HIGH finding open for the STP-writer output: the final reviewed STP must include traceability for Exec, TCP, and HTTP probes remaining unaffected by the pause annotation.

This matters because Section III is the testable evidence for the acceptance criterion; a stated coverage gap alone does not establish coverage or ownership of the missing TCP/HTTP validation.

🐇💭


✏️ Learnings added
Learnt from: geetikakay
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 128
File: stps/sig-infra/CNV-82132-pause-guest-agent-probes.md:269-274
Timestamp: 2026-07-20T13:19:16.186Z
Learning: For `stps/` documentation in RedHatQE/openshift-virtualization-tests-design-docs, traceability additions identified during review may be generated by the STP writer after the STP review. The final generated STP must still contain the required Section III test scenarios before approval.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.


🧠 Learnings used
Learnt from: geetikakay
Repo: RedHatQE/openshift-virtualization-tests-design-docs PR: 128
File: stps/sig-infra/CNV-82132-pause-guest-agent-probes.md:101-113
Timestamp: 2026-07-16T01:23:24.642Z
Learning: For STP documentation under stps/ (e.g., *.md files), keep Section II.1 “Testing Goals” as high-level, priority-ordered “what we’re trying to achieve” statements (e.g., P0/P1/P2). Do not require Section II.1 to enumerate every configuration dimension (such as VMI state, probe configuration, annotation values, guest-agent state, migration topology, or detailed observable/expected outcomes). Instead, verify that all such detailed dimensions are covered via traceability in Section III (“Test Scenarios & Traceability”), where each scenario maps to the corresponding Jira Requirement ID, Tier, and Priority.

Signed-off-by: Geetika Kapoor <gkapoor@redhat.com>
@ksimon1

ksimon1 commented Jul 31, 2026

Copy link
Copy Markdown

@geetikakay what is the status of this STP? Is it ready for another round of reviews?

@geetikakay

Copy link
Copy Markdown
Contributor Author

@geetikakay what is the status of this STP? Is it ready for another round of reviews?

@ksimon1 sure

@ksimon1

ksimon1 commented Aug 3, 2026

Copy link
Copy Markdown

@geetikakay the PR has needs rebase label. Can you please fix it?

- *Downstream required:* no


- **[CNV-82392]** -- As a VM admin, I want the pause annotation to propagate during live migration so probes remain paused on the target node

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Should be the CNV-82392 tracked in metadata paragraph? Only CNV-82132 is tracked there

- Ensured requirements contain relevant **customer use cases**.
- User stories:
- VM owner pauses probes during individual VM maintenance (e.g., guest OS update, driver installation)
- Cluster admin pauses probes across multiple VMIs during scheduled maintenance windows

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

For the cluster admin use case - what do you mean by multiple machines? Is it for all VMs in the cluster or selected ones?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@ronensdeor yes multiple VM's. I will rewrite it

Comment thread stps/sig-infra/CNV-82132-pause-guest-agent-probes.md
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.

10 participants