Add support for cpu hotadd based on libvirt/qemu-kvm

Registered by wingwj

Cpu hotadd feature has been supported by qemu(since version 1.6.2) and libvirt(since version 1.2). This feature is useful for some users to scale the VM without reboot or migrate the instances.The blueprint aims to implement the cpu hot add feature in nova.

The BP is split from this topic:
https://blueprints.launchpad.net/nova/+spec/vcpu-memory-hotplug

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
wingwj
Direction:
Needs approval
Assignee:
wingwj
Definition:
Superseded
Series goal:
Proposed for juno
Implementation:
Unknown
Milestone target:
None
Completed by
John Garbutt

Related branches

Sprints

Whiteboard

To hotadd CPU in libvirt, two steps are needed:

Step 1. Create VM with maxvcpu

The XML looks like:
<vcpu current="2">4</vcpu>

In this case, qemu creates vcpu with -smp 2,maxcpus=4

Step 2. hotadd VCPU in QEMU monitor

Can not find the API (?)

you can use setVcpusFlags.

Removed from next, as next is now reserved for near misses from the last milestone --johnthetubaguyTo hotadd CPU in libvirt, two steps are needed:

Step 1. Create VM with maxvcpu

The XML looks like:
<vcpu current="2">4</vcpu>

In this case, qemu creates vcpu with -smp 2,maxcpus=4

Step 2. hotadd VCPU in QEMU monitor

Can not find the API (?)

you can use setVcpusFlags.

Removed from next, as next is now reserved for near misses from the last milestone --johnthetubaguy

If you are still working on this, please re-submit via nova-specs. If not, please mark as obsolete, and add a quick comment to describe why. --johnthetubaguy (20th April 2014)

wiki:
https://wiki.openstack.org/wiki/Nova/add-support-for-cpu-hotadd

Gerrit topic: https://review.openstack.org/#q,topic:bp/add-support-for-cpu-hotadd,n,z

Addressed by: https://review.openstack.org/86273
    nova-specs for "add-support-for-cpu-hotadd"

Gerrit topic: https://review.openstack.org/#q,topic:bp/aims,n,z

This is been superseded by:
https://blueprints.launchpad.net/nova/+spec/hot-resize

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.