feat(vm): hotplug cpu (phase 1)#2147
Merged
diafour merged 19 commits intofeat/vm/hotplug-memoryfrom Apr 7, 2026
Merged
Conversation
4a4baaf to
fb28e31
Compare
31b93a2 to
cc31668
Compare
- Simple implementation of CPU hotplug. Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
++ keep new annotations in spec.template.domain. Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
…ure gates are off Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
57ada47 to
86fda8a
Compare
…urces explicitly, Update is enough Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
LopatinDmitr
reviewed
Apr 6, 2026
Contributor
LopatinDmitr
left a comment
There was a problem hiding this comment.
- Replace
if featuregates.Default().Enabled(featuregates.HotplugMemoryWithLiveMigration) {
onif featuregates.Default().Enabled(featuregates.HotplugMemoryWithLiveMigration) || featuregates.Default().Enabled(featuregates.HotplugCPUWithLiveMigration) { `` - in sync_kvvm.go is still a Patch → Update
- kvbuilder.SetCPU() uses a global feature gate, comparator uses an injectable one
- Support for “old VMs" is tied only to PrintableStatus == Running.
…prevent revision problems. ++ kvbuilder and comparator use greater-or-equal to calculate if memory size is hotpluggable. ++ treat KVVM Migrating status as "keep VM non hotpluggable". Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
…is enabled Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
LopatinDmitr
approved these changes
Apr 6, 2026
diafour
added a commit
that referenced
this pull request
Apr 7, 2026
* feat(vm): hotplug cpu (phase 1) Simple implementation of CPU hotplug. - Change cpu cores setting from domain.resources/limits to domain.cpu fields. Change cores count instead of sockets. - Support old VMs to not require reboot on module update. - Requires changes in Kubevirt: deckhouse/3p-kubevirt#82 --------- Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
4 tasks
diafour
added a commit
that referenced
this pull request
Apr 9, 2026
* feat(vm): hotplug cpu (phase 1) Simple implementation of CPU hotplug. - Change cpu cores setting from domain.resources/limits to domain.cpu fields. Change cores count instead of sockets. - Support old VMs to not require reboot on module update. - Requires changes in Kubevirt: deckhouse/3p-kubevirt#82 --------- Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
diafour
added a commit
that referenced
this pull request
Apr 9, 2026
* feat(vm): hotplug cpu (phase 1) Simple implementation of CPU hotplug. - Change cpu cores setting from domain.resources/limits to domain.cpu fields. Change cores count instead of sockets. - Support old VMs to not require reboot on module update. - Requires changes in Kubevirt: deckhouse/3p-kubevirt#82 --------- Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
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.
Description
This PR is a support of new "dynamic cores strategy" implemented in PR deckhouse/3p-kubevirt#82
Why do we need it, and what problem does it solve?
It is a phase 1 of implementation of the CPU hotplug support.
Limitations:
Main difference from original Kubevirt:
What is the expected result?
Checklist
Changelog entries