Hyper-V support for OpenStack Grizzly


Published on

With the Grizzly release of OpenStack comes many new features for Hyper-V and Windows platforms.

This was the work that was done for the Grizzly the release, and get an early preview before the Havana Summit in Portland.

Come and see Grizzly running on Hyper-V and supporting new features such as:

Quantum Agent for Hyper-V
VLAN and Routing Support
Windows as a Storage Server
Resize/Cold Migration
HTML5 Canvas/RDP Gateway
Cloudinit functionality for Windows guests.

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Hyper-V support for OpenStack Grizzly

  2. 2. Intro Peter Pouliot, CISSP PPouliot@microsoft.com Education:  BA Philosophy - Rhode Island College  Certificate Windows NT Administration - Boston University CEC  Oracle DBA 8i – Oracle University  MS Telecommunication Security - Boston University MET College  Graduate Certificate Digital Forensics - Boston University MET College Certifications:  CISSP, MCSE+I, MCT (NT4/2000), OCP (8i), Network+ Spent last 9 years working on Datacenter Operations and Linux/Windows interoperability for Ximian/Novell/SuSE. May 2011 Deployed first Openstack/Hyper-V cloud while working in the Novell/Microsoft Joint Interoperability Lab March 2012 Started working to OpenStack for Micrsoft
  3. 3. Hyper-V ComputeOpenStack can utilize the key features of Windows Server2012 Virtualization Platform
  4. 4. OpenStack Grizzly Hyper-V Nova Grizzly Compute for Hyper-V Quantum Agent for Hyper-V Cloudinit functionality for Windows Workloads Cinder for Windows Storage Server FreeRDP Gateway Puppet Windows PE Provisioning.
  5. 5. Architecture 1
  6. 6. Hyper-V driver WMI  Currently V1 namespace (root/virtualization)  V2 namespace used for live migration  Complete migration to V2 for Havana Grizzly OS support  Windows Server / Hyper-V 2008 R2, 2012  Windows 8 supported for development Havana OS Support  New features will target 2012 and above only
  7. 7. Hyper-V driver disks  Copy on write (CoW) implemented with differencing disks  Reconnected and merged during snapshots  Reconnected and merged on resize  Not necessary for VHDX (Havana)
  8. 8. Architecture 2
  9. 9. Quantum  Network connectivity as a service  Plugin based architecture  Official plugins:  Open vSwitch  Cisco UCS/Nexus  Linux bridge  Nicira NVP  Ryu OpenFlow  NEC OpenFlow  Big Switch OpenFlow  Hyper-V
  10. 10. Hyper-V plugin Quantum plugin  Runs in quantum-server  Database based configuration  Networks, subnets, ports Quantum agent  Runs on any compute node  Supports:  Local (private vSwitch)  Flat  VLAN  NVGRE (Havana)  Communicates with plugin via AMQP L3 support:  Using the Linux L3 and DHCP plugins
  11. 11. Hyper-V plugin Nova compute driver  Creates the vNics (one per network)  Does not connect them Quantum agent  Creates the vswitch ports  Sets the VLAN ID and proper vswitch mode  For NVGRE creates instances of:  MSFT_NetVirtualizationLookupRecordSettingData  etc
  12. 12. Horizon  Main UI  Implemented in Python with Django  Typically deployed on Apache with mod_wsgi  Includes console access  Currently only VNC  RDP to be added for Havana
  13. 13. Hyper-V console Hyper-V provides console access via RDP, but using additional settings compared to a standard RDP connection  Port: 2179 (instead of 3389)  PCB: preconnection blob, contains the VM ID (a GUID)  Passing the PCB is possible using:  The Microsoft remote Desktop ActiveX control  FreeRDP
  14. 14. FreeRDP Our solution is based on FreeRDP  Fork is going to be merged with main repository Open Source RDP client (Apache 2)  https://github.com/FreeRDP/FreeRDP Works on Linux, Windows and Mac OS X Web gateway based on FreeRDP-WebConnect  https://github.com/FreeRDP/FreeRDP-WebConnect
  15. 15. Web Gateway Client  HTML5  Works on any modern browser  Web sockets for data transfer  Canvas for painting  Can be embedded in any web site Server proxy  (wsgate) written in C++  Currently working on Linux  can work on Windows
  16. 16. Dashboard integration Decoupling from VNC  Create plugin that embed the canvas in the Dashboard Authentication layer  Keystone token validation Logic for retrieving VM id from OpenStack instance ID  Ask Nova about the instance details, in particular the Hyper-V host running it  Get cached hypervisor credentials from keyring or similar  Query the Hyper-V host about the RDP console port (2179 by default)  Retrieve the VM id from the host given the instance name  Perform connection via wsgate Alessandro Pilotti, Cloudbase Solutions, Webcast: http://bit.ly/VgwMvs
  17. 17. Instance initialization Guests require cloud specific customization on startup, e.g.:  Hostname  SSH keys  Users / groups, password management  Partition resize  Static network configuration  Custom scripts  On Windows: Powershell, cmd.exe, bash
  18. 18. Metadata access  Metadata needs to be provided to the guest:  Metadata API, accessed via  Openstack or EC2 format  ConfigDriveV2
  19. 19. Cloud-Init Project provided by Canonical  Currently Linux specific  GPL  Windows Cloud-Init (cloudbase-init)  Written in Python  Apache 2  Very easy to install  Supports any Hypervisor
  20. 20. Windows Cloud-Init
  21. 21. Windows images  Create VM  Install OS  Manual or unattended setup  On KVM include VirtIO drivers  Keep partition sizes as small as possible  Apply SP / updates  Install Windows Cloud-Init  Sysprep  Shutdown  Copy instance to Glance
  22. 22. Nova Compute Installer
  23. 23. Nova Compute Installer  Provides a very simple way to install OpenStack on a Windows compute node  Can be executed fully unattended  Installs a complete Python environment  Generates Nova and Quantum configuration files  Based on user input:  Creates external virtual switches  Installs the Quantum Hyper-V agent  Enables live migration  Enables the iScsi initiator service
  24. 24. Puppet Manifests for Windows/LinuxProvisioning  Puppet manifests for complete windows pxe deployment  Compute pxe infrastructure to programmatically boot all openly available linux distributions  Integration from wireline provisioning through configuration management.
  25. 25. OpenStack/Hyper-V Demo  Nova Compute Installer  Hyper-V Quantum Agent  RDP Gateway  Windows Provisioning Automation