Skip to content

Fix OpenVMM perf networking and disk setup#4484

Open
vyadavmsft wants to merge 4 commits into
mainfrom
vyadav_openvmm_perffix_only
Open

Fix OpenVMM perf networking and disk setup#4484
vyadavmsft wants to merge 4 commits into
mainfrom
vyadav_openvmm_perffix_only

Conversation

@vyadavmsft
Copy link
Copy Markdown
Collaborator

@vyadavmsft vyadavmsft commented May 14, 2026

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

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring
  • Documentation update

Checklist

  • Description is filled in above
  • No credentials, secrets, or internal details are included
  • Peer review requested (if not, add required peer reviewers after raising PR)
  • Tests executed and results posted below

Test Validation

Key Test Cases:

Impacted LISA Features:

Tested Azure Marketplace Images:

Test Results

Image VM Size Result
PASSED / FAILED / SKIPPED

Copilot AI review requested due to automatic review settings May 14, 2026 13:56
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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_size and min_raw_disk_size_gb schema field; cloud-init gets growpart + resize_rootfs when enabled.
  • _enable_ssh_forwarding/_disable_ssh_forwarding_context add 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_size runs on whatever path resolve_guest_artifact_path returns, which can point at the original user-supplied image (e.g. when disk_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 calling truncate, 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,
            )

Comment thread lisa/sut_orchestrator/openvmm/node.py Outdated
Comment thread lisa/sut_orchestrator/openvmm/schema.py
Comment thread lisa/sut_orchestrator/openvmm/node.py Outdated
Comment thread lisa/sut_orchestrator/openvmm/node.py
@github-actions
Copy link
Copy Markdown

✅ AI Test Selection — PASSED

1 test case(s) selected (view run)

Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest

Count
✅ Passed 1
❌ Failed 0
⏭️ Skipped 0
Total 1
Test case details
Test Case Status Time (s) Message
smoke_test (lisa_0_0) ✅ PASSED 41.828

@vyadavmsft
Copy link
Copy Markdown
Collaborator Author

@copilot apply changes based on the comments in this thread

Copilot AI review requested due to automatic review settings May 14, 2026 18:50
@vyadavmsft vyadavmsft review requested due to automatic review settings May 14, 2026 18:50
Copy link
Copy Markdown
Contributor

Copilot AI commented May 14, 2026

@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.

@github-actions
Copy link
Copy Markdown

✅ AI Test Selection — PASSED

1 test case(s) selected (view run)

Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest

Count
✅ Passed 1
❌ Failed 0
⏭️ Skipped 0
Total 1
Test case details
Test Case Status Time (s) Message
smoke_test (lisa_0_0) ✅ PASSED 35.787

Copilot AI review requested due to automatic review settings May 18, 2026 20:52
@github-actions
Copy link
Copy Markdown

✅ AI Test Selection — PASSED

1 test case(s) selected (view run)

Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest

Count
✅ Passed 1
❌ Failed 0
⏭️ Skipped 0
Total 1
Test case details
Test Case Status Time (s) Message
smoke_test (lisa_0_0) ✅ PASSED 28.802

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.

Comment thread lisa/sut_orchestrator/openvmm/node.py
Comment thread lisa/sut_orchestrator/openvmm/schema.py Outdated
Comment thread lisa/sut_orchestrator/openvmm/node.py
Comment thread lisa/sut_orchestrator/openvmm/node.py
Comment thread lisa/sut_orchestrator/openvmm/node.py
@vyadavmsft vyadavmsft force-pushed the vyadav_openvmm_perffix_only branch from 3c3ba0c to 5f52a98 Compare May 18, 2026 21:01
@github-actions
Copy link
Copy Markdown

✅ AI Test Selection — PASSED

1 test case(s) selected (view run)

Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest

Count
✅ Passed 1
❌ Failed 0
⏭️ Skipped 0
Total 1
Test case details
Test Case Status Time (s) Message
smoke_test (lisa_0_0) ✅ PASSED 41.194

vyadavmsft and others added 3 commits May 19, 2026 11:31
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>
Copilot AI review requested due to automatic review settings May 19, 2026 18:36
@vyadavmsft vyadavmsft force-pushed the vyadav_openvmm_perffix_only branch from 5f52a98 to 26e1a06 Compare May 19, 2026 18:36
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

Comment thread lisa/sut_orchestrator/openvmm/schema.py Outdated
Comment thread lisa/sut_orchestrator/openvmm/schema.py Outdated
Comment thread lisa/sut_orchestrator/openvmm/node.py Outdated
Comment thread lisa/sut_orchestrator/openvmm/node.py
@github-actions
Copy link
Copy Markdown

✅ AI Test Selection — PASSED

2 test case(s) selected (view run)

Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest

Count
✅ Passed 1
❌ Failed 0
⏭️ Skipped 1
Total 2
Test case details
Test Case Status Time (s) Message
verify_boot_with_debug_kernel (lisa_0_1) ⏭️ SKIPPED 8.671 skipped: Ubuntu not supported. This test case only supports redhat/centos distro.
verify_serial_console (lisa_0_0) ✅ PASSED 47.593

@vyadavmsft vyadavmsft force-pushed the vyadav_openvmm_perffix_only branch from 26e1a06 to cfeb24f Compare May 19, 2026 20:18
@github-actions
Copy link
Copy Markdown

✅ AI Test Selection — PASSED

2 test case(s) selected (view run)

Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest

Count
✅ Passed 1
❌ Failed 0
⏭️ Skipped 1
Total 2
Test case details
Test Case Status Time (s) Message
verify_boot_with_debug_kernel (lisa_0_1) ⏭️ SKIPPED 8.841 skipped: Ubuntu not supported. This test case only supports redhat/centos distro.
verify_serial_console (lisa_0_0) ✅ PASSED 48.513

@vyadavmsft
Copy link
Copy Markdown
Collaborator Author

@LiliDeng pls check

@LiliDeng
Copy link
Copy Markdown
Collaborator

@pupacha @anirudhrb please check, thanks.

Comment thread lisa/sut_orchestrator/openvmm/node.py
Copilot AI review requested due to automatic review settings May 20, 2026 23:16
@vyadavmsft vyadavmsft force-pushed the vyadav_openvmm_perffix_only branch from cfeb24f to 305c9a8 Compare May 20, 2026 23:16
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

Comment thread selftests/test_openvmm_node.py
Comment thread lisa/sut_orchestrator/openvmm/schema.py
@github-actions
Copy link
Copy Markdown

✅ AI Test Selection — PASSED

2 test case(s) selected (view run)

Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest

Count
✅ Passed 1
❌ Failed 0
⏭️ Skipped 1
Total 2
Test case details
Test Case Status Time (s) Message
verify_boot_with_debug_kernel (lisa_0_1) ⏭️ SKIPPED 9.126 skipped: Ubuntu not supported. This test case only supports redhat/centos distro.
verify_serial_console (lisa_0_0) ✅ PASSED 42.723

@vyadavmsft vyadavmsft force-pushed the vyadav_openvmm_perffix_only branch from 305c9a8 to 946aabd Compare May 21, 2026 00:22
@github-actions
Copy link
Copy Markdown

✅ AI Test Selection — PASSED

2 test case(s) selected (view run)

Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest

Count
✅ Passed 1
❌ Failed 0
⏭️ Skipped 1
Total 2
Test case details
Test Case Status Time (s) Message
verify_serial_console (lisa_0_0) ✅ PASSED 45.093
verify_boot_with_debug_kernel (lisa_0_1) ⏭️ SKIPPED 7.151 skipped: Ubuntu not supported. This test case only supports redhat/centos distro.

@vyadavmsft vyadavmsft requested a review from anirudhrb May 21, 2026 12:37
Comment thread lisa/sut_orchestrator/openvmm/node.py Outdated
Comment thread lisa/sut_orchestrator/openvmm/schema.py Outdated
Copilot AI review requested due to automatic review settings May 22, 2026 19:22
@vyadavmsft vyadavmsft force-pushed the vyadav_openvmm_perffix_only branch from 946aabd to 6d1c38c Compare May 22, 2026 19:22
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

node = SimpleNamespace(
runbook=OpenVmmGuestNodeSchema(
uefi=OpenVmmUefiSchema(firmware_path="/tmp/MSVM.fd"),
disk_img="/tmp/guest.vhd",
@github-actions
Copy link
Copy Markdown

✅ AI Test Selection — PASSED

2 test case(s) selected (view run)

Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest

Count
✅ Passed 1
❌ Failed 0
⏭️ Skipped 1
Total 2
Test case details
Test Case Status Time (s) Message
verify_boot_with_debug_kernel (lisa_0_1) ⏭️ SKIPPED 8.389 skipped: Ubuntu not supported. This test case only supports redhat/centos distro.
verify_serial_console (lisa_0_0) ✅ PASSED 51.450

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants