feat: Add autokill - #355
Open
jedevc wants to merge 4 commits into
Open
Conversation
craciunoiuc
requested changes
Jun 5, 2026
jedevc
force-pushed
the
jedevc/instance-autokill
branch
from
June 5, 2026 08:31
bf86d2b to
ee13210
Compare
nurof3n
reviewed
Jun 5, 2026
jedevc
force-pushed
the
jedevc/instance-autokill
branch
from
August 24, 2026 13:29
ee13210 to
ea43dfb
Compare
Member
Author
|
Checkpoint create is unblocked upstream by https://github.com/unikraft-cloud/proto/pull/343 — once that lands and the SDK regenerates, |
jedevc
force-pushed
the
jedevc/instance-autokill
branch
from
August 25, 2026 09:35
aaae865 to
10351c1
Compare
jedevc
force-pushed
the
jedevc/instance-autokill
branch
from
August 25, 2026 09:37
10351c1 to
3a25f5a
Compare
Signed-off-by: Justin Chadwell <justin@unikraft.com>
Service groups take the same autokill config as instances, minus the request-count trigger — /v1/services only accepts time_ms. Rather than reuse InstanceAutokill and silently drop num-requests, this adds a time-only Autokill type and wires it through create, edit, and the patch spec. Signed-off-by: Justin Chadwell <justin@unikraft.com>
Templates measure autokill from the last clone rather than from stop time, and the endpoint only accepts time_ms, so this reuses the time-only Autokill type added for service groups. The read side mirrors instance.template_autokill, not instance.autokill — the platform keeps the two separate and documents each as unused for the other kind of instance. Signed-off-by: Justin Chadwell <justin@unikraft.com>
Checkpoints are template-state VMs carrying UKP_VM_FLAGS_CHECKPOINT, so they share the template autokill timer and its last-clone semantics — here, time without a restore. The read side mirrors instance.checkpoint_autokill, which is what the platform emits for a checkpoint in place of template_autokill. Signed-off-by: Justin Chadwell <justin@unikraft.com>
jedevc
force-pushed
the
jedevc/instance-autokill
branch
from
August 27, 2026 18:30
3a25f5a to
62b947e
Compare
Member
Author
|
@craciunoiuc @nurof3n ready for another review, I added autokill to a lot more places! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
--autokilleverywhere the platform accepts it: instances (time+num-requests), and service groups, instance templates and checkpoints (timeonly — those endpoints have no request-count trigger). Create and edit both, on all four.Templates read back from
instance.template_autokilland checkpoints frominstance.checkpoint_autokill— the platform stores one timer but emits it under different names depending on the kind of instance.Checkpoint create needed https://github.com/unikraft-cloud/proto/pull/343 first, since the spec never described
autokillon that endpoint; the SDK bump here picks it up.The one remaining autokill surface is image pin, which the CLI has no command for at all (
PinImages/UnpinImagesare unused) — that is its own feature, not an autokill gap. The same proto change also addedtagsto checkpoint create, which is still unwired here; happy to fold that in if you would rather not have a second PR.