Skip to content

openvmm: add new package - #18444

Merged
Saul Paredes (Redent0r) merged 4 commits into
microsoft:3.0-devfrom
benhillis:users/benhill/openvmm-rpm
Sep 2, 2026
Merged

openvmm: add new package#18444
Saul Paredes (Redent0r) merged 4 commits into
microsoft:3.0-devfrom
benhillis:users/benhill/openvmm-rpm

Conversation

@benhillis

@benhillis Ben Hillis (benhillis) commented Aug 14, 2026

Copy link
Copy Markdown
Member
Merge Checklist
  • The toolchain has been rebuilt successfully (or no changes were made to it)
  • The toolchain/worker package manifests are up-to-date
  • Any updated packages successfully build (or no packages were changed)
  • Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
  • Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
  • All package sources are available
  • cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
  • LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
  • All source files have up-to-date hashes in the *.signatures.json files
  • sudo make go-tidy-all and sudo make go-test-coverage pass
  • Documentation has been updated to match any changes to the build system
  • Ready to merge

Summary

Adds a package for OpenVMM, a modular, cross-platform virtual machine monitor written in Rust. Ships the openvmm host binary.

Important

Draft: this does not build on Azure Linux 3.0 yet. OpenVMM requires rust 1.95 and the distribution ships 1.90. A toolchain bump is in motion, and this is ready to move out of draft once it lands.

Built offline from the upstream release: the tag archive plus the vendor archive uploaded as a release asset.

Change Log
  • Add openvmm 0.1.0
Does this affect the toolchain?

NO

Test Methodology

Built in an mcr.microsoft.com/azurelinux/base/core:3.0 container from the published assets, supplying a 1.95 toolchain in place of the distribution's. Produces openvmm-0.1.0-1.azl3.x86_64.rpm, which installs with tdnf and reports openvmm 0.1.0.

A toolkit build has not been run, as it cannot pass until the toolchain lands.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@microsoft-github-policy-service microsoft-github-policy-service Bot added Packaging 3.0-dev PRs Destined for AzureLinux 3.0 labels Aug 14, 2026
@benhillis

Copy link
Copy Markdown
Member Author

I believe the SPECS check failures are because I have not uploaded the release artifacts to the spec store, jslobodzian was going to point me to instructions on how to do that.

@Redent0r

Copy link
Copy Markdown

I believe the SPECS check failures are because I have not uploaded the release artifacts to the spec store, jslobodzian was going to point me to instructions on how to do that.

Here are the instructions https://dev.azure.com/mariner-org/mariner/_wiki/wikis/mariner.wiki/1284/Source-Tar-Publishing , but I would leave that as the last step before merging (in case there's a need to amend the release sources)

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds OpenVMM 0.1.0 as an x86_64 package, pending the Rust 1.95 toolchain.

Changes:

  • Builds OpenVMM offline from vendored Rust sources.
  • Adds source integrity and component metadata.
  • Registers MIT licensing metadata.

Reviewed changes

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

Show a summary per file
File Description
SPECS/openvmm/openvmm.spec Defines the OpenVMM RPM build and installation.
SPECS/openvmm/openvmm.signatures.json Records source hashes.
LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md Adds OpenVMM to the license map.
LICENSES-AND-NOTICES/SPECS/data/licenses.json Registers OpenVMM licensing data.
cgmanifest.json Adds OpenVMM component metadata.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread SPECS/openvmm/openvmm.spec Outdated
Comment thread SPECS/openvmm/openvmm.spec Outdated

@Redent0r Saul Paredes (Redent0r) left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LGTM, this needs to wait for #18631

Comment thread SPECS/openvmm/openvmm.spec Outdated
Comment thread SPECS/openvmm/openvmm.spec
Comment thread SPECS/openvmm/openvmm.spec
@benhillis
Ben Hillis (benhillis) marked this pull request as ready for review August 21, 2026 23:34
@benhillis
Ben Hillis (benhillis) requested a review from a team as a code owner August 21, 2026 23:34
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@benhillis

Ben Hillis (benhillis) commented Aug 21, 2026

Copy link
Copy Markdown
Member Author

The RPM build jobs are expected to fail on the toolchain until #17759 is merged.

@benhillis

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Commenter does not have sufficient privileges for PR 18444 in repo microsoft/azurelinux

@Redent0r

Copy link
Copy Markdown

#18511 was merged but we still need to wait for it to be cherry-picked to 3.0-dev #18558. Then we can rebase and test in a pipeline

@Redent0r

Saul Paredes (Redent0r) commented Sep 1, 2026

Copy link
Copy Markdown

LGTM, this needs to wait for #18511

The rust upgrade just went in #18631 Ben Hillis (@benhillis) can you rebase this branch on top of latest 3.0-dev? this will allow us to build the openvmm package in our pipelines

OpenVMM is a modular, cross-platform virtual machine monitor written in
Rust. This package ships the OpenVMM host binary, which runs virtual
machines on Linux via KVM or the Microsoft Hypervisor.

Source0 is the archive GitHub generates for the openvmm-v<version> tag.
Upstream publishes a single release asset, openvmm-<version>-vendor.tar.gz,
containing the vendored crate sources and the cargo_config source
replacement written by cargo vendor, so the package builds offline.

The package requires rust >= 1.95, which Azure Linux 3.0 does not ship
yet, so it does not build until the distribution toolchain advances.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The release profile sets debug = true, so suppressing debug_package left
the symbols out of any package. Drop the override so RPM produces the
debuginfo package.

Run the unit tests for the pure-logic crates in the binary's dependency
closure. 1053 tests, no virtualization required.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 50ad1e94-a714-4445-bf61-acec0dec4d22
@benhillis

Ben Hillis (benhillis) commented Sep 1, 2026

Copy link
Copy Markdown
Member Author

Saul Paredes (@Redent0r) Rebased onto 3.0-dev now that #18631 has landed, so rust is at 1.96.1 on the target branch.

Two asks:

  1. Could you kick off the pipeline run you mentioned? /azp run comes back with "Commenter does not have sufficient privileges" for me.
  2. Could you either update the SPECS file for me or show me how to do it? I'd like to understand how to do this when we update versions.

@Redent0r

Copy link
Copy Markdown

Saul Paredes (Saul Paredes (@Redent0r)) Rebased onto 3.0-dev now that #18631 has landed, so rust is at 1.96.1 on the target branch and this package's BuildRequires: rust >= 1.95.0 is satisfiable. The only conflict was the Microsoft row in LICENSES-MAP.md — upstream had added rust-bootstrap while this PR adds openvmm; both are kept.

Two asks:

  1. Could you kick off the pipeline run you mentioned? /azp run comes back with "Commenter does not have sufficient privileges" for me.
  2. Source Signature Check (SPECS) will stay red until the sources are mirrored — srpmpacker 404s on both openvmm-0.1.0.tar.gz and openvmm-0.1.0-vendor.tar.gz in azurelinuxsrcstorage. Both are publicly downloadable from the upstream release (the URLs in Source0/Source1 return 200). I asked about the upload process a couple of weeks ago but never got pointed at the instructions — could you either point me at them or loop in whoever owns that?

Addressing second point since we need that to kick off the build. Tarballs uploaded in:

The pipeline above just needs the tarballs to be uploaded somehwere that is publically accesible. In this case this is https://github.com/microsoft/openvmm/releases/tag/openvmm-v0.1.0. I retriggered the signature check and is passing now

@Redent0r

Copy link
Copy Markdown

Now that tarballs are uploaded, I kicked off the buddy build https://dev.azure.com/mariner-org/mariner/_build/results?buildId=1195079&view=results (I'm not sure if /azp run does the same or if it's just for 4.0. I'm used to triggering the buddy build pipeline manually)

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

The new VMM package has not yet completed a full toolkit build against the distribution toolchain.

Review details
  • Files reviewed: 5/5 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced

@Redent0r

Copy link
Copy Markdown

🔵 Needs a closer look

The new VMM package has not yet completed a full toolkit build against the distribution toolchain.

Review details

it did https://dev.azure.com/mariner-org/mariner/_build/results?buildId=1195079&view=results and it built as expected

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@Redent0r

Copy link
Copy Markdown

Comment thread SPECS/openvmm/openvmm.spec Outdated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@Redent0r
Saul Paredes (Redent0r) merged commit 18ef07d into microsoft:3.0-dev Sep 2, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3.0-dev PRs Destined for AzureLinux 3.0 Packaging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants