Skip to content

Feature Parity cloud-hypervisor-provider and libvirt-provider #112

@lukasfrank

Description

@lukasfrank

Summary

Achieve feature parity between cloud-hypervisor-provider and libvirt-provider. The cloud-hypervisor-provider covers the core IRI MachineRuntime API but is missing several features needed for production equivalence.


Scope

In Scope

  • Exec / Interactive Console
  • GPU / PCI device passthrough
  • Health check endpoint (HTTP liveness probe)
  • Provider Network plugin
  • Graceful shutdown
  • Hugepage support
  • Volume cache policy configuration
  • Volume resize
  • aarch64 architecture support ?

Out of Scope

  • Libvirt-style event-driven reconciliation (polling is sufficient)
  • Libvirt-specific domain XML management
  • Changes to the IRI API contract itself

Responsible Areas

  • Virtualization

Contributors


Acceptance Criteria

  • Exec / Console

    • Exec() gRPC method fully implemented
  • GPU / PCI Passthrough

    • Resource claim system for GPU devices
    • PCI address management and hotplug
    • Machine class GPU capability advertisement
  • Health Check

    • HTTP liveness endpoint validating hypervisor connectivity
  • Provider Network Plugin

    • Provider network plugin matching libvirt-provider interface
  • Garbage Collector

    • Configurable graceful shutdown timeout
    • Two-phase deletion (graceful → forced)
  • Hugepages

    • --enable-hugepages flag with VM config plumbing
  • Volume Cache Policy

    • Configurable cache policy flag (none/writeback/writethrough/directsync/unsafe)
  • aarch64

    • Architecture detection and firmware path selection

Action Items

  • Assign labels (e.g., area/virtualization, kind/feature)
  • Set milestone
  • Create sub-issues for: Exec, GPU, Health Check, Guest Agent, Provider Network, GC, Hugepages, Cache Policy, aarch64
  • Assign an owner to the issue
  • List all contributors in the "Contributors" section above
  • Add this issue to the Roadmap project board

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions