feat: nested virtualization support per guest on the same kvm host
- 主要語言
- Java
- 星號
- 3.1k
- 分支
- 1.4k
- 平均合併
- 6 天 19 小時
- 30 天內合併 PR
- 32
描述
##### ISSUE TYPE
* Feature Idea
##### DESCRIPTION
As a CS user, I would like to be able to create a Guest / VM with `guest.cpu.mode=host-passtrough` and also a second VM without `guest.cpu.mode passtrough` on the same KVM host, that's not possible, because `guest.cpu.mode` is applied to the KVM host globally.
##### PROPOSAL
Custom compute offering `large.metal` ( similar to flavors in AWS with nested virtualization capability ) when one can set `allow.additional.vm.configuration.list.kvm` ( https://www.shapeblue.com/cloudstack-feature-first-look-enable-sending-of-arbitrary-configuration-data-to-vms/ ), probably doable with `` XML snippet ( see for more info https://libvirt.org/formatdomain.html#cpu-model-and-topology ) or with simple tick-checkbox for enabling nested virtualization.
It's important to have this ability directly on the offering to support for example CloudStack CAPI implementation, here https://github.com/kubernetes-sigs/cluster-api-provider-cloudstack/blob/main/templates/cluster-template.yaml#L72
貢獻指南
研究方向
先從 issue 的 custom compute offering proposal 和其中引用的 cluster-template.yaml 開始,然後查看連結的 libvirt CPU model 和 topology 文件。當可以依 offering 或 guest 選擇 nested virtualization,同時同一 KVM host 上的另一台 VM 可以在不使用 host-passthrough 模式的情況下執行時,即表示完成。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- java, kubernetes
- 領域
- cloud, infrastructure
- Issue 類型
- 功能
- 難度
- 5/5
- 預估耗時
- 一週以上
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100