Windows can run as a guest operating system on OpenStack. Cloudbase-Init allows customization of Windows instances at boot time through plugins. Hyper-V can be used as the hypervisor for OpenStack, and the Hyper-V Nova compute driver and Neutron plugin support integration with OpenStack. Templates in Heat allow automated provisioning of multi-server Windows environments. Puppet, Chef, Crowbar, and SUSE Cloud can be used to deploy and manage Hyper-V compute nodes running OpenStack.
2. Agenda
•
•
•
•
•
Windows as a guest
Windows licensing on OpenStack
Heat templates
Windows hypervisor (Hyper-V)
Crowbar and SUSE Cloud 2
3. 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
5. 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
8. Most important plugins
• CreateUser
• SetUserPassword
• SetHostName
– Requires a reboot
• SSHPublicKeys
• ExtendVolumes
– Useful for different flavors / resizes
• User data
– Including multipart: Heat!!
9. 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
10. 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-setupscripts/blob/master/SetupWinRMAccess.ps1
12. 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!!
13. How to build an image?
• Windows has the equivalent of a kickstart /
preseed
– https://github.com/cloudbase/windowsopenstack-imaging-tools
• We get lots of questions about how to build
those images
• This project automates the entire process
14. 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
15. 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
16. 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
17. 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…
18. 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
19. Hyper-V / Windows
Openstack components
•
•
•
•
•
Nova Compute driver
Quantum plugin
Cinder Volume driver
Windows Cloud-Init
Ceilometer Agent (Havana)
20. 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
21. 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
23. 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!
25. 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
26. 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!
27. 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
30. Puppet and Chef
• Hyper-V compute nodes can be installed
via Puppet or Chef as well
• Puppet
– https://github.com/openstack-hyper-v/puppetopenstack_hyper_v
• Chef
– https://github.com/cloudbase/barclamphyperv-compute
31. 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