Fix OpenVMM perf networking and disk setup#4484
Conversation
There was a problem hiding this comment.
Pull request overview
Adds per-guest network setup hardening and a configurable raw-disk growth path for OpenVMM perf runs: extra FORWARD ACCEPT rules tied to the bridge interface (with matching cleanup), a new min_raw_disk_size_gb runbook field that grows the guest raw image on the host and turns on cloud-init growpart/resize_rootfs, plus selftests covering the new behavior.
Changes:
- New
OpenVmmController.ensure_minimum_raw_disk_sizeandmin_raw_disk_size_gbschema field; cloud-init getsgrowpart+resize_rootfswhen enabled. _enable_ssh_forwarding/_disable_ssh_forwarding_contextadd and remove broad FORWARD ACCEPT rules keyed on the bridge interface.- Selftests cover unique TAP settings, the new forwarding rules, raw-disk growth gating, and host working-path behavior.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| lisa/sut_orchestrator/openvmm/schema.py | Adds OPENVMM_DEFAULT_MIN_RAW_DISK_SIZE_GB=16 constant and min_raw_disk_size_gb field on the guest schema. |
| lisa/sut_orchestrator/openvmm/node.py | Implements raw-image truncation, cloud-init growpart wiring, and broader bridge-based FORWARD rules + cleanup. |
| selftests/test_openvmm_node.py | Adds tests for SSH forwarding bridge rules and raw-disk growth gating. |
Comments suppressed due to low confidence (1)
lisa/sut_orchestrator/openvmm/node.py:1722
ensure_minimum_raw_disk_sizeruns on whatever pathresolve_guest_artifact_pathreturns, which can point at the original user-supplied image (e.g. whendisk_img_is_remote_path=True, or when the resolver symlinks/reuses the source). Truncating that file in place can grow (and potentially corrupt the appearance of) the user's master image rather than a per-guest copy. Please verify the resolved path is always a per-guest working copy before callingtruncate, or copy-on-write before resizing.
self._openvmm_controller.ensure_minimum_raw_disk_size(
node_context.disk_img_path,
runbook.min_raw_disk_size_gb,
)
✅ AI Test Selection — PASSED1 test case(s) selected (view run) Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest
Test case details
|
|
@copilot apply changes based on the comments in this thread |
Applied in 2539a22. The OpenVMM updates now keep raw disk growth opt-in, gate host growth and cloud-init resize on the same raw-image check, remove the broad bridge-only FORWARD rules, and validate TAP/bridge interface names up front. |
✅ AI Test Selection — PASSED1 test case(s) selected (view run) Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest
Test case details
|
✅ AI Test Selection — PASSED1 test case(s) selected (view run) Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest
Test case details
|
3c3ba0c to
5f52a98
Compare
✅ AI Test Selection — PASSED1 test case(s) selected (view run) Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest
Test case details
|
Add per-guest TAP bridge and subnet derivation, host FORWARD rule setup and cleanup, configurable raw disk growth, and cloud-init root disk resize settings for OpenVMM guests. Update OpenVMM selftests for unique TAP settings, forwarding rules, raw disk growth, and host working path behavior.
Agent-Logs-Url: https://github.com/microsoft/lisa/sessions/40e8287e-a275-4eb9-8688-1917b2aaed3b Co-authored-by: vyadavmsft <1424753+vyadavmsft@users.noreply.github.com>
Agent-Logs-Url: https://github.com/microsoft/lisa/sessions/40e8287e-a275-4eb9-8688-1917b2aaed3b Co-authored-by: vyadavmsft <1424753+vyadavmsft@users.noreply.github.com>
5f52a98 to
26e1a06
Compare
✅ AI Test Selection — PASSED2 test case(s) selected (view run) Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest
Test case details
|
26e1a06 to
cfeb24f
Compare
✅ AI Test Selection — PASSED2 test case(s) selected (view run) Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest
Test case details
|
|
@LiliDeng pls check |
|
@pupacha @anirudhrb please check, thanks. |
cfeb24f to
305c9a8
Compare
✅ AI Test Selection — PASSED2 test case(s) selected (view run) Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest
Test case details
|
305c9a8 to
946aabd
Compare
✅ AI Test Selection — PASSED2 test case(s) selected (view run) Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest
Test case details
|
946aabd to
6d1c38c
Compare
| node = SimpleNamespace( | ||
| runbook=OpenVmmGuestNodeSchema( | ||
| uefi=OpenVmmUefiSchema(firmware_path="/tmp/MSVM.fd"), | ||
| disk_img="/tmp/guest.vhd", |
✅ AI Test Selection — PASSED2 test case(s) selected (view run) Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest
Test case details
|
Add per-guest TAP bridge and subnet derivation, host FORWARD rule setup and cleanup, configurable raw disk growth, and cloud-init root disk resize settings for OpenVMM guests.
Update OpenVMM selftests for unique TAP settings, forwarding rules, raw disk growth, and host working path behavior.
Description
Related Issue
Type of Change
Checklist
Test Validation
Key Test Cases:
Impacted LISA Features:
Tested Azure Marketplace Images:
Test Results