Skip to content

libvirt: build CH installer refs from source#4493

Open
vyadavmsft wants to merge 1 commit into
mainfrom
users/vyadav/dom0-guest-ch-ref
Open

libvirt: build CH installer refs from source#4493
vyadavmsft wants to merge 1 commit into
mainfrom
users/vyadav/dom0-guest-ch-ref

Conversation

@vyadavmsft
Copy link
Copy Markdown
Collaborator

@vyadavmsft vyadavmsft commented May 23, 2026

When cloudhypervisor_installer_ref overrides a binary Cloud Hypervisor installer ref, force installation so LISA does not keep an already-installed binary for the wrong ref.

Keep release-tag refs on the existing binary download path. For non-release refs, require the MS source-build variables use_ms_clh_repo=yes, ms_access_token, ms_clh_repo, and ms_igvm_repo, then switch the installer to ms_clh_source. This avoids silently falling back to a hardcoded upstream GitHub repo or an embedded internal IGVM repo URL.

Add the source-build packages needed by Cloud Hypervisor builds, including make on Ubuntu and Azure Linux plus perl/perl-FindBin on Azure Linux.

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

When cloudhypervisor_installer_ref overrides a binary Cloud Hypervisor installer ref, force installation so LISA does not keep an already-installed binary for the wrong ref.

Keep release-tag refs on the existing binary download path. For non-release refs, require the MS source-build variables use_ms_clh_repo=yes, ms_access_token, ms_clh_repo, and ms_igvm_repo, then switch the installer to ms_clh_source. This avoids silently falling back to a hardcoded upstream GitHub repo or an embedded internal IGVM repo URL.

Add the source-build packages needed by Cloud Hypervisor builds, including make on Ubuntu and Azure Linux plus perl/perl-FindBin on Azure Linux.

Tests: isort --check-only, black --check, and flake8 on lisa/sut_orchestrator/libvirt/transformers.py. MyPy still reports existing imported dependency/repo diagnostics outside this change.
Copilot AI review requested due to automatic review settings May 23, 2026 22:48
@github-actions
Copy link
Copy Markdown

🤖 AI Test Selection

No test cases were selected for this PR.

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

This PR updates the libvirt Cloud Hypervisor installer transformer logic so that when cloudhypervisor_installer_ref points to a non-release ref, LISA won’t try to reuse/download a release-binary path; instead it requires MS source-build variables and switches to the MS source installer, forcing installation to avoid keeping an already-installed binary for a different ref.

Changes:

  • Detect Cloud Hypervisor “release tag” refs (e.g. v40.0) vs non-release refs via a regex helper and keep release tags on the binary-download path.
  • When a non-release ref is provided for a binary installer, require use_ms_clh_repo=yes plus ms_access_token, ms_clh_repo, ms_igvm_repo, then switch installer type to ms_clh_source.
  • Add missing build dependencies for source builds (make on Ubuntu/Azure Linux; perl + perl-FindBin on Azure Linux).

Comment thread lisa/sut_orchestrator/libvirt/transformers.py
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.

3 participants