-
Notifications
You must be signed in to change notification settings - Fork 225
ch: detect VMM version from git repository for Docker-based tests #4256
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR fixes Cloud Hypervisor performance test metadata reporting by improving how the cloud-hypervisor VMM version is detected and made available to platform/environment information collection (especially for Docker-based tests that build from source).
Changes:
- Enhance
get_vmm_version()to prefer a cached value, then fall back to local binary version output, then togit describefrom the cloned repo. - Cache the detected VMM version during
CloudHypervisorTeststool installation for later use by platform information hooks. - Update Cloud Hypervisor test case signatures to accept
Environment(framework injection alignment).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| lisa/sut_orchestrator/platform_utils.py | Adds cached + git-repo-based VMM version detection logic. |
| lisa/microsoft/testsuites/cloud_hypervisor/ch_tests_tool.py | Caches detected VMM version post-install for later metadata collection. |
| lisa/microsoft/testsuites/cloud_hypervisor/ch_tests.py | Adds Environment parameter to CH test cases for framework injection consistency. |
**Key Test Cases:**
verify_cloud_hypervisor_performance_metrics_tests|verify_cloud_hypervisor_integration_tests
**Impacted LISA Features:**
Virtualization
**Tested Azure Marketplace Images:**
- canonical 0001-com-ubuntu-server-jammy 22_04-lts latest
- microsoftcblmariner azure-linux-3 azure-linux-3 latest
307db8b to
f00b53e
Compare
|
@copilot please rebase the latest main into this branch. |
f00b53e to
8dfa4ea
Compare
i did the rebase. |
Problem: Cloud-hypervisor performance tests report VMM version as 'UNKNOWN' instead of actual version (e.g., '48.0.235'). Tests run cloud-hypervisor inside Docker containers which are build environments without pre-compiled binaries, making binary-based version detection unreliable. Root Cause: 1. Tests execute cloud-hypervisor by compiling from source inside Docker build containers 2. Previous version detection attempted to query non-existent binaries in Docker images 3. Version detection ran during teardown when SSH session was closing, causing failures
8dfa4ea to
48e4916
Compare
|
@LiliDeng can you check this , something not right with pr checks |
| # even during teardown when the node may be disconnected. | ||
| extended_resources = getattr(node.capability, "extended_resources", None) | ||
| if extended_resources: | ||
| cached_version: str = extended_resources.get( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, it doesn't cache the value.
Problem:
Cloud-hypervisor performance tests report VMM version as 'UNKNOWN' instead of actual version (e.g., '48.0.235'). Tests run cloud-hypervisor inside Docker containers which are build environments without pre-compiled binaries, making binary-based version detection unreliable.
Root Cause:
Solution: