OpenStack Open Source Cloud Computing Software Alexandru Coman Cloud Engineer Paula Crîșmaru SDET / Cloud Engineer
Agenda Windows hypervisor (Hyper-V) OpenStack Windows as a guest Rude Questions Friendly Questions
Hyper-V
OpenStack
OpenStack An open source IaaS project (Apache 2 license) Managed by the OpenStack Foundation More than 150 companies joined it including: AMD, Intel, Canonical, SUSE Linux, Red Hat, Cisco, Dell, HP, IBM, NEC, VMware Second largest OSS foundation after Linux Portable (Mostly used on Linux) Written in Python
Contribution Summary (Liberty) Commits: 1278 LOCs: 282293 Looks good for core (+2): 468 Approve: 291 Patch Sets: 5177 Resolved Bugs: 275 http://stackalytics.com/?release=liberty&metric=loc&company=cloudbase%20solutions
Releases Essex: April 2012 Hyper-V removed) Folsom: October 2012 (Hyper-V reincluded) Juno: October 2014 Kilo: April 2015 Liberty: October 2015 Mitaka: Under development Grizzly: April 2013 Havana: October 2013 Icehouse: April 2014
Reasons for success Most cloud providers want a platform to embed and extend (E.g. Rackspace, HP) Most cloud engineers want a platform which is easy to maintain and troubleshoot Python, due to it s dynamic nature, fits the role and is widely known by Linux admins Great scalability Great support for multiple hypervisors Nowadays hypervisors are simple components in the global architecture, not the focal point anymore Great support for virtual networking (OpenVSwitch is becoming the standard de facto in SDN) Compatibility with EC2 and S3 API Excellent project lifecycle (Code review, Unit / System / integration tests)
Drawbacks Terrible setup experience Lack of unified deployment tools Lack of proper documentation Some youth issues The project is anyway maturing really fast The UI is not at the level of the competition E.g. Cloudstack
Components Compute (Nova) Object Storage (Swift) Block Storage (Cinder) Image Service (Glance) Networking (Quantum) Dashboard (Horizon) Identity (Keystone) Metering (Ceilometer) Orchestration (Heat) File shares (Manila)
Portal Network Virtual Network Compute Image Blob cloud service VHD storage blob Block file Identity Access Control
Component interaction AMQP API RabbitMQ Apache Qpid RESTful services Database Any Python SQLAlchemy provider Mostly MySQL SQL Server required various bug fixes
Development cycle
Gerrit Originally developed by Google for Android Stand-alone patch review system Manages: Git Repositories Code Review Event Stream Privileges (propose / merge code, manage git repositories)
Gerrit Workflow
Gerrit UI
Gerrit checks Gerrit triggers: Pep8 / Flake8 tests Unit tests Integration tests with multiple environments (e.g. Nova): KVM Hyper-V VMWare XenServer etc
NUC Tempest stack
rebot
Integration tests Each CI results can vote +1 / -1 or be neutral At the moment both errors and failures account for -1 Hard to distinguish between them In case of failures users can issue a recheck
Queue monitoring
Windows as a guest
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 typically sysprepped
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
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 maintained in the registry
Plugin modules Users / groups management Storage WinRM Licensing User Data (PowerShell, Heat, etc) NTP, MTU, LocalScripts and more
Multi-cloud support OpenStack (HTTP) OpenNebula OpenStack (ConfigDrive) Ubuntu MAAS Amazon EC2 Ordered list specified in config file CloudStack
Supported Windows versions Windows 7, 8, 8.1, 10 x86 / x64 Windows Server 2008 / 2008 R2 / 2012 / 2012 R2 x64 Windows Server 2016 (TP) NanoServer 2016 (WiP) Works also on XP and 2003 (unsupported)
OpenStack WS2012 R2 eval images 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!!
OpenStack WS2012 R2 eval
How to build an image? https://github.com/cloudbase/windows-openstack-imaging-tools We get lots of questions about how to build those images This open source project automates the entire process
Does Microsoft support Hyper-V in OpenStack? Yes! Microsoft supports Hyper-V regardless of the management stack! Any supported licensing model works (Volume Licensing, SPLA, etc) Questions? Email: openstack@microsoft.com
Windows Openstack components Nova Hyper-V Compute driver Neutron agent (Hyper-V SDN, OVS) Cinder Volume drivers (iscsi, SMB3) Manila SMB3 driver Windows Cloud-Init Ceilometer Agent Windows containers (nova-docker / magnum, coming 2016)
Hyper-V Setup is very easy Our Nova driver is at it s 7th release! Folsom, Grizzly, Havana, Icehouse, Juno, Kilo, Liberty Support for Hyper-V 2012, 2012 R2, 2016 VHDX support Ceilometer support Much more
Hyper-V 2012 R2 / 2016 availability FREE edition Full Hypervisor You need to license Windows guests only! Windows Server 2012 / 2012 R2 / 2016 Just enable Hyper-V Windows 8.1 / Windows 10 For workstation / testing / development usage Nested Hyper-V available today
Hyper-V Nova Compute Seamless OpenStack experience, just like on Linux OpenStack compute utilizes key features baked into the Hyper-V Virtualization Platform Some key differentiators: Shared nothing live migration out of the box RemoteFX (amazing VDI experience) Shielded VMs (2016) Storage Spaces Direct (2016) hyper-convergence
CI Hyper-V is fully CI tested with Tempest tests reporting to Gerrit One of the largest CI contributors with 10 active CIs! Nova Neutron (Hyper-V SDN, OVS - coming soon) Networking-hyperv, Compute-hyperv Cinder (iscsi, SMB3 - Windows, SMB - Linux) Manila (Linux, Windows)
Neutron Hyper-V plugin is part of Neutron since Jan 2013 Project originally called Quantum, renamed Neutron since Havana Supported network types: VLAN NVGRE Flat Local
Neutron Plugin / agent model ML2 Plugin runs in neutron-server (controller) Agent runs on each Hyper-V compute node
Neutron OVS interop Neutron ML2 mechanism driver is compatible with OpenVSwitch! You can use the OVS with Hyper-V agents Limited to compatible protocols: Flat / VLAN Possible NVGRE support You can use the L3 and DHCP agents with the Hyper-V plugin Using the OVS L2 agent on the networking nodes
Hyper-V OpenVSwitch We ported OpenVSwitch to Windows!
Cinder iscsi Windows Server driver SMB3 / SoFS Windows Server driver Great companion for Hyper-V Can be used with any hypervisor
Manila SMB3 driver Included in Liberty Windows File Server or Linux
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!
Nova Compute Installer
Puppet, Chef, Salt, etc 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
Nano Server Leightweight Windows without windows Very small footprint Fast deployment and boot Included with Windows Server 2016
Orchestration Heat templates Juju charms cloudbase.it/juju
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
Windows Juju support
Nova Hyper-V Active Directory Exchange SharePoint Cloudbase Windows Juju charms Cinder Windows Server Storage Windows File Server (SMB) SQL Server Express SQL Server AlwaysOn VDI Failover Clustering Windows Server Update Services Skype for Business (coming soon)
Support openstack@microsoft.com http://ask.cloudbase.it
Q&A openstack@microsoft.com
dream. code. commit. cloudbase.it