Skip to content

feat(vm): implement CPU/memory hotplug via in-place resize#2247

Open
yaroslavborbat wants to merge 3 commits into
mainfrom
feat/inplace-resize
Open

feat(vm): implement CPU/memory hotplug via in-place resize#2247
yaroslavborbat wants to merge 3 commits into
mainfrom
feat/inplace-resize

Conversation

@yaroslavborbat

@yaroslavborbat yaroslavborbat commented Apr 20, 2026

Copy link
Copy Markdown
Member

Description

Implement hotplug CPU/Memory via in-place resize (without live migration).

New alpha feature gate added:

  • HotplugCPUAndMemoryWithInPlaceResize — CPU and memory hotplug using in-place pod resize

KubeVirt patched to expose the in-place resize capability. The workload-updater controller updated with a new hotplug handler that applies in-place resize when the feature gate is enabled. CPU/memory comparators updated to detect spec changes and trigger reconciliation accordingly.
deckhouse/3p-kubevirt#103

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

The existing hotplug via live migration requires a second node and causes VM downtime during migration. In-place resize allows changing vCPU count and memory of a running VM without migration, reducing overhead and enabling hotplug in single-node environments.

What is the expected result?

  1. Enable HotplugCPUAndMemoryWithInPlaceResize feature gate.
  2. Edit VirtualMachine spec to change CPU/memory.
  3. VM resources are updated without migration or restart.

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: Add hotplug CPU and memory via in-place resize (alpha, behind feature gate HotplugCPUAndMemoryWithInPlaceResize).

@yaroslavborbat yaroslavborbat added this to the v1.9.0 milestone Apr 20, 2026
@yaroslavborbat yaroslavborbat force-pushed the feat/inplace-resize branch 3 times, most recently from 44b0f66 to bd6a872 Compare June 9, 2026 09:09
@universal-itengineer universal-itengineer modified the milestones: v1.9.0, v1.10.0 Jun 10, 2026
@yaroslavborbat yaroslavborbat force-pushed the feat/inplace-resize branch 5 times, most recently from 37ff763 to 2a570e9 Compare June 16, 2026 08:34
@yaroslavborbat yaroslavborbat changed the title feat: impl inplace resize feat(vm): implement CPU/memory hotplug via in-place resize Jun 16, 2026
@yaroslavborbat yaroslavborbat marked this pull request as ready for review June 16, 2026 08:39
@yaroslavborbat yaroslavborbat force-pushed the feat/inplace-resize branch 5 times, most recently from d7ec81d to ff64a11 Compare June 18, 2026 09:45
yaroslavborbat and others added 2 commits June 22, 2026 18:37
Signed-off-by: Yaroslav Borbat <yaroslav.borbat@flant.com>
Signed-off-by: Roman Sysoev <roman.sysoev@flant.com>
@hardcoretime hardcoretime force-pushed the feat/inplace-resize branch from 0101e90 to d511746 Compare June 22, 2026 15:39
Signed-off-by: Roman Sysoev <roman.sysoev@flant.com>
@hardcoretime hardcoretime added the e2e/run Run e2e test on cluster of PR author label Jun 23, 2026
@deckhouse-BOaTswain deckhouse-BOaTswain removed the e2e/run Run e2e test on cluster of PR author label Jun 23, 2026
@hardcoretime hardcoretime added the e2e/run Run e2e test on cluster of PR author label Jun 23, 2026
@deckhouse-BOaTswain

deckhouse-BOaTswain commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Workflow has started.
Follow the progress here: Workflow Run

The target step completed with status: failure.

@deckhouse-BOaTswain deckhouse-BOaTswain removed the e2e/run Run e2e test on cluster of PR author label Jun 23, 2026
@hardcoretime hardcoretime added the e2e/run Run e2e test on cluster of PR author label Jun 23, 2026
@deckhouse-BOaTswain

deckhouse-BOaTswain commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Workflow has started.
Follow the progress here: Workflow Run

The target step completed with status: failure.

@deckhouse-BOaTswain deckhouse-BOaTswain removed the e2e/run Run e2e test on cluster of PR author label Jun 23, 2026
@hardcoretime hardcoretime added the e2e/run Run e2e test on cluster of PR author label Jun 23, 2026
@deckhouse-BOaTswain

deckhouse-BOaTswain commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Workflow has started.
Follow the progress here: Workflow Run

The target step completed with status: failure.

@deckhouse-BOaTswain deckhouse-BOaTswain removed the e2e/run Run e2e test on cluster of PR author label Jun 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants