OpenStack - JobShop @Iași, 2016

Post on 15-Apr-2017

227 views 0 download

Transcript of OpenStack - JobShop @Iași, 2016

OpenStackan open-source IaaS cloud platform

Alexandru Coman

Cloud Engineer

Agenda

Cloudbase family

OpenStack

Windows as a guest

Rude Questions

Friendly Questions

OpenStack

OpenStack

An open source IaaS project (Apache 2 license)

Managed by the OpenStack Foundation

• More than 200 companies joined it including:

• AMD, Intel, Canonical, SUSE Linux, Red Hat, Cisco, Dell, HP, IBM, NEC,

VMware, and Cloudbase

• Second largest OSS foundation after Linux

Portable (Mostly used on Linux)

Written entirely 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 re-

included)

Grizzly: April 2013

Havana: October 2013

Icehouse: April 2014

Juno: October 2014

Kilo: April 2015

Liberty: October 2015

Mitaka: Under development

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

Very difficult 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 (Neutron)

Identity (Keystone)

Dashboard (Horizon)

Metering (Ceilometer)

Orchestration (Heat)

Bare metal deployment

(Ironic)

File shares (Manila)

Containers (Barbican)

file

cloud service

Access Control

Virtual Network

VHD storage blob

Portal

Network

Block

BlobImageCompute

Identity

Component interaction

• AMQP

• RabbitMQ

• Apache Qpid

• API

• 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 tipically 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

Sit destinat cloudbase-init

http://www.cloudbase.it/cloud-init-windows/

Documentație

http://cloudbase-init.readthedocs.org/

Codul sursă

https://github.com/openstack/cloudbase-init

Cloudbase-Init

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

Plugin modules

Users / groups management

Storage

WinRM

Licensing

User Data (PowerShell, Heat, etc)

NTP, MTU, LocalScripts and more

Multi-cloud support

OpenStack (HTTP)

OpenStack (ConfigDrive)

Amazon EC2

CloudStack

OpenNebula

Ubuntu MAAS

Ordered list specified in config file

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 evalimages

• 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!

• Related to OpenStack support, that’s where we jump in.

• 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

CloudbaseWindowsJuju charms

Active DirectoryNova –Hyper-V Exchange SharePoint

Failover ClusteringVDIWindows Server

Update Services

Skype for Business

(coming soon)

Windows File

Server (SMB) SQL Server AlwaysOnSQL Server Express

Cinder –Windows

Server Storage

Support

• openstack@microsoft.com

• http://ask.cloudbase.it

Q&Aopenstack@microsoft.com

dream. code. commit.

cloudbase.it