ch: detect VMM version from git repository for Docker-based tests#4256
ch: detect VMM version from git repository for Docker-based tests#4256vyadavmsft wants to merge 1 commit intomainfrom
Conversation
There was a problem hiding this comment.
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. |
8dfa4ea to
48e4916
Compare
|
@LiliDeng can you check this , something not right with pr checks |
e9d19ce to
04e23f5
Compare
| "UNKNOWN", | ||
| ) | ||
| if cached_version and cached_version != "UNKNOWN": | ||
| node.log.debug(f"Using cached VMM version: {cached_version}") |
There was a problem hiding this comment.
For azure platform, it is expected to see unknown, the cached version doesn't work on azure platform.
There was a problem hiding this comment.
ok , is there anything specific you are asking to change ? im not clear with your comment.
There was a problem hiding this comment.
You need to find a way to distinguish between platforms or perform the check only on platforms that do not have a VMM version.
There was a problem hiding this comment.
Line 64: Now uses cached "UNKNOWN" values (removed the != "UNKNOWN" check)
Line 129: Now caches "UNKNOWN" results at the end.
this should remove overhead, First test checks once and caches "UNKNOWN" and next tests use cache.
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
04e23f5 to
5700e85
Compare
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: