Skip to content

feat(vm): hotplug cpu (phase 1)#2147

Open
diafour wants to merge 15 commits intofeat/vm/hotplug-memoryfrom
feat/vm/hotplug-cpu
Open

feat(vm): hotplug cpu (phase 1)#2147
diafour wants to merge 15 commits intofeat/vm/hotplug-memoryfrom
feat/vm/hotplug-cpu

Conversation

@diafour
Copy link
Copy Markdown
Member

@diafour diafour commented Mar 24, 2026

Description

  • Change cpu cores setting from domain.resources/limits to domain.cpu fields.
  • Support old VMs to not require reboot on module update.

Why do we need it, and what problem does it solve?

It is a phase 1 of implementation of the CPU hotplug support.

Limitations:

  • No additional VMClass settings, only spec.cpu.cores in the VM is supported for now.
  • Should be explicitly enabled via specifying a featureGate in the ModuleConfig.

Main difference from original Kubevirt:

  • Dynamic cores, static sockets count: 1-16 cores 1 socket, 18-32 cores 2 sockets, etc.
  • CPU cores reducing is allowed.
  • Main Pod and target Pod always have resources.limits for CPU.

What is the expected result?

Checklist

  • The code is covered by unit tests.
  • e2e tests passed.
  • Documentation updated according to the changes.
  • Changes were tested in the Kubernetes cluster manually.

Changelog entries

section: vm
type: feature
summary: "Simple implementation of CPU hotplug"

@diafour diafour added this to the v1.7.0 milestone Mar 24, 2026
@diafour diafour self-assigned this Mar 24, 2026
@nevermarine nevermarine modified the milestones: v1.7.0, v1.8.0 Mar 31, 2026
@diafour diafour force-pushed the feat/vm/hotplug-memory branch from 4a4baaf to fb28e31 Compare April 2, 2026 06:38
@diafour diafour requested a review from LopatinDmitr April 2, 2026 07:14
@diafour diafour force-pushed the feat/vm/hotplug-memory branch 2 times, most recently from 31b93a2 to cc31668 Compare April 2, 2026 16:15
diafour added 13 commits April 2, 2026 19:45
- 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>
@diafour diafour force-pushed the feat/vm/hotplug-cpu branch from 57ada47 to 86fda8a Compare April 2, 2026 16:57
@diafour diafour marked this pull request as ready for review April 2, 2026 16:57
diafour added 2 commits April 2, 2026 20:18
Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
…urces explicitly, Update is enough

Signed-off-by: Ivan Mikheykin <ivan.mikheykin@flant.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants