Skip to content
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

Simplify neonvm memory API to remove memory slots #1245

Open
sharnoff opened this issue Feb 4, 2025 · 0 comments
Open

Simplify neonvm memory API to remove memory slots #1245

sharnoff opened this issue Feb 4, 2025 · 0 comments
Labels
a/tech_debt Area: related to tech debt c/autoscaling/neonvm Component: autoscaling: NeonVM

Comments

@sharnoff
Copy link
Member

sharnoff commented Feb 4, 2025

Problem description / Motivation

Once #1060 is complete, we'll still be defining memory amounts in "number of slots" with "memory slots" of a certain size (even though the underlying size in virtio-mem is fixed size).

This complicates the API.

Feature idea(s) / DoD

DoD: The only remaining API for defining memory limits / usage for VirtualMachine objects is one that doesn't reference "memory slots".

Implementation ideas

We can add a new nullable field: .spec.guest.memory, with fields min/use/max of type resource.Quantity.

We'd also make .spec.guest.{memorySlots,memorySlotSize} nullable, with the requirement that either memorySlots/memorySlotSize are set, or the new memory field is set, and not both.

And then we can gradually migrate from one to the other by recreating all VMs. (or alternately allowing in-place modifications, but that seems like more hassle than it's worth, TBH)

@sharnoff sharnoff added c/autoscaling/neonvm Component: autoscaling: NeonVM a/tech_debt Area: related to tech debt labels Feb 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a/tech_debt Area: related to tech debt c/autoscaling/neonvm Component: autoscaling: NeonVM
Projects
None yet
Development

No branches or pull requests

1 participant