ironcore-dev / ironcore-dev/roadmap

Feature Parity `cloud-hypervisor-provider` and `libvirt-provider`

Open
#112 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/compute
Dominant language
Shell
Stars
1
Forks
1
PR merge metrics
No merged PRs in 30d

Description

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
  • Provider Network plugin
    • harmonize apinet-network plugin and move to provider-utils?
  • Local dev support for mac
  • Exec / Interactive Console (local/iri)
  • Provider health check endpoint (HTTP liveness probe)
  • Graceful shutdown (on delete)
  • Volume resize
  • Hugepage support
  • Volume cache policy configuration ?
  • GPU / PCI device passthrough
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

  • @lukasfrank
  • @friegger

Acceptance Criteria

  • Exec / Console
    • Exec() gRPC method fully implemented
  • Health Check
    • HTTP liveness endpoint validating hypervisor connectivity
  • Provider Network Plugin
    • Provider network plugin matching libvirt-provider interface
      • bootstrap tokens (maybe move to provider-utils)
  • 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
  • GPU / PCI Passthrough
    • Resource claim system for GPU devices
    • PCI address management and hotplug
    • Machine class GPU capability advertisement

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

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by splitting the scope into the proposed sub-issues for Exec, GPU, Health Check, Guest Agent, Provider Network, garbage collection, Hugepages, Cache Policy, and aarch64, then compare each area with libvirt-provider. Done means the relevant acceptance checkboxes are complete and the feature behavior matches the stated parity goals.

Written by the indexing model from the issue text.

Assessment

Tech stack
grpc, macos
Domain
api, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.