Skip to content

Move crates to mono repo #193

Open
Open

Description

@andreeaflorescu

This issue tracks the progress of moving the rust-vmm crates to the mono-repo: github.com/rust-vmm/rust-vmm/.

Status

Below are the crates that need to be moved to the mono repo.
Status: Not Started, In Progress, Done.
Priority: 1 to 10, where 1 is highest priority and 10 is lowest priority.

Crate Status Priority Owner Tracking Issue rust-vmm deps
vmm-sys-util Done 1 @RuoqingHe rust-vmm#11
vm-memory Done 2 @andreeaflorescu rust-vmm#14
acpi_tables Done 10 @RuoqingHe rust-vmm#58
event-manager Done 4 @subhadeep-123 rust-vmm#60 vmm-sys-util
linux-loader Done 10 @olivereanderson rust-vmm#19 vm-memory
seccompiler Done 10 @subhadeep-123 rust-vmm#76
vm-allocator Done 10 @subhadeep-123 rust-vmm#106
vm-virtio Done 1 @amniik rust-vmm#32 vmm-sys-util, vm-memory
vhost Not Started 2 @epilys and @stefano-garzarella vmm-sys-util, vm-memory, vm-virtio
mshv In Progress 3 @liuw rust-vmm/rust-vmm#155 vmm-sys-util
kvm In Progress 3 @olivereanderson rust-vmm/rust-vmm#154 vmm-sys-util
vhost-device Not Started 5 None vmm-sys-util, vm-memory, vm-virtio, vhost
vfio Not Started 5 None vmm-sys-util, kvm, vm-memory, mshv
vm-superio In Progress 10 @subhadeep-123 rust-vmm#115 vmm-sys-util
vm-fdt In Progress 10 @RuoqingHe rust-vmm#118
xen Not Started 10 @epilys vmm-sys-util
vm-device In Progress 10 @andreeaflorescu rust-vmm#184

To-do when we complete the move

Activity

  1. andreeaflorescu commented on May 11, 2026

    @andreeaflorescu
    MemberAuthor
  2. andreeaflorescu commented on May 11, 2026

    @andreeaflorescu
    MemberAuthor

    The proposed approach to handle this is to start with the crates that cause the biggest pain points when doing updates. Right now it looks like these are the 2 leaf crates vm-memory and vmm-sys-util.

    We need to pick up the next one after vm-memory. @rbradford could you chime in here? Where are the pain points in Cloud Hypervisor?

  3. rbradford commented on May 11, 2026

    @rbradford

    The proposed approach to handle this is to start with the crates that cause the biggest pain points when doing updates. Right now it looks like these are the 2 leaf crates vm-memory and vmm-sys-util.

    We need to pick up the next one after vm-memory. @rbradford could you chime in here? Where are the pain points in Cloud Hypervisor?

    @andreeaflorescu Welcome back! Thanks for jumping in on this. I think that a monorepo will help a lot since all the releases can be made together. One of the problems we have is that if a crate is bumped to an API breaking release (like linux-loader to the new vm-memory 0.18.0) we can't consume that updated version until all the other crates have moved to vm-memory 0.18.0. This is why I asked that we didn't update that crate until the migration to the monorepo was done (we could have updates all the crates with one PR.)

  4. phip1611 commented on May 11, 2026

    @phip1611

    Since I've already got my feet wet with https://github.com/rust-vmm/kvm a couple of months ago, I can take care of that! Unfortunately I can't promise any progress in the next 14 days.

  5. RuoqingHe commented on May 12, 2026

    @RuoqingHe
    Member

    Since I've already got my feet wet with https://github.com/rust-vmm/kvm a couple of months ago, I can take care of that! Unfortunately I can't promise any progress in the next 14 days.

    No worries, I we get there and you happen to be busy, I can take care of it 😉

  6. andreeaflorescu commented on May 22, 2026

    @andreeaflorescu
    MemberAuthor

    We have a wiki with steps to follow for the move to the mono-repo: https://github.com/rust-vmm/rust-vmm/wiki/How-to-migrate-a-repo.

    One thing that is still missing is for the crates to specify their dependencies as local path when their dependencies are already part of the mono-repo. This is a bit hard to explain in words, so I'll add an example with a commit to exemplify what needs to be done. I'll do this as part of vm-memory migration.

  7. bytefire commented on May 22, 2026

    @bytefire

    Is the list above updated? i.e. the crates which don't have an owner for the move to mono repo are open for owner? I see quite a bit of activity in vfio right now. Is someone pencilled in to move that crate?

  8. andreeaflorescu commented on May 26, 2026

    @andreeaflorescu
    MemberAuthor

    @bytefire the list is updated. So far nobody has offered to move vfio. We are prioritizing the CI at this moment.

  9. andreeaflorescu commented on Jul 14, 2026

    @andreeaflorescu
    MemberAuthor

    @olivereanderson are you still interested in moving linux-loader?

    @phip1611 are you still interested in moving kvm?

  10. olivereanderson commented on Jul 14, 2026

    @olivereanderson

    @olivereanderson are you still interested in moving linux-loader?

    @andreeaflorescu yes, I intend to move linux-loader in the next couple of days.

    I was waiting for the vm-memory dependency to be moved first and didn't notice until very recently that it has now indeed been moved.

  11. stefano-garzarella commented on Jul 16, 2026

    @stefano-garzarella
    Member

    Adding myself for moving vhost workspace

  12. andreeaflorescu commented on Jul 16, 2026

    @andreeaflorescu
    MemberAuthor

    We should work next based on priority so that we merge the crates that other crates depend on. This is needed so that we can specify dependencies using the path for all crates that live in the mono repo. See the migration wiki for details: https://github.com/rust-vmm/rust-vmm/wiki/How-to-migrate-a-repo.

    Crates with dependency 10 can be migrated at any point. They don't influence other crates, hence priority 10.

  13. phip1611 commented on Aug 10, 2026

    @phip1611

    Hey there - just returned from a long vacation. I still have this on my radar, but unfortunately I just haven't had the time to get to it. I hope I can get it done within the next 4 weeks or so.

  14. phip1611 commented on Sep 3, 2026

    @phip1611

    @olivereanderson is taken over the kvm migration for me - thanks Oliver!

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions