Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

37
Alessandro Pilotti CEO Cloudbase Solutions @cloudbaseit OpenStack & Hyper-V

description

OpenStack & Hyper-V. Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit. Cloudbase Solutions. Company started in Italy as .Net / Linux interop dev and consulting Branch started in Timisoara in 2012 to hire devs and provide colocation services - PowerPoint PPT Presentation

Transcript of Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Page 1: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Alessandro PilottiCEO Cloudbase Solutions

@cloudbaseit

OpenStack & Hyper-V

Page 2: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Cloudbase Solutions• Company started in Italy as .Net /

Linux interop dev and consulting• Branch started in Timisoara in 2012 to

hire devs and provide colocation services

• Started using OpenStack for the internal IDC

• Added Hyper-V support• OpenStack business exploded

Page 3: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Agenda • OpenStack + Hyper-V integration• FreeRDP HTML5 dashboard• OpenVSwitch on Windows• Cloudbase-Init• Windows Server 2012 Eval Image• Crowbar integration• Cross Cloud Migration • Havana plans

Page 4: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

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 5: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Hyper-V / Windows Openstack components• Nova Compute driver• Quantum plugin• Cinder Volume driver• Windows Cloud-Init• Ceilometer Agent (Havana)

Page 6: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Hyper-V Nova Compute• Supported features (anything missing? )

– Launch / reboot / terminate– Resize– Pause / unpause– Suspend / resume– Attach / detach volume– Live migration– Snapshot– Guest / host info– Glance integration– Config Drive– Rescue (Havana)– RDP console (instead of VNC)

• Deprecated Nova network is not supported beyond “flat” networking– All Hyper-V networking features are part of Quantum

Page 7: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Quantum• Hyper-V plugin is part of Quantum

since Jan 2013• Supported network types:– VLAN– Flat– Local– NVGRE (Havana)

• Plugin / agent model– Plugin runs in quantum-server (controller)– Agent runs on each Hyper-V compute

node

Page 8: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Quantum 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

• Great for interoperability (e.g. KVM + Hyper-V)

Page 9: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Hyper-V OpenVSwitch!

We officially started porting OpenVSwitch to Windows!!

Page 10: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

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 11: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

OpenVSwitch porting• Porting Posix calls to Windows API• Same CLI as on Linux• Open Source• Windows kernel drivers– NDIS Hyper-V extensions

• VXLAN, GRE– Best performance

• Support for Hyper-V 2012 and above

Page 12: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

OpenVSwitch

Windows Kernel drivers

Page 13: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Typical Quantum setup

Page 14: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

VLAN drivers issues• BEWARE: Some Windows NIC drivers disable VLAN

access by default!

• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}

• Look in all the child keys xxxx, e.g. 0001, 0002 etc for a value "VLanFiltering". Make sure that if present it's set to 0. 

• In case of changes, reboot the server or restart the corresponding adapters.

Page 15: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

FreeRDP• FreeRDP is an amazing RDP open source

client.– Apache 2 license– Multiplatform

• Linux• Mac OS X• Windows

• It provides support for the PCB parameter required by Hyper-V

• We are using it as a standalone client on the free Hyper-V server and on Linux, Mac OS X

Page 16: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

FreeRDP-WebConnect• An HTML5 RDP client based on canvas

and websockets– Similar to NoVNC

• Uses a C++ demon (wsgate) to handle websocket connections and connect to the RDP server– Better performance compared to the

Python proxy used by NoVNC• We provided support for Hyper-V

Page 17: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

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 18: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Nova Compute Installer • Creates a new Hyper-V external switch if

required

• Registers nova-compute as a service and starts it

• Registers quantum-hyperv-agent as a service and starts it (optional)

• Enables the Microsoft iSCSI Initiator service (optional)

Page 19: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Unattended mode• Can be installed in fully unattended mode, great for:

– Chef, Puppet, Group Policies…• msiexec /i HyperVNovaCompute.msi /qn /l*v log.txt

ADDLOCAL=HyperVNovaCompute,QuantumHyperVAgent,iSCSISWInitiator,OpenStackCmdPrompt INSTALLDIR=C:\OpenStack\Nova GLANCEHOST=glancehost GLANCEPORT=9292 RABBITHOST=rabbithost RABBITPORT=5672 RABBITPASSWORD=12345678 NOVASQLCONNECTION=mysql://user:password@host/nova INSTANCESPATH=C:\HyperV ADDVSWITCH=0 VSWITCHNAME=external1 LIMITCPUFEATURES=”" USECOWIMAGES=1 LOGDIR=C:\log ENABLELOGGING=1 VERBOSELOGGING=1 QUANTUMURL=http://quantumhost:9696 QUANTUMADMINTENANTNAME=service QUANTUMADMINUSERNAME=quantum QUANTUMADMINPASSWORD=12345678 QUANTUMADMINAUTHURL=http://keystonehost:35357/v2.0

Page 20: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Nova Compute Installer

Page 21: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

From our web site

Page 22: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Windows Cloud-Init• Cloudbase-init (aka Windows Cloud-

Init)– Similar to the Linux cloud-init– License: Apache 2

• Porting Cloud-Init to Linux was not possible– It requires some major refactoring

• Supported data sources:– OpenStack HTTP metadata– ConfigDrive V2– EC2 HTTP metadata (contributed by

Mirantis)

Page 23: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Windows Cloud-Init• Plugin based architecture• Supported plugins:– SetHostNamePlugin– CreateUserPlugin– NetworkConfigPlugin– SetUserSSHPublicKeysPlugin– UserDataPlugin– ResizeFSPlugin

Page 24: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Userdata format• Windows Batch• Powershell• Bash• Multi-part (Havana)– Heat support

Page 25: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Password generation• New Grizzly feature1. Password is randomly generated

– Can be forced to the value injected by Nova2. Password in encrypted with the SSH public

key3. Password is POSTed to the metadata

service4. Password can be retrieved by the client

and decrypted with the SSH private key– nova get-password vm1 .ssh/id_rsa

Page 26: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Windows Installer

Page 27: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Unattended mode• Like all our installers, it can be

executed in fully unattended mode:• msiexec /i CloudbaseInitSetup.msi

/qn /l*v log.txt NETWORKADAPTERNAME="Intel(R) PRO/1000 MT Network Connection"

Page 28: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

OpenStack Windows Server 2012!!

Page 29: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

OpenStack WS2012• WS 2012 Standard - Evaluation edition– Testing only!!

• Available for:– Hyper-V– KVM– XenServer / XCP

• www.cloudbase.it

Page 30: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

OpenStack WS2012 • Complete with:

– Drivers / tools:• VirtIO / XenServer Tools

– 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 31: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Cinder Windows installer• Cinder includes a driver for Windows

Storage Server 2012• We created an installer that deploys a

complete Python environment with all the required dependencies

• Registers and starts cinder-volumes

• Key community contributor:– Pedro Navarro Perez (Tx! )

Page 32: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

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 33: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Crowbar + HyperV

Page 34: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Cross Cloud migration• Vendor lock-in anybody? • Just a few clicks to migrate virtual

workloads to and from:– Amazon AWS– Azure– OpenStack

• Including RackSpace– VMWare vSphere– MS System Center

• Currently in beta

Page 35: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Havana!!• Planning for Havana now!

– More Quantum: NVGRE, security groups, etc– Ceilometer Hyper-V agent– Heat Windows Cloud-Init support – VHDX support – Ephemeral storage– Support for more image formats (e.g. AMI/ARI/AKI)– Nova rescue– Active Directory Keystone scalability– VDI support– Fibre channel– VM dynamic memory support– Cinder improvements…

Page 37: Alessandro Pilotti CEO Cloudbase Solutions @ cloudbaseit

Q & A