Support hot adding vCPUs to the VMs

Registered by Waldemar Znoinski

This feature aims to extend Nova to support adding vCPUs without requiring a reboot of the VM. Such scaling up of the CPU of a VM may be required if original requirements regarding CPU resources of a VM has changed over time and the restart of the VM is not possible/difficult to perform.

Use cases:
 • Automatic - unpredicted/able higher workloads on the VM (higher web traffic on the web site due to recent news - weather alerts, economy data or else), scaling up the NFV Infrastructure to satisfy needs of VNFs under load spike
 • Scheduled - periods of time a VM needs more compute power (i.e.: during working office hours (applications/db servers, traffic inspections etc.) or after marketing campaign of a web product that leads to much higher than normal user traffic

Hot CPU add to a VM is currently supported by libvirt if domain has a maximum CPUs specified at the time of its startup. Hot adding a CPU in guest Linux exists since kernel 2.6.14 [1] and it's supported in recent releases of main Linux distributions: CentOS, RHEL, Fedora, Ubuntu etc.

Scaling down (hot removing vCPU) is not currently supported in libvirt and not in the scope of this feature. When it becomes available in the underlying hypervisor(s) no major code changes should be required to make it working, meaning code to support scaling up the CPU should provide a framework for down scaling as well.

[1] https://www.kernel.org/doc/Documentation/cpu-hotplug.txt

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Waldemar Znoinski
Direction:
Needs approval
Assignee:
Waldemar Znoinski
Definition:
Obsolete
Series goal:
None
Implementation:
Not started
Milestone target:
None
Completed by
Waldemar Znoinski

Related branches

Sprints

Whiteboard

Implementation of this support depends on implementation of an image/flavor property that will be used to hold the maximum/cap of the CPUs available to the VM: https://blueprints.launchpad.net/nova/+spec/add-hw-cpu-caps

This will need a spec to get approved. This seems very similar to the existing spec called "live-resize" from claudio that is in review, but I can't find that right now. --johnthetubaguy 20151201

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.