-
Notifications
You must be signed in to change notification settings - Fork 55
Additional volumes #561
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Additional volumes #561
Conversation
TestsPlease note that running unit and e2e tests requires manual approval from a team member. e2e testsWe use labels to control which e2e tests contexts are run:
ℹ️ Ask a team member to add the requested labels if you don't have enough permissions. |
mcbenjemaa
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thank you for raising this PR.
This is my initial review.
Please address the points i mentioned, until I find more time to look at the reconciliation function.
api/v1alpha1/proxmoxmachine_types.go
Outdated
| // +optional | ||
| Discard *bool `json:"discard,omitempty"` | ||
| Iothread *bool `json:"iothread,omitempty"` | ||
| SSD *bool `json:"ssd,omitempty"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| SSD *bool `json:"ssd,omitempty"` | |
| // SSDEmulation enables SSD emulation feature | |
| // SSD emulation sets a drive to be presented to the guest as a solid-state drive rather than a rotational hard disk | |
| // There is no requirement that the underlying storage actually be backed by SSDs; this feature can be used with physical media of any type | |
| // SSD emulation is not supported on VirtIO Block drives. | |
| SSDEmulation *bool `json:"ssdEmulation,omitempty"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice comment, but Proxmox field is ssd, not ssdEmulation. Do you agree CRDs and CAPMOX settings should align with PVE terminology? Otherwise we'll have to explain in documentation that "ssdEmulation" = the PVE "ssd" setting. Def "emulation" should be used in documentation tho, and I've included your code comment.
Co-authored-by: Mohamed Chiheb Ben Jemaa <mohamed-chiheb.ben-jemaa@ionos.com>
|
Thanks for this. I've put hold on it because we're working on v1alpha2 now. I'll help you port it when it's released which should be Soon™. We are wanting to improve the storage config in v1alpha3 and this would fit in. |
…ist instead of separate boot + additional volumes.
|
ZOI redesign sounds a way off. I get the benefit of making disks uniform tho: simpler representation in schema and less documentation. No need for a second PR to make available features like discard, ioThread, ssd, etc to bootVolume. But trillion dollar clouds don't support this uniform approach, they separate the boot from data volumes the same as this PR. Eg: They all do support multiple disks (ie data disks). This is much more an MVP feature than disk uniformity, as shown by this being the most up-ticked issue in this project. As an interim, I propose we mark When v1alpha3 starts, we can introduce I’ve pushed the deprecation notes into this PR so godoc and CRD OpenAPI have |
Closes #504.
Description of changes:
Allows extra disks to be specified. Builds upon work done in @mcbenjemaa's draft.
Unlike VMs, which have a unique ID for tracking, PVE provides no server-side ID for configuration items like disks. So this required implementing a pending queue ("pending guard") to avoid duplicates. Without this, spurious "Unused Disks" are created. Is off by default, but enabled in vm.go.
With this PR, we support disk flags: format, discard, iothread, and ssd in additionalVolumes.