Skip to content

fix: skip LUKS tests on non-vSphere providers - #645

Merged
myakove merged 1 commit into
RedHatQE:mainfrom
MiriSafra:fix/skip-luks-tests-non-vsphere
Aug 20, 2026
Merged

myakove merged 1 commit into
RedHatQE:mainfrom
MiriSafra:fix/skip-luks-tests-non-vsphere

Conversation

@MiriSafra

Copy link
Copy Markdown
Member

Summary

LUKS tests are marked @pytest.mark.vsphere but were missing from the collection-time skip tuple in pytest_collection_modifyitems. This caused setup failures on RHV and OpenStack tier1 jobs when trying to find the non-existent mtv-tests-rhel9-luks VM.

Fix

Added "luks" to the vsphere-only skip keywords alongside copyoffload, shared_disk, deep_inspection, and aap.

Impact

  • mtv-2.12-ocp-4.22-api-test-runner-tier1-rhv-nfs-csi - LUKS tests now skip cleanly
  • mtv-2.12-ocp-4.22-api-test-runner-tier1-openstack-cold-nfs-csi - LUKS tests now skip cleanly

Signed-off-by: Miryam Safra <msafra@redhat.com>
@coderabbitai

coderabbitai Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 15f94dda-3e6b-4bfd-b599-eaa8ae7d330b


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.

@redhat-qe-bot2

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: Disabled for this repository
  • 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: All label categories are enabled (default configuration)

📋 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 (PR author or approvers)
  • /hold cancel - Unblock PR merging (PR author or approvers)
  • /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)
  • /automerge - Enable automatic merging when all requirements are met (maintainers and 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 build-container - Rebuild and test container image
  • /retest conventional-title - Validate commit message format
  • /retest all - Run all available tests

Container Operations

  • /build-and-push-container - Build and push container image (tagged with PR number)
    • Supports additional build arguments: /build-and-push-container --build-arg KEY=value

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. Status Checks: All required status checks must pass
  3. No Blockers: No wip, hold, has-conflicts labels and PR must be mergeable (no conflicts)
  4. Verified: PR must be marked as verified

📊 Review Process

Approvers and Reviewers

Approvers:

  • krcmarik
  • myakove
  • solenoci

Reviewers:

  • krcmarik
  • myakove
  • solenoci
Available Labels
  • hold
  • verified
  • wip
  • lgtm
  • approve
  • automerge
AI Features
  • Conventional Title: Mode: fix (cursor/cursor-grok-4.6-high)
  • Cherry-Pick Conflict Resolution: Enabled (cursor/cursor-grok-4.6-high)
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
  • Container Builds: Container images are automatically tagged with the PR number
  • 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.

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Skip LUKS tests for non-vSphere providers

🐞 Bug fix 🧪 Tests 🕐 Less than 5 minutes

Grey Divider

AI Description

• Skip LUKS migration tests when the source provider is not vSphere.
• Prevent missing vSphere-only VM failures in RHV and OpenStack jobs.
Diagram

graph TD
  A["Provider Config"] --> B{"vSphere Source?"}
  B -- Yes --> C["Run LUKS Tests"]
  B -- No --> D["Collection Hook"] --> E["LUKS Keyword"] --> F["Skip Marker"]
Loading
High-Level Assessment

The change follows the existing selective keyword-based provider gating and avoids restoring the blanket vSphere-marker behavior that previously skipped valid multi-provider tests. Adding luks to the established tuple is the lowest-risk fix.

Files changed (1) +3 / -1

Bug fix (1) +3 / -1
conftest.pySkip LUKS tests for unsupported source providers +3/-1

Skip LUKS tests for unsupported source providers

• Adds the 'luks' keyword to the vSphere-only collection filter. LUKS tests now receive a skip marker before setup on RHV, OpenStack, and other non-vSphere providers.

conftest.py

@qodo-code-review

qodo-code-review Bot commented Aug 19, 2026 •

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. LUKS gating lives in conftest ✗ Dismissed 📘 Rule violation ⌂ Architecture
Description
Adding luks to the vSphere-only filter embeds provider-specific test gating in shared
conftest.py. Provider capabilities should be defined in provider modules and consumed through a
provider-agnostic interface.
Code

conftest.py[333]

+                        kw in item.keywords for kw in ("copyoffload", "shared_disk", "deep_inspection", "aap", "luks")
Relevance

●●● Strong

Recent history accepts provider gating in conftest, including the same collection-hook pattern; no
close rejection precedent exists.

PR-#323
PR-#619

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
PR Compliance ID 1263111 prohibits provider-specific branches in conftest.py. The changed tuple at
conftest.py[333-333] explicitly adds LUKS handling inside a branch that checks whether the source
provider is vSphere, extending provider-specific behavior in shared test scaffolding.

Rule 1263111: Keep provider-specific logic within provider modules, not shared test scaffolding
conftest.py[328-335]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The `luks` marker was added directly to a vSphere-specific branch in shared pytest scaffolding, contrary to the requirement that provider-specific logic reside in provider modules.

## Issue Context
Expose LUKS support through the existing provider abstraction or a provider capability interface. Keep `pytest_collection_modifyitems` provider-agnostic while preserving collection-time skipping for unsupported providers.

## Fix Focus Areas
- conftest.py[329-335]
- libs/providers/vmware.py[1-1]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
✅ Compliance rules (platform): 100 rules

Grey Divider

Tip of the day
💡 Did you know, you can copy the agent prompt from any finding and feed it to your IDE agent

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread conftest.py Resolved
@MiriSafra

Copy link
Copy Markdown
Member Author

/verified

@myakove

myakove commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

/lgtm
/approve

@myakove
myakove enabled auto-merge (squash) August 20, 2026 10:25
@myakove
myakove merged commit 445d634 into RedHatQE:main Aug 20, 2026
9 checks passed
@redhat-qe-bot2

Copy link
Copy Markdown

New container for ghcr.io/redhatqe/mtv-api-tests:latest published

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants