Hyper-V generation 2 VMs

Registered by Alessandro Pilotti on 2014-07-01

Initial discussion (Juno design summit): https://etherpad.openstack.org/p/nova-hyperv-juno

Hyper-V Server 2012 R2 introduces a new feature for virtual machines named "generation 2" [1], consisting mainly in a new firmware and better support for synthetic devices.

Main advantages:

* secureboot support
* reduced boot time
* support for live resize of boot disks
* virtual devices completely synthetic (no emulation)
* UEFI firmware in place of BIOS

The Hyper-V compute driver will create a generation 2 VM based on a property defined in the instance image, defaulting to generation 1.

Operating systems supporting generation 2:

* Windows Server 2012 / Windows 8 and above
* Newer Linux kernels

The image must be in VHDX format. The compute driver will revert to generation 1 if the image format is VHD, generating a warning.

Generation 2 VMs don't support IDE devices, which means that local boot and ephemeral disks must be attached as SCSI, while retaining IDE support for generation 1 (where SCSI boot is not supported).

The Nova support for this feature is entirely contained in the compute driver, no changes are required in other Nova components.

Proposed image property to identify the desired generation and related values:

hw_machine_type={hyperv-gen1,hyperv-gen2}

[1] http://blogs.technet.com/b/jhoward/archive/2013/11/04/hyper-v-generation-2-virtual-machines-part-7.aspx

Blueprint information

Status:
Complete
Approver:
John Garbutt
Priority:
Low
Drafter:
Alessandro Pilotti
Direction:
Approved
Assignee:
Claudiu Belu
Definition:
Approved
Series goal:
Accepted for kilo
Implementation:
Implemented
Milestone target:
milestone icon 2015.1.0
Started by
Alessandro Pilotti on 2014-07-01
Completed by
Alessandro Pilotti on 2015-02-03

Related branches

Sprints

Whiteboard

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

Addressed by: https://review.openstack.org/103945
    Spec for Hyper-V generation 2 VMs

You should not set a milestone target unless the blueprint has been properly prioritized by the project drivers.
(This is an automated message)

Gerrit topic: https://review.openstack.org/#q,topic:bp/hyper-v-generation-2-vms,n,z

Addressed by: https://review.openstack.org/107177
    Fixes Hyper-V agent IDE/SCSI related refactoring

Addressed by: https://review.openstack.org/107185
    Adds Hyper-V generation 2 VMs implementation

XenServer has a similar hardware type concept, it would be great to reuse that. Libvirt also has some virtual hardware description properties. --johnthetubuaguy (8th October 2014)

Cool, thanks for the extra info. Given the new kilo rules, we can approve this now. --johnthetubaguy (8th October 2014)

Addressed by: https://review.openstack.org/137429
    Adds extra_resources to scheduler HostStats class

Addressed by: https://review.openstack.org/137430
    Adds scheduler compute extra_resources filter

Not enough positive reviews on this code for it to make kilo-1, moving to kilo-2 --johnthetubaguy 17th December 2014

Addressed by: https://review.openstack.org/145268
    Hyper-V: Fixes reported hypervisor version

Gerrit topic: https://review.openstack.org/#q,topic:bp/hyper-v-vnic-hot-plug,n,z

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

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.