Top Banner
OpenStack an open-source IaaS cloud platform Alexandru Coman Cloud Engineer
57

OpenStack - JobShop @Iași, 2016

Apr 15, 2017

Download

Education

Alexandru Coman
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OpenStack - JobShop @Iași, 2016

OpenStackan open-source IaaS cloud platform

Alexandru Coman

Cloud Engineer

Page 2: OpenStack - JobShop @Iași, 2016

Agenda

Cloudbase family

OpenStack

Windows as a guest

Rude Questions

Friendly Questions

Page 3: OpenStack - JobShop @Iași, 2016
Page 4: OpenStack - JobShop @Iași, 2016

OpenStack

Page 5: OpenStack - JobShop @Iași, 2016

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

Page 6: OpenStack - JobShop @Iași, 2016

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

Page 7: OpenStack - JobShop @Iași, 2016

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

Page 8: OpenStack - JobShop @Iași, 2016

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

Page 9: OpenStack - JobShop @Iași, 2016

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

Page 10: OpenStack - JobShop @Iași, 2016

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)

Page 11: OpenStack - JobShop @Iași, 2016

file

cloud service

Access Control

Virtual Network

VHD storage blob

Portal

Network

Block

BlobImageCompute

Identity

Page 12: OpenStack - JobShop @Iași, 2016

Component interaction

• AMQP

• RabbitMQ

• Apache Qpid

• API

• RESTful services

• Database

• Any Python SQLAlchemy provider

• Mostly MySQL

• SQL Server required various bug fixes

Page 13: OpenStack - JobShop @Iași, 2016

Development cycle

Page 14: OpenStack - JobShop @Iași, 2016

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)

Page 15: OpenStack - JobShop @Iași, 2016

Gerrit Workflow

Page 16: OpenStack - JobShop @Iași, 2016

Gerrit UI

Page 17: OpenStack - JobShop @Iași, 2016

Gerrit checks

• Gerrit triggers:

• Pep8 / Flake8 tests

• Unit tests

• Integration tests with multiple environments (e.g. Nova):

• KVM

• Hyper-V

• VMWare

• XenServer

• etc

Page 18: OpenStack - JobShop @Iași, 2016

NUC Tempest stack

Page 19: OpenStack - JobShop @Iași, 2016

reBot

Page 20: OpenStack - JobShop @Iași, 2016

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”

Page 21: OpenStack - JobShop @Iași, 2016

Queue monitoring

Page 22: OpenStack - JobShop @Iași, 2016

Windows as a guest

Page 23: OpenStack - JobShop @Iași, 2016

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

Page 24: OpenStack - JobShop @Iași, 2016

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 25: OpenStack - JobShop @Iași, 2016

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

Page 26: OpenStack - JobShop @Iași, 2016

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 27: OpenStack - JobShop @Iași, 2016
Page 28: OpenStack - JobShop @Iași, 2016
Page 29: OpenStack - JobShop @Iași, 2016

Plugin modules

Users / groups management

Storage

WinRM

Licensing

User Data (PowerShell, Heat, etc)

NTP, MTU, LocalScripts and more

Page 30: OpenStack - JobShop @Iași, 2016

Multi-cloud support

OpenStack (HTTP)

OpenStack (ConfigDrive)

Amazon EC2

CloudStack

OpenNebula

Ubuntu MAAS

Ordered list specified in config file

Page 31: OpenStack - JobShop @Iași, 2016

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)

Page 32: OpenStack - JobShop @Iași, 2016

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

Page 33: OpenStack - JobShop @Iași, 2016

OpenStack WS2012 R2 eval

Page 34: OpenStack - JobShop @Iași, 2016

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

Page 35: OpenStack - JobShop @Iași, 2016

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: [email protected]

Page 36: OpenStack - JobShop @Iași, 2016

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)

Page 37: OpenStack - JobShop @Iași, 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…

Page 38: OpenStack - JobShop @Iași, 2016

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

Page 39: OpenStack - JobShop @Iași, 2016

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

Page 40: OpenStack - JobShop @Iași, 2016

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)

Page 41: OpenStack - JobShop @Iași, 2016

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

Page 42: OpenStack - JobShop @Iași, 2016

Neutron

• Plugin / agent model

• ML2 Plugin runs in neutron-server (controller)

• Agent runs on each Hyper-V compute node

Page 43: OpenStack - JobShop @Iași, 2016

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

Page 44: OpenStack - JobShop @Iași, 2016

Hyper-V OpenVSwitch

We ported OpenVSwitch to Windows!

Page 45: OpenStack - JobShop @Iași, 2016

Cinder

• iSCSI Windows Server driver

• SMB3 / SoFS Windows Server driver

• Great companion for Hyper-V

• Can be used with any hypervisor

Page 46: OpenStack - JobShop @Iași, 2016

Manila

• SMB3 driver

• Included in Liberty

• Windows File Server or Linux

Page 47: OpenStack - JobShop @Iași, 2016

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 48: OpenStack - JobShop @Iași, 2016

Nova Compute Installer

Page 49: OpenStack - JobShop @Iași, 2016

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

Page 50: OpenStack - JobShop @Iași, 2016

Nano Server

• Leightweight

• Windows without windows

• Very small footprint

• Fast deployment and boot

• Included with Windows Server 2016

Page 51: OpenStack - JobShop @Iași, 2016

Orchestration• Heat templates

• Juju charms

cloudbase.it/juju

Page 52: OpenStack - JobShop @Iași, 2016

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 53: OpenStack - JobShop @Iași, 2016

Windows Juju support

Page 54: OpenStack - JobShop @Iași, 2016

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

Page 55: OpenStack - JobShop @Iași, 2016

Support

[email protected]

• http://ask.cloudbase.it

Page 57: OpenStack - JobShop @Iași, 2016

dream. code. commit.

cloudbase.it