![Page 1: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/1.jpg)
OpenStack and Windows
Alessandro Pilo5 CEO
@cloudbaseit
![Page 2: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/2.jpg)
Agenda
• Windows as a guest • Windows licensing on OpenStack • Heat templates • Windows hypervisor (Hyper-V) • Crowbar and SUSE Cloud 2
![Page 3: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/3.jpg)
Windows as a guest
• Can be executed on any hypervisor used in Nova
• No differences compared to Linux for image handling (glance etc)
• Images are tipically sysprepped – Why? – It can be avoided to speed up boot times
![Page 4: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/4.jpg)
Synthetic drivers
• Modern Hypervisors provide drivers to replace emulated devices with synthetic ones – Network adapters, etc
• Hyper-V – Integration components / LIS
• KVM – VirtIO
• VMWare – VMWare Tools
• XenServer / XCP – XenServer Tools
![Page 5: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/5.jpg)
Cloudbase-Init
• 100% Python code • Wrapped in a Windows service • Plugin based architecture: – Each plugin can be executed once or more
times at boot – Status for each plugin is mantained in the
registry
![Page 6: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/6.jpg)
Cloudbase-Init installer
![Page 7: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/7.jpg)
Cloudbase-Init installer
![Page 8: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/8.jpg)
Most important plugins
• CreateUser • SetUserPassword • SetHostName – Requires a reboot
• SSHPublicKeys • ExtendVolumes – Useful for different flavors / resizes
• User data – Including multipart: Heat!!
![Page 9: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/9.jpg)
Sysprep
• Prepares a Windows image to be distributed – Typically on large scales
• Run before distributing any Windows image
• OOBE – Out of the box experience – Normally used to let the user customize the
system
![Page 10: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/10.jpg)
SSH Equivalent?
• It exists: WSMan / WinRM • Execute remote command via HTTP / HTTPS
• Can be used for remote PowerShell or from Linux
• Configuration example: – https://github.com/cloudbase/unattended-setup-
scripts/blob/master/SetupWinRMAccess.ps1
![Page 11: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/11.jpg)
OpenStack WS2012 R2
![Page 12: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/12.jpg)
OpenStack WS2012 R2
• Complete with: – Drivers / tools:
• VirtIO, etc – Cloudbase-Init – Sysprepped
• Eval edition can be upgraded with a simple uder_data script:
– DISM /online /Set-Edition:ServerStandard /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula
– Make sure to respect the eval license!!
![Page 13: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/13.jpg)
How to build an image?
• Windows has the equivalent of a kickstart / preseed – https://github.com/cloudbase/windows-
openstack-imaging-tools
• We get lots of questions about how to build those images
• This project automates the entire process
![Page 14: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/14.jpg)
Lincensing
• Windows is surprising in OpenStack – Datacenter license => unlimited instances – 1 license per socket – Works with Hyper-V, VMWare, KVM, etc – The cost is 3 EUR / Month per VM with a
density of 50 VM / host
• Volume licensing • Multitenant? SPLA
![Page 15: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/15.jpg)
SVVP support
• Windows guests are supported on: – Hyper-V
• SVVP – Windows Server Virtualization Validation
Program – http://www.windowsservercatalog.com/
svvp.aspx
• Red Hat, VMWare, SUSE • Your solution is not there? – Microsoft won’t give you support
![Page 16: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/16.jpg)
Heat
• Heat and Windows are a great mix • Templates for: – Active directory – Exchange (multi server) – Sharepoint (multi server) – SQL Server – IIS
• No need to know the provisioning details
![Page 17: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/17.jpg)
Hyper-V
• Setup is very easy • Our Nova driver is at it’s 3rd release! – Folsom, Grizzly, Havana
• Support for Hyper-V 2012 R2 • VHDX support • Ceilometer support • more…
![Page 18: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/18.jpg)
Hyper-V 2012 availability
• FREE edition – Full Hypervisor – Minimum OS support
• Minimum impact on security updates, etc
• Windows Server 2012 – Just enable the related role
• Windows 8 – For workstation / testing / development usage
![Page 19: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/19.jpg)
Hyper-V / Windows
Openstack components
• Nova Compute driver • Quantum plugin • Cinder Volume driver • Windows Cloud-Init • Ceilometer Agent (Havana)
![Page 20: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/20.jpg)
Hyper-V Nova Compute
• Python Application installed as an application/service on the Hyper-V node.
• OpenStack compute utilizes key features baked into the Hyper-V Virtualization Platform
• Does not require windows clustering services
• Does not require shared storage
![Page 21: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/21.jpg)
Neutron
• Hyper-V plugin is part of Quantum since Jan 2013 – Project renamed in Neutron since Havana
• Supported network types: – VLAN – Flat – Local – NVGRE (Icehouse)
• Plugin / agent model – Plugin runs in quantum-server (controller) – Agent runs on each Hyper-V compute node
![Page 22: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/22.jpg)
Typical Neutron setup
L2 Agent
Nova Compute
Network Node
Data Network
VLAN
Compute Node
Quantum Server
Keystone
Nova Services
...
L3 Agent
L2 Agent
DHCP Agent
Controller NodeManagement
Network
TenantCNet210.0.1.0/24VLAN ID:3
TenantANet110.0.0.0/24VLAN ID:1
External Network
30.0.0.0/24
eth0
TenantANet110.0.0.0/24VLAN ID:2
![Page 23: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/23.jpg)
Neutron OVS interop
• Quantum plugin / agent AMQP RPC protocol is compatible with OpenVSwitch!
• You can use the OVS plugin with Hyper-V agents (or vice versa) – Limited to compatible L2 protocols: Flat / VLAN
• You can use the L3 and DHCP agents with the Hyper-V plugin – Using the OVS L2 agent on the networking nodes
• Supports ML2 plugin!
![Page 24: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/24.jpg)
Hyper-V OpenVSwitch!
We are officially porting OpenVSwitch to Windows!
![Page 25: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/25.jpg)
Why OpenVSwitch?
• De facto standard for SDN • Great interoperability – Hyper-V / KVM / etc
• OpenFlow • Tunnelling – VXLAN – GRE
• Quantum OVS plugin – No need for a different one
![Page 26: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/26.jpg)
Dashboard integration
• Hyper-V uses RDP for accessing the console instead of VNC
• By default it accepts connections on port 2179 – Not the RDP connection on 3389! – Access to any guest: Windows, Linux, FreeRDP, etc
• The VM id is provided as part of an RDP protocol additional buffer called PCB (Pre Connection Buffer)
• Authentication is performed against the host, not the guest!
![Page 27: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/27.jpg)
Nova Compute Installer • Independent Python environment to avoid
conflicts with existing applications
• Installs and registers all the required dependencies
• Generates dynamically a nova.conf file based on the parameters provided by the user
![Page 28: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/28.jpg)
Nova Compute Installer
![Page 29: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/29.jpg)
From our web site J
![Page 30: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/30.jpg)
Puppet and Chef
• Hyper-V compute nodes can be installed via Puppet or Chef as well
• Puppet – https://github.com/openstack-hyper-v/puppet-
openstack_hyper_v
• Chef – https://github.com/cloudbase/barclamp-
hyperv-compute
![Page 31: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/31.jpg)
Crowbar
• Big part of Dell’s cloud strategy • Bare-metal deployment • vendor independent • PXE booting – Sledgehammer image boots and gets
configuration • Provisioning via Crowbar web site • Barclams – Configuration – Chef recipes
![Page 32: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/32.jpg)
Crowbar + HyperV
![Page 33: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/33.jpg)
SUSE Cloud 2.0
• Supports Hyper-V and many other hypervisor options
• Based on Crowbar – Grizzly – Havana
![Page 34: OpenStack in action 4! Alessandro Pilotti - OpenStack, Hyper-V and Windows](https://reader034.vdocuments.us/reader034/viewer/2022042513/54001f9f8d7f7289408b45e3/html5/thumbnails/34.jpg)
Q&A