186

OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

  • Upload
    buimien

  • View
    250

  • Download
    5

Embed Size (px)

Citation preview

Page 1: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer
Page 2: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

OpenStack Deployment in the Enterprise & Service ProviderShannon McFarland – CCIE #5245

Distinguished Engineer

@eyepv6

BRKDCN-2367

Page 3: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Cisco Spark

Questions? Use Cisco Spark to chat with the speaker after the session

1. Find this session in the Cisco Live Mobile App

2. Click “Join the Discussion”

3. Install Spark or go directly to the space

4. Enter messages/questions in the space

How

Cisco Spark spaces will be available until July 3, 2017.

cs.co/ciscolivebot#BRKDCN-2367

Page 4: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Call to Action• Breakout/Labs sessions:

• OpenStack Deployment for Enterprise and Service Provider (BRKDCN-2367)

• OpenStack Integration with Cisco ACI (LTRACI-2225)

• Mastering OpenStack and ACI (BRKACI-3456)

• Cisco Virtualized Packet Core on OpenStack (LABSPM-2013)

• Programmable VXLAN Fabric using VTS with OpenStack/VMware Integration (LTRDCN-2001)

• DevNet zone related sessions:

• Getting Started with OpenStack (DEVNET-1101)

• OpenStack Enabling DevOps (DEVNET-1104)

• Workshop - Getting Started with OpenStack (DEVNET-1211)

• OpenStack with OpenDaylight (DEVNET-2041)

• Best REST in OpenStack (DEVNET-2004)

• Cisco VIM for OpenStack based NFVI Solution (DEVNET-2570)

4BRKDCN-2367

Page 5: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

• Cloud Trends

• What is OpenStack?

• OpenStack Participation

• What are Enterprises & SPs doing with OpenStack?

• OpenStack Deployment

• Conclusion

Agenda

Page 6: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

Cloud Trends

Page 7: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Enterprise Trends – Cloud

Virtualization

(Server, Storage, App,

etc.)

Public/Hybrid Cloud

Public Cloud Retraction Private Cloud

Cost driven - mistake Missed expectations:

- Cost

- HA

- Performance

- Ops

Cloud done their way:

- Self-service

- Reset cost expectations

- Elastic

- Understand Cloud HA

- Multi-tenancy

- IT meet DevOps

Some skip the public cloud step

BRKDCN-2367 7

Page 8: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Legacy IT Change Control <> Diametrically Opposed to Cloud

• Cool and exciting technologies are borderline useless if IT process & change control don’t adapt

• Elastic and self-service are all the enemy of legacy IT models

• DevOps won’t provide a clean slate to traditional IT processes – It’s as much ‘mindset’ as it is process and tools

BRKDCN-2367 8

Page 9: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Hard Decisions - Where Does OpenStack Fit?

VMware/Microsoft

Virtualization

Line

of

Biz

VDIDev/

QA

Pet

VMs

Container/PaaS

Cloud

Native/Modern Line

of Business

Dev/

QA

OpenStack

Cloud

Native/

Modern Line

of Business

Dev/

QA

BRKDCN-2367 9

Pet

VMs

Page 10: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Hard Decisions - Where Does OpenStack Fit?

VMware/Microsoft

Virtualization

Line

of

Biz

VDIDev/

QA

Pet

VMs

Container/PaaS

Cloud

Native/Modern Line

of Business

Dev/

QA

BRKDCN-2367 10

Page 11: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Hard Decisions - Where Does OpenStack Fit?

• Bottom line: You will likely have multiple environments - each built for the correct use case

• OpenStack can be the ‘dump all’ for all of them but it is going to hurt…at least for now

VMware/Microsoft

Virtualization

Line

of

Biz

VDIDev/

QA

Pet

VMs

OpenStack

Cloud

Native/

Modern Line

of Business

Dev/

QAPet

VMs

Container/PaaS

BRKDCN-2367 11

Page 12: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Continuous Integration/Continuous DeploymentOperational Process for an Upgradeable OpenStack

• The biggest issues with OpenStack is less about OpenStack itself but the operational processes that surround it

• DevOps – Learn it, Live it, Love it

• CI/CD – The make or break process that you have to understand (for Cloud Native apps and the infrastructure that supports it)

• Build the processes BEFORE building the OpenStack environment

• Remember, OpenStack was built for modern-day distributed web applications that are driven by developers

BRKDCN-2367 12

Page 13: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Revision Control System

Code Review Tool

Code Repo

Test JobsIntegration

Server

High-Level CI/CD Overview• RCS: Subversion,

Mercurial, CVS, Bazaar, Perforce, ClearCase, etc..

• Code Review: Gerrit, Git pull request, Phabricator, Barkeep, Gitlab, etc..

• Code Repo: GitHub, BitBucket, BitKeeper, Gitorious, etc..

• Integration Server: Jenkins/Hudson, Zuul, CloudBees, Go, Maven, etc..

• Test Jobs: Tempest, Rally, puppet-rspec, tox, etc..

• Artifacts: rpmbuild, Jenkins, Artifactory, Apache Archiva, etc..

Artifact Creation

Artifact Rep Mgr

Deployment

Jobs

(Gerrit/Git pull request)

*See notes for logo credits

(Tempest/Rally/etc)(rpmbuild/Jenkins/etc)

Continuous Integration

Continuous

Deployment

(GitHub)

BRKDCN-2367 13

Page 14: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

What is OpenStack?

Page 15: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

“OpenStack is a collection of open source

technologies delivering a massively scalable

cloud operating system” - openstack.org

BRKDCN-2367 15

Page 16: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

OpenStack Cloud Computing Software

• Freely available, open source

software allowing anyone to build

their own private or public clouds

• Open source and open APIs allows

the customer to avoid being locked in

to a single vendor

• Built by a growing community of

contributors

• Opportunities for vendors to develop

their own solutions and services

BRKDCN-2367 16

Page 17: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 17BRKDCN-2367

OpenStack Projects

Compute (Nova) Dashboard (Horizon) Database (Trove)

Network (Neutron) Image (Glance) Orchestration (Heat)

Object Storage (Swift) Identity (Keystone) Data Processing (Sahara)

Block Storage (Cinder) Telemetry (Ceilometer) Deployment (Kolla)

Bare Metal (Ironic) DNS (Designate) Application Catalog (Murano)

Containers (Magnum) Key Management (Barbican) Policy (Congress)

File System (Manila) Messaging (Zaqar) ….

Page 18: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

OpenStack Progress

Austin – Oct 2010

Bexar – Feb 2011

Cactus– April 2011

Diablo – Sept 2011

Essex – April 2012

Folsom– Sept 2012

Grizzly– April 2013

Havana – Oct 2013

Icehouse– April 2014

Juno – Oct 2014

Kilo – May 2015

2010

2011

2012

2013

2014

Started with Compute and Storage service

Liberty – Oct 2015

Mitaka – April 2016

2015

Newton – Oct 20162016

BRKDCN-2367 18

Ocata – April 2017

Pike – Oct 20172017

Page 19: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

OpenStack Participation

Page 20: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Why Does OpenStack Matter?

• Choice• There is no one-size fits all option for cloud computing

• There is no single vendor who can fill all needs of a cloud stack – You will likely engage with multiple partners

• Community• Open Source

• Community driven – Individual, organizational

• Better time-to-market and faster feature velocity

• Commercialization• Start with the ‘baseline’ OpenStack components

• Vendor opportunities for value-add integration on top of OpenStack baseline• Design, deployment, automation, operation, high-availability, applications, etc.…

BRKDCN-2367 20

Page 21: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Who is Involved in OpenStack?

• You name it – Compute, Storage, Networking vendors, Universities, Gov’t, massive pile of OpenStack-specific startups

• Traditional vendors – Cisco, IBM, etc.…

• Providers – Rackspace, AT&T, Comcast, etc.…

• Distributions & Support – Red Hat, Canonical, SUSE

• Some are focused on only parts of OpenStack such as driving object storage features (SwiftStack) or high-performance block storage (NetApp/SolidFire)

• Large amounts of consolidation happening

• Cisco acquires Metacloud and PistonCloud

• IBM acquires Blue Box

• …

BRKDCN-2367 21

Page 22: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Cisco OpenStack StrategyFor Data Center and Cloud Solutions

22BRKDCN-2367

Relevant, large

contributions to

open source

code

10110101 1001010110

101010101010

Improve

OpenStack with

supplemental

functionality

Drive

OpenStack

innovation

into Cisco

products

Integrate

with leading

distributions

Build world-

class global

Cisco Cloud

Services

Programs for every OpenStack

deployment model

Open Innovation Success

Page 23: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

What are Enterprises/SPs doing with OpenStack?

Page 24: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Top Workloads - OpenStack

Source: http://www.openstack.org/assets/survey/April-2016-User-Survey-Report.pdfBRKDCN-2367 24

Page 25: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Common Enterprise Use Cases

• New/Modern As-a-Service applications (Cloud native stuff)

• A means to provide multi-tenancy to their container workloads (Docker Swarm, Kubernetes, Mesos)

• An alternative to their existing non-API driven virtualization solution

• Sandbox environments

• A place to research, learn and test CI/CD processes

• PoC web applications along with ‘practicing’ the new DevOps methodology

• A place to learn the whole cloud deployment framework, document, train, move to production

• Development/QA environments

• Using the lessons learned in the sandbox phase:• Build Dev, QA and production environments

• Apply CI/CD processes

• Slow-role Web application deployment either on ‘standard’ OpenStack or in conjunction with a PaaS deployment

BRKDCN-2367 25

Page 26: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 26BRKDCN-2367

OpenStack and Network Function Virtualization

• Performance - High-performance packet processing

• Scalability – Cells, AZ’s

• High Availability – Network resource HA

• Multi-site - application-level redundancy across different datacenters

• Service Function Chaining - overriding the basic destination-based forwarding that is typical of IP networks

Page 27: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Telco’s are Turning to OpenStack for NFV

› Resource Allocation & Optimization

› Resource Isolation

PLUGIN ESXi

OS NETWORK

FRAMEWORK

OS COMPUTE

FRAMEWORK

OS STORAGE

FRAMEWORK

NEUTRON

APINOVA API

SWIFT

API

PLUGIN

GLANCE

API

CINDER

API

PLUGIN

OS KEYSTONE

FRAMEWORK

KEYSTONE

API

Ceilo

mete

r

PLUGINLinux

COMPUTE STORAGENETWORK IDAM

Su

pp

ort fu

nctio

nsPLUGINPLUGIN

Cloud Manager

Application Domain OSS

NFV Applications Enterprise Applications

› Real Time Response– Interrupt servicing

– OVS latency

› Networking– WAN orchestration

– VNF provisioning

› Carrier Grade Security– Multi-tenancy with end-to-end

isolation

› Software Management and Upgrade Support– Hitless & automated upgrades

› Backup and Restore– Automatic backup

› Audit and Trouble Shooting– Audit log, monitor

› Assurance:

FirewallDPICDNWAN

AccelerationDNS

CarrierGrade NAT Session Border

Controller

PE RouterEPC

https://wiki.openstack.org/wiki/TelcoWorkingGroup

› High Availability– Mitigation of failures

– Fault monitoring and heath check

27BRKDCN-2367

Page 28: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Dashboard vs. API + Automation

BRKDCN-2367 28

Page 29: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Cloud App Deployment – Automate it

Boot the Instance

Config Management

App is Deployed

Rinse & Repeat

• Template image already app configured

• Cloud-init for Puppet/Chef/etc..

• Baseline image + Ansible

• Heat Orchestration

- hosts: dbservers

remote_user: root

roles:

- db

- hosts: webservers

remote_user: root

roles:

- base-apache

- web

- hosts: lbservers

remote_user: root

roles:

- haproxy

nova boot --user-data ./cloud-config-puppet.txt --image

precise-x86_64 --flavor m1.tiny --key-name ctrl-key --nic

net-id=42823c88-bb86-4e9a-9f7b-ef1c0631ee5e sales-web-01

BRKDCN-2367 29

Page 30: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Cloud App Deployment - Heat

• Growing interest in Heat-backed deployments

• Today, Heat orchestrates resources inside a tenant space

• https://wiki.openstack.org/wiki/Heat

• https://github.com/shmcfarl/my-heat-templates

BRKDCN-2367 30

Page 31: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

OpenStack Deployment

Page 32: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Common Baseline Components - Example

OpenStack Platform

Network

Neutron

ML2

OVS Linux Bridge

Infrastructure

Haproxy/Keepalived

Compute

Nova

KVM ESXi/vSphere

Storage

Swift

Ceph Object GW

Cinder

Ceph Block

RBD

Glance

Orchestration etc..

BRKDCN-2367 32

Page 33: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Common Premium Components - Example

OpenStack Platform

Network

Neutron

ML2

OVSCisco

NexusLinux Bridge

Infrastructure

Compute

Nova

KVM ESXi/vSphere

Storage

Swift Cinder

Ceph Block

RBD

Glance

Orchestration etc..

BRKDCN-2367 33

Page 34: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

OpenStack Installation

Page 35: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

To Automate or Not and How Much to Automate

• Why bother? Have someone else do it for you!!

• Single Shot – Manually setup everything:

• Deep appreciation for what installers do

• Best way to learn how the components of OpenStack communicate

• Semi-Automatic – Use automation for ‘some’ of the setup and maintain/modify manually:

• See slide on installers

• Automatic – Install > Operate > Upgrade

• CI/CD a huge part of this flow

35BRKDCN-2367

Page 36: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Networking

Hardware

OpenStack and AWS APIs

OpenStack Unified CLI

HA Service Orchestration

StorageCompute IdentityNetworking

Enhanced

Dashboard

Advanced Operational Support

• 24x7 Cloud Operations and Supports

• Infrastructure Capacity Planning

• Monitoring and Error Detection

• SLA Guarantees

• Platform and Security Updates

• Cloud Design and Deployment

In Your Data Center, on Your Hardware, Delivered as a Service

Cisco Metacloud

BRKDCN-2367 36

Page 37: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Distro/Vendor Supported Installers

• Red Hat OpenStack (RHOS/RDO) – PackStack and Red Hat Director:

• http://www.redhat.com/openstack/

• https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/

• Canonical/Ubuntu – MAAS and JuJu: http://www.ubuntu.com/cloud

• Kolla – Docker hosting OpenStack Services

• https://wiki.openstack.org/wiki/Kolla

• https://github.com/openstack/kolla

• http://docs.openstack.org/developer/kolla/

• http://docs.openstack.org/developer/kolla/quickstart.html <<<-Check this out

• https://www.openstack.org/summit/tokyo-2015/videos/presentation/kolla-ansible-deployment-openstack-in-docker-containers-operator-bliss

• Kolla Kubernetes – Kubernetes hosting OpenStack Services:

• http://docs.openstack.org/developer/kolla-kubernetes/

• https://github.com/openstack/kolla-kubernetes

Reference

BRKDCN-2367 37

Page 38: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

CentOS/RHEL – RDO - Packstack• Meant for single/few host deployments in NON-production deployments:

https://www.rdoproject.org/install/quickstart/

• Install Packstack:

• Generate SSH keys (or let Packstack do it):

• Generate an answer file (or just run ‘packstack’ and follow the prompts):

• Run the answer file:

yum install -y openstack-packstack

ssh-keygen

packstack --gen-answer-file=~/answers.cfg

packstack --answer-file=~/answers.cfg

Reference

BRKDCN-2367 38

Page 39: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Kolla Workflow

https://wiki.openstack.org/wiki/Kolla

BRKDCN-2367 39

Page 40: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

[osdev@kolla-dev ~]$ docker ps -a

CONTAINER ID IMAGE COMMAND

28d4df108f0c operator.local:4000/lokolla/centos-binary-horizon:latest "kolla_start"

778086bbc86c operator.local:4000/lokolla/centos-binary-heat-engine:latest "kolla_start"

c7c9679f6344 operator.local:4000/lokolla/centos-binary-heat-api-cfn:latest "kolla_start"

f4c4814427d9 operator.local:4000/lokolla/centos-binary-heat-api:latest "kolla_start"

b32d6f62372c operator.local:4000/lokolla/centos-binary-neutron-agents:latest "/start.sh"

17cbf2fc6774 operator.local:4000/lokolla/centos-binary-neutron-openvswitch-agent:latest "kolla_start"

9893da70d0f2 operator.local:4000/lokolla/centos-binary-neutron-server:latest "kolla_start"

815485091f3c operator.local:4000/lokolla/centos-binary-openvswitch-vswitchd:latest "kolla_start"

c7b68bf3feb3 operator.local:4000/lokolla/centos-binary-openvswitch-db-server:latest "kolla_start"

fd874aaca5f4 operator.local:4000/lokolla/centos-binary-data:latest "/bin/sh -c '/bin/sle"

fa98d85def74 operator.local:4000/lokolla/centos-binary-nova-compute:latest "kolla_start"

622ae86d9d3c operator.local:4000/lokolla/centos-binary-nova-scheduler:latest "kolla_start"

82de9bf44d32 operator.local:4000/lokolla/centos-binary-nova-novncproxy:latest "kolla_start"

a51feef1857c operator.local:4000/lokolla/centos-binary-nova-consoleauth:latest "kolla_start"

90e02c62b01f operator.local:4000/lokolla/centos-binary-nova-conductor:latest "kolla_start"

2f10990f1e1c operator.local:4000/lokolla/centos-binary-nova-api:latest "kolla_start"

1a977c93ffa7 operator.local:4000/lokolla/centos-binary-nova-libvirt:latest "kolla_start"

45ccdad7ef4b operator.local:4000/lokolla/centos-binary-data:latest "/bin/sh -c '/bin/sle"

8f31326ba6f5 operator.local:4000/lokolla/centos-binary-glance-api:latest "kolla_start"

d6e73b211a17 operator.local:4000/lokolla/centos-binary-glance-registry:latest "kolla_start"

4830569d2f21 operator.local:4000/lokolla/centos-binary-data:latest "/bin/sh -c '/bin/sle"

8b989aac3df3 operator.local:4000/lokolla/centos-binary-keystone:latest "kolla_start"

acac5f3aa58d operator.local:4000/lokolla/centos-binary-rabbitmq:latest "kolla_start"

38bbce5c2056 operator.local:4000/lokolla/centos-binary-data:latest "/bin/sh -c '/bin/sle"

b6abea782ca8 operator.local:4000/lokolla/centos-binary-mariadb:latest "kolla_start"

d83e6400f58b operator.local:4000/lokolla/centos-binary-data:latest "/bin/sh -c '/bin/sle"

68ff8a563412 operator.local:4000/lokolla/centos-binary-kolla-ansible:latest "/bin/sleep infinity"

d48848e57060 operator.local:4000/lokolla/centos-binary-rsyslog:latest "kolla_start"

59951f2abdce operator.local:4000/lokolla/centos-binary-data:latest "/bin/sh -c '/bin/sle"

bbeeb75a7541 operator.local:4000/lokolla/centos-binary-memcached:latest "kolla_start"

950372a37b08 registry:0.9.1

BRKDCN-2367 40

Page 41: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

OpenStack Deployment Overview- Rack/Node Scale

Page 42: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

AIOController/Compute/

Storage

AIO Controller:

- MySQL, MariaDB, etc

- RabbitMQ, Qpid, etc..

- API Endpoints:

- Keystone

- Glance

- Nova

- Neutron

- Cinder

- Heat

- Swift

AIOController

Compute/

Storage

Compute/

Storage

Compute

Compute

Storage

Storage

StorageCompute

AIOController

All-in-One (AIO) – Getting Started

BRKDCN-2367 42

Page 43: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Data Center

Infrastructure

OOB

Compute

Network

Node(s)

AIO

Controller

Compute

Network

Node(s)

AIO

Controller

Compute

Network

Node(s)

AIO

Controller

Spine/Agg Layer

TOR(s) TOR(s) TOR(s)

Spine/Agg Layer

Block

Storage

Block

Storage

Block

Storage

AIO Controllers:

- Galera/MySQL

- RabbitMQ

- API Endpoints:

- Keystone

- Glance

- Nova

- Neutron

- Cinder

- Heat

- Swift

OOB OOBSLB

Infrastructure

Services

Build/PXE

Automation

DNS

DHCP

NTP

Logging

Object

Storage

Object

Storage

Object

Storage

All-in-One (AIO) Compressed HA

BRKDCN-2367 43

Page 44: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Data Center

Infrastructure

OOB

Spine/Agg Layer

TOR(s) TOR(s) TOR(s)

Spine/Agg Layer

OOB OOB

Object

Storage

Object

Storage

Swift

Proxies

TOR(s)

Object

Storage

OOBOOB

RabbitMQ

API

Endpoints

Galera

TOR(s) TOR(s)

Compute

OOB

Block

Storage

Object

Storage

RabbitMQ

API

Endpoints

Galera

Compute

Block

Storage

Object

Storage

RabbitMQ

API

Endpoints

Galera

Compute

Block

Storage

Object

Storage

Compute

Network

Node(s)

Compute

Compute

Compute

Compute

Network

Node(s)

Compute

Compute

Compute

Block

Storage

Block

Storage

Compute Compute

Service Cloud Tenant Cloud

Service Cloud + Tenant Cloud

BRKDCN-2367 44

Page 45: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

What’s a Service Cloud?

• It’s the ‘under cloud’

• Used as a hosting platform for tenant cloud services – usually in a large cloud (1000s of instances with 100-1000s of tenants)

• It is an OpenStack deployment that will host (virtually) the OpenStack control functions used by each tenant

Service Cloud

AIO

ControllerAIO

Controller

AIO

Controller Tenant 1

AIO

ControllerAIO

Controller

AIO

Controller Tenant 2

Compute

Compute

BRKDCN-2367 45

Page 46: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

OpenStack Deployment Overview- Network

Page 47: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

What Really Changes in my Data Center?

• OpenStack components live south of the Top-of-Rack switch

• Your existing DC, Internet Edge and BN architecture stays the same

• It’s about the compute, storage, orchestration and management tiers

Se

rvic

es

AccessLayer

AggLayer

CoreLayer

UC

S C

-Se

rie

s UC

S B

-Se

ries

Enterprise/Internet

OpenStack Lives Here

BRKDCN-2367 47

Page 48: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Network Decisions• OpenStack Networking

• http://docs.openstack.org/admin-guide/networking.html

• Many vendor plugins

• ML2/OVS, ML2/Linux Bridge

• Cisco Nexus Mechanism driver for VLAN and VXLAN

• Cisco APIC with OpenStack:

• Cisco ACI with OpenStack OpFlex Architectural Overview: http://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/1-x/openstack/b_ACI_with_OpenStack_OpFlex_Architectural_Overview.html

• Cisco ACI with OpenStack OpFlex Deployment Guide for Red Hat: http://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/1-x/openstack/b_ACI_with_OpenStack_OpFlex_Deployment_Guide_for_Red_Hat.html

• Cisco ACI with OpenStack OpFlex Deployment Guide for Ubuntu: http://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/1-x/openstack/b_ACI_with_OpenStack_OpFlex_Deployment_Guide_for_Ubuntu.html

• Scale/Performance

• VLAN number limitations for large tenant + networking environments

• VXLAN Offload

• SR-IOV

BRKDCN-2367 48

Page 49: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 49

OpenStack Network Architecture

Tenant A Compute

Node (s)

Running

Compute and

Network

agents

Controller

Node(s)

Running

Database,

Message

Queue Server,

API Services,

Scheduler..

Router

Network

Node(s)

Running

Network

Service

Agents

API Network

External Network

Internet

Data Network

Management Network

Network Purpose IP

Address

Management

Network

Used for internal

communication between

OpenStack Components

Reachable

only within

the data

center

External

Network

Used to provide VMs

with Internet access

Reachable

by anyone

from the

Internet

API Network Exposes all OpenStack

APIs, including the

OpenStack Networking

API, to tenants

Reachable

to Tenants

Data Network Used for VM data

communication within the

cloud deployment.

Reachable

within the

Tenant

address

space

BRKDCN-2367

Page 50: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 50

Neutron Overview

Tenant A Router

Subnet Red Subnet Blue

VM 1

Tenant A

VM 2 VM 1

Logical Model

Physical implementation

Compute

Node

Compute

Node

VM1 Controller

Node(s)

Router

Network

Node(s)

External Network

VM2 VM1

Internet

vswitch vswitchvswitch

Data Network

Namespace

Management Network

API Network

BRKDCN-2367

Page 51: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 51

OpenStack Neutron Architecture

Neutron Server

REST API

Neutron Core

pluginsNeutron Service plugins

• Core + Extension REST API’s

• Message Queue for communicating

with Neutron Agents

• Core and Service Plugins

• Different vendor core plugins

• Different network technology support

• ML2 plugin with Type and Mechanism

Drivers

• Service plugins with backend drivers

Core API

Network Port Subnet

Resource and Attribute Extension API

ProviderNetwork PortBinding Router Quotas SecurityGroups AgentScheduler LBaaS FWaaS VPNaaS ….

Type Drivers Mechanism Drivers

VL

AN

GR

E

VX

LA

N

Cis

co

Nexu

s

OV

S

Op

en

DayL

igh

t

AP

IC

Mo

re v

en

do

r

dri

ve

rs

ML

2

Oth

er

ve

nd

or

plu

gin

s

DHCP Agent

L3 Agent

Message

Queue

IPTables on

Network

Node

L2 Agent

vSwitch

dnsmasq

Lo

ad

Ba

lan

ce

r

Fir

ew

all

VP

N

HA

Pro

xy

IPT

ab

les

Str

on

gS

wa

n

L3

Se

rvic

es

Nam

esp

ace

Qo

S

BG

P

LB

/OV

S/

SR

-IO

V

Ryu

BRKDCN-2367

Page 52: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 52

Neutron Networking for Layer 2 Tenant Isolation

Layer 2

Networks

Tenant

Networks

Admin

Provider

Networks

VLAN

VXLAN

GRE

vSwitch

ToR, Fabric

vSwitch, ToR

vSwitch

Network Type

Network Segmentation Scheme for tenant

isolation

Device implementing Network Segmentation Scheme

Direct Device

Configuration

Device Configuration

through Controller

Neutron driver

Provisioned

Externally

BRKDCN-2367

Page 53: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Layer 2 Network Tenant Topologies

Compute

Node

Compute

Node

VM3 VM4 VM2

vswitch vswitch

Data Network

VM1

Fabric Leaf, Top of Rack

Compute

Node

Compute

Node

VM3 VM4 VM2

vswitch vswitch

Data Network

VM1

Fabric Leaf, Top of Rack

Host and Network based VLAN

Host based overlays

Compute

Node

Compute

Node

VM3 VM4 VM2

vswitch vswitch

Data Network

VM1

Fabric Leaf , Top of Rack

Network based overlays

VLAN Overlay

53BRKDCN-2367

Page 54: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Layer 2 Network Tenant Topologies – Design Considerations

• Number of Tenant Network Segments

• VLAN based tenant networks

Host (vSwitch v/s SR-IOV)

Host and Network

• VXLAN based tenant networks

Host (L2 population)

VXLAN offload - Network

Multicast v/s Controller (EVPN)

• Provider Networks

54BRKDCN-2367

Page 55: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Rack 1

VIC-1xxx VIC-1xxx

10G 10G

L2-Fabric DesignA Deeper View

• VPC between VIC and ToR

• vNICs with Bonds per network

• Trunks up each VPC

• Tenant VXLAN runs over common spanned VLAN (options for this)

• Vertical use cases may use VLANs, VLAN transparency, provider networks, etc..

Access

Aggregation

VPC VPC

Eth0 Eth1 Eth2 Eth3 Eth4 Eth5 Eth6 Eth7 Eth8 Eth9

MGMT

Network

VLAN-A

API

Network

VLAN-B

Tenant

Underlay Network

VLAN-C

Ceph API

Network

VLAN-D

Ceph Cluster

Network

VLAN-E

brq-xx

Tap

VM_1 VM_2

Linux

Bridge

vxlan-10 Per-tenant VXLAN

brq-yy

VM_3 VM_4

vxlan-10

Host 1 Host 2

L3

L2

Eth0 Eth1 Eth2 Eth3 Eth4 Eth5 Eth6 Eth7 Eth8 Eth9

MGMT

Network

VLAN-A

API

Network

VLAN-B

Tenant

Underlay Network

VLAN-C

Ceph API

Network

VLAN-D

Ceph Cluster

Network

VLAN-E

55BRKDCN-2367

Page 56: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Neutron Layer 2 Default Implementation

Neutron Server

Neutron Core plugin

(ML2)

Network REST API requests

Open vSwitch/Linux

Bridge

Mechanism Drivers

Compute Node

Network and

Compute Nodes

VM VM

vswitchRPC message to agent on nodes

• Implements Neutron Core Resources

• Open vSwitch and Linux Bridge Mechanism Drivers

• Agents on Network and Compute Nodes

• Host based VLAN or Overlay (VXLAN, GRE) Type Drivers

56BRKDCN-2367

Page 57: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Nova HostNova HostNova Host

Neutron Reference – East-West L2 (Switched) Traffic

VM1Controller

Host(s)

Router

Neutron

Host(s)

DHCP ports

API NetworkExternal Network

Management Network

VM6VM5VM2 VM3 VM4

Internet

vswitch vswitch vswitchvswitch

Data Network

PKT

Packet path animation for packet

traveling from VM1 VM3.

57BRKDCN-2367

Page 58: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 58BRKDCN-2367

Neutron Routing Implementation

Neutron Server

Neutron Service

plugin (L3)

Routing REST API requests

L3 agent on

Network Node

L3 agent on

Network Nodes

Default Gateway,

Namespace and

IPTables

Namespace maps to a Neutron logical router. IPTables handle address

translations

Agent Scheduler

Picks a L3 agent on a Network Node

Compute Node

Compute Nodes

L3 traffic goes through Network node

VM VM

Neutron router HA capabilities using VRRP

Page 59: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Compute

Node

vswitch

Layer 3 Tenant Network Topologies

Linux Host

Compute

Node

VM1

Network

Node(s)

VM2

vswitchvswitch

Data Network

Namespace

Service VMs

Fabric, Top of Rack

VM1

Compute

Node

VM2

vswitch

Data Network

Service VMs

Fabric, Top of Rack

Compute

Node

VM1

Network

Node(s)

VM

vswitch

Data Network

Fabric, Service Node

Fabric or Service Node

vswitch

59BRKDCN-2367

Page 60: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Layer 3 Network Tenant Topologies – Design Considerations

• External connectivity for tenant networks

• Floating IPs

• L3 Traffic Pattern E-W and N-S Routing

• Central v/s Distributed Routing

• Host v/s Network based routing

60BRKDCN-2367

Page 61: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Rack 1

VIC-1xxx VIC-1xxx

10G 10G

L3-Fabric Design

• VPC between VIC and ToR

• vNICs with Bonds per network

• Trunks up each VPC

• Tenant VXLAN runs over common spanned VLAN (can us VLANs as complete replacement for VXLAN)

• L3 routed at Access/ToR

N93xx Access

VPC VPC

brq-xx

Tap

VM_1 VM_2

vxlan-10

brq-yy

VM_3 VM_4

vxlan-10

Host 1 Host 2

L3

L2

Spine/Agg

Eth0 Eth1 Eth2 Eth3 Eth4 Eth5 Eth6 Eth7 Eth8 Eth9

MGMT

Network

VLAN-A

API

Network

VLAN-B

Tenant

Underlay Network

VLAN-C

Ceph API

Network

VLAN-D

Ceph Cluster

Network

VLAN-E

Eth0 Eth1 Eth2 Eth3 Eth4 Eth5 Eth6 Eth7 Eth8 Eth9

MGMT

Network

VLAN-A

API

Network

VLAN-B

Tenant

Underlay Network

VLAN-C

Ceph API

Network

VLAN-D

Ceph Cluster

Network

VLAN-E

Linux

Bridge

Per-tenant VXLAN

61BRKDCN-2367

Page 62: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Nova HostNova HostNova Host

Neutron Reference – East-West L3 (Routed) Traffic

VM1Controller

Host(s)

Router

Neutron

Host(s)

API NetworkExternal Network

Management Network

VM6VM5VM2 VM3 VM4

Internet

vswitch vswitch vswitchvswitch

Data Network

PKT

Routing

Packet path animation for packet

traveling from VM1 VM4

Virtual Router

62BRKDCN-2367

Page 63: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Nova HostNova HostNova Host

Neutron Reference – North-South L3 Traffic (NAT)

VM1Controller

Host(s)

Router

Neutron

Host(s)

API NetworkExternal Network

Management Network

VM6VM5VM2 VM3 VM4

Internet

vswitch vswitch vswitchvswitch

Data Network

PKT

NAT

Packet path animation for packet

traveling from VM1 Internet

Virtual Router

63BRKDCN-2367

Page 64: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

Cisco Integration into Neutron

Page 65: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

VM on a Compute

Nodes

Neutron Cisco Nexus Driver Features

• Works with multiple Nexus platforms

• VLAN configuration

• VXLAN configuration

• Nexus_VXLAN Type Driver

• Multicast

• VLAN to VNI association

Benefits

• No need trunk all tenant VLANs on compute node interfaces on ToR

• Dynamic provisioning/deprovisioning on ToR

• Network based overlays

Neutron Server

Neutron Core

plugin (ML2)

Cisco Nexus Driver

Ncclient

Nexus

Nova

Compute Nodes

create/update port request sent to Neutron

Nexus ToR

VM VMnetconf

65BRKDCN-2367

Page 66: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Sample Nexus Mechanism Driver configuration for VXLAN

[ml2_type_vlan]

network_vlan_ranges = physnet1:10:500

[ml2_type_nexus_vxlan]

vni_ranges=50000:55000

mcast_ranges=225.1.1.1:225.1.1.2

[ml2_mech_cisco_nexus:192.168.1.1]

ComputeHostA=1/10

username=admin

password=secretPassword

ssh_port=22

physnet=physnet1

66BRKDCN-2367

Page 67: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

VMs on Compute

Node

Neutron Cisco UCSM Driver (KVM)Features:

• Nova and Neutron enhancements to support SR-IOV

• Supports VLAN configuration of SR-IOV ports (using port profiles) and vNIC ports (using Service Profiles)

• Enables configuration of VLAN profiles and automatic association with network ports

Benefits

• SR-IOV and non SR-IOV based UCS Fabric Interconnect configurations

Neutron Server

Neutron Core

plugin (ML2)

Cisco UCSM driver

UCS Fabric

Interconnect

UCSM SDK

Compute Nodes

Nova

create/update port

VM VM

67BRKDCN-2367

Page 68: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Neutron DHCP Implementation

• Namespace and dnsmasq for every network

• Dnsmasq Reloads with every port add/delete

Neutron Server

Neutron DHCP

Service

Network REST API requests

Compute Node

Network Node

DNSMASQRPC message to agent on nodes

DHCP agent

68BRKDCN-2367

Page 69: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Nova HostNova HostNova Host

Neutron Reference – DHCP Traffic

VM1Controller

Host(s)

Router

Neutron

Host(s)

DHCP ports

API NetworkExternal Network

Management Network

VM6VM5VM2 VM3 VM4

Internet

vswitch vswitch vswitchvswitch

Data Network

DHCP request/response animation for

packet traveling from VM1 DHCP port.

PKT

69BRKDCN-2367

Page 70: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

CPNR

Neutron DHCP Implementation with Cisco Prime Network Registrar (CPNR)

• DHCP configuration includes CPNR

API end point configuration

• Mapping –

• Network to Virtual Private Network (VPN)

• Subnet to Scope

• Request and Responses handled using UDP ports

• Benefits

• Relay is stateless and can be run in Active-Active

• Highly Available CPNR Server for all tenants

Neutron Server

Neutron DHCP

Service

Network REST API requests

Compute Node

Network Node

DHCP Relay

CPNR

REST API DHCP Traffic

RPC message to agent on nodes

DHCP agent

70BRKDCN-2367

Page 71: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 71BRKDCN-2367

Page 72: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Issues in Neutron Reference L3 and ASR1K Solutions

• NAT for External Connectivity:

• Issue - Scale limitation in Linux iptables software NAT

• Solution - ASR1K can scale up to 4 million dynamic NAT entries and 16K static NAT entries

• Tenant Routing:

• Issue - Scale limitations in Linux namespaces based software tenant networking

• Solution - ASR1K uses Virtual Routing and Forwarding (VRF) instances for tenant routers. ASR1K can scale up to 4k VRFs (8k in upcoming release)

• Tenant Networks:

• Issue- Scale limitations in Linux software based interfaces

• Solution - ASR1K plugin maps tenant networks to sub-interfaces on ASR1K. ASR1K supports up to 64k sub-interfaces

• Data Throughput:

• Issue - Performance limitations with software packet forwarding and NAT on generic compute hardware

• Solution - ASR1K can perform packet forwarding and NAT at rates up to 230 Gbps

72BRKDCN-2367

Page 73: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Neutron Cisco ASR1000 for Neutron L3 Service• Mapping of Neutron reference L3

implementation -

• Linux namespaces - ASR1K VRF

• Internal Router ports – ASR1K VLAN or Port Channel sub interfaces

• External Gateway ports – ASR1K VLAN or Port Channel sub interfaces

• Linux IPTables – ASR1K NAT

• Benefits

• Routing using physical infrastructure

• Support for HSRP and Port Channel

Neutron Server

Neutron Service plugin

(L3)

Routing Device Driver

(ASR1K)

Config AgentCisco Config Agent

NexusASR1K

netconf

73BRKDCN-2367

Page 74: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

OpenStack Neutron + Nexus + ASR : Physical Topology Example Layer-3

Network Core

ASR 1000

Routers

OpenStack Controller

Neutron Server with

Cisco Config AgentNova Compute Nodes

Nexus Layer-2 Fabric

Tenant VLANs and

External Traffic

Management Network (NETCONF provisioning)74BRKDCN-2367

Page 75: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

ASR1K

Neutron

Host(s)Nova HostNova HostNova Host

ML2 Nexus and ASR1K - East-West L3 (Routed) Traffic

VM1Controller

Node(s)

RouterAPI NetworkExternal Network

Data Network

(L3 routed)

Management Network

VM6VM5VM2 VM3 VM4

Internet

ML2 Nexus Driver

vSW vSW vSW

Nexus TOR Nexus TOR

ASR1K

L3

Plugin

VRF with default GW and NAT (to global routing).

PKT

Note : Packet animation included –

VM1 VM4

Virtual Router

75BRKDCN-2367

Page 76: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

ASR1K

Neutron

Host(s)Nova HostNova HostNova Host

ML2 Nexus and ASR1K - North-South L3 Traffic (NAT)

VM1Controller

Node(s)

RouterAPI NetworkExternal Network

Data Network

(L3 routed)

Management Network

VM6VM5VM2 VM3 VM4

Internet

ML2 Nexus Driver

vswitch vswitch vswitch

Nexus TOR Nexus TOR

ASR1K

L3

Plugin

VRF with default GW and NAT (to global routing).

PKT

Note : Packet animation included –

VM1 Internet

Virtual Router

76BRKDCN-2367

Page 77: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

ACI Integration with OpenStack• Multiple OpenStack Driver Options:

• APIC native Group-Based Policy

• Neutron ML2

• APIC VMM Domain support for OpenStack

• Endpoint statistics, health, faults in APIC

• Hypervisor local enforcement security policies

• Security Groups (ML2 driver) via IP Tables

• Group-Based Policies via OpenFlow in Open vSwitch

• Distributed NAT support on each compute node

• Floating IP

• sNAT (via hypervisor host IP)

• Distributed Neutron services per compute node

• L3 / Anycast gateway, metadata, DHCP

• Multiple VRF support

• Support for VLAN / VXLAN to ACI fabric

OpFlex

Proxy

OpenStack Controller

Hypervisor

vm1

Project 1 Project 2 Project 3

vm2vm5

vm4

vm3

OpFlex

Agent

APIC Driver

V(X)LAN

Open

vSwitch

77BRKDCN-2367

Page 78: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

VMs on Compute

Nodes

Neutron Cisco Application Policy Infrastructure Controller (APIC) Driver

Neutron Server

Neutron Core

plugin (ML2)

Cisco L2

APIC Driver

APIC

VMs on Compute

Nodes

Cisco L3

APIC Driver

ACI Spine/Leaf

Switches

REST APINetwork:EPG, Router:Contract

Provides distributed L2,L3 functionality

Neutron L3

Plugin Neutron API: Network, Router,

Subnet, Security Group

L2 / L3 enforced in fabric,

security groups enforced on

hypervisor

78

http://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/1-

x/openstack/b_ACI_with_OpenStack_OpFlex_Architectural_Overview/b_A

CI_with_OpenStack_OpFlex_Architectural_Overview_chapter_010.html

BRKDCN-2367

Page 79: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

OpenStack Deployment Overview- High Availability

Page 80: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

High Availability Decisions

• Touches every service and every component of the design – Network, Storage, Compute, Logging, etc..

• Network L3 HA – Built-in L3 HA with Keepalived/HAProxy, external L3 HA (Agg Layer, ASR1K Plugin)

• Pick your release – Major changes in HA across all parts of OpenStack have progressed on each release

• Many components are:

• Databases: Options include MySQL-WSREP and Galera

• Message Queue: RabbitMQ Clustering and RabbitMQ Mirrored Queues

• API/Web services: HAProxy, Keepalived, traditional SLB

• Swift proxy nodes: HAProxy, Keepalived, traditional SLB

• Swift nodes: Architecturally designed to be available (i.e. multiple copies of objects)

• Compute node: Nothing directly HA, but can use Migration for planned maintenance windows

BRKDCN-2367 80

Page 81: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Tenant L3 Network High-Availability (HA)

• Helps resolve issue of single tenant router going down and isolating the tenant instances

• Can be configured manually via neutron client by an Admin:

• ‘neutron router-create --ha True|False’

• Or set as a system default within the neutron.conf/l3_agent.ini files

• Uses Keepalived for VRRP between L3 agents

• Existing non-HA enabled routers can be updated to HA:

• ‘neutron router-update <router-name> --ha=True’

• Requires a minimum of two network nodes (or controllers) that have L3 agents running

BRKDCN-2367 81

Page 82: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

L3 HA – Tenant View

• Tenant sees one router with a single gateway IP address

• non-Admin users cannot control if the router is HA or non-HA

• From the tenant’s perspective the router behaves the same in HA or non-HA mode

BRKDCN-2367 82

Page 83: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

L3 HA – Routing View

Bridge

Bridge

External Networks

Internal Network

10.10.30.x/24

HA Network

VRRP VIP

169.254.0.1Tenant GW

10.10.30.1

master backup

• Tenant network has 10.10.30.x/24 assigned

• VRRP is using 169.254.xx over a dedicated HA-only network that traverse the same tenant network type

• Router (L3 agent) on the left is the VRRP master and is the tenant GW (10.10.30.1)

BRKDCN-2367 83

Page 84: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

L3 HA – Host View

Management/Underlay Network

Public Network

eth0

br-tun

patch-int

patch-tun

br-int

V

M

V

M

V

M

Compute Node

eth1

br-eth1

br-int

phy-br-eth1

int-br-eth1

patch-int

patch-tun

Network Node 1

qr-xxxx

qrouter

keepalived

ha-xxxx

qg-xxxx

eth0

br-tun

eth1

br-eth1

br-int

phy-br-eth1

int-br-eth1

patch-int

patch-tun

Network Node 2

qr-xxxx

qrouter

keepalived

ha-xxxx

qg-xxxx

eth0

br-tun

BRKDCN-2367 84

Page 85: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

L3 HA – Traffic Flow

Management/Underlay Network

Public Network

eth0

br-tun

patch-int

patch-tun

br-int

V

M

V

M

V

M

Compute Node

eth1

br-eth1

br-int

phy-br-eth1

int-br-eth1

patch-int

patch-tun

Network Node 1

qr-xxxx

qrouter

keepalived

ha-xxxx

eth1

br-eth1

br-int

phy-br-eth1

int-br-eth1

patch-int

patch-tun

Network Node 2

qr-xxxx

qrouter

keepalived

ha-xxxx

qg-xxxx qg-xxxx

VRRPv2

169.254.192.x >> 224.0.0.18

master backup

eth0

br-tun

eth0

br-tun

BRKDCN-2367 85

Page 86: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Testing a failure

[root@net1 ~]# cat /var/lib/neutron/ha_confs/719b853f-539e-420b-a76b-0440146f05de/state

master

[root@net2 ~]# cat /var/lib/neutron/ha_confs/719b853f-539e-420b-a76b-0440146f05de/state

backup

[root@net1 ~]# ip netns exec qrouter-719b853f-539e-420b-a76b-0440146f05de ifconfig ha-0d655b16-c6 down

[root@net1 ~]# cat /var/lib/neutron/ha_confs/719b853f-539e-420b-a76b-0440146f05de/state

fault

[root@net2 ~]# cat /var/lib/neutron/ha_confs/719b853f-539e-420b-a76b-0440146f05de/state

master

ubuntu@server1:~$ ping 8.8.8.8

64 bytes from 8.8.8.8: icmp_seq=20 ttl=127 time=65.4 ms

64 bytes from 8.8.8.8: icmp_seq=21 ttl=127 time=107 ms

64 bytes from 8.8.8.8: icmp_seq=22 ttl=127 time=64.5 ms

64 bytes from 8.8.8.8: icmp_seq=23 ttl=127 time=67.6 ms

Check who is master:

Simulate a failure by shutting down the HA interface (remember this was in the ‘track’ list):

Check that VRRP switched to the other node as master:

Ping – the ultimate test of HA :

Increased delay but no loss

86BRKDCN-2367

Page 87: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

High-Availability/Load-Balancing of API Services

• Load-balancers are used to front-end OpenStack API services

• HAProxy and Keepalived are commonly used together to create an HA/Load-balanced design for these services

• HAProxy/Keepalived can be used as native Linux services or as containers

HAProxy

Instance

API Endpoint

HAProxy/Keepalived

VIP

master backup

HAProxy

Instance

I want to access the

Horizon Dashboard

http://10.1.1.10

BRKDCN-2367 87

Page 88: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

Advanced Neutron Considerations

Page 89: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

IPv4 No NAT – Address Scope

• http://www.debug-all.com/?p=197

• A complex and convoluted way of disabling IPv4 NAT in Neutron

• Requirements and limitations

• Address Scope + Subnet Pool support = very crude IPv4 No NAT deployment

• Requires Address Scopes and Subnet Pool use

• You cannot manually assign a subnet allocation pool range OR a custom gateway – This is a major issue when you need to define a custom upstream gateway address (I worked around this by editing the subnet pool after creation)

• You have to sub-allocate prefixes/CIDR ranges out of the subnet pool which is typically something the cloud/network operator would do upstream at the DC Agg Layer, routed access or border leaf

89BRKDCN-2367

Page 90: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

The Hard Stuff – IPv6 + Cloud• Inside of a Cloud stack you have a lot of moving parts and they all ride on IP:

• API endpoints

• Provisioning, Orchestration and Management services

• Boatload of protocols and databases and high-availability components

• Virtual networking services <> Physical networking

• It has been a bumpy road to getting a solid IPv6 implementation in OpenStack

• Most of the core IPv6 requirements are met except for IPv6 PD HA and IPv6-only Metadata (config-drive seems to be good enough)

• Tenant IPv6 Address Assignment via:

• SLAAC, Stateful DHCPv6, Stateless DHCPv6

• ipv6_ra_mode attribute - Control of router advertisements for a subnet

• ipv6_address_mode attribute - Control of how addressing is handled by OpenStack

• Two common approaches for IPv6 support:

• Dual-Stack everything (Service Tier + Tenant Access Tier [Tenant management interface along with VM network access])

• Conditional Dual stack (Tenant Access Tier only – API endpoints & DBs are still IPv4)

90BRKDCN-2367

Page 91: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Cloud Stack – IP Version Options

API endpoints

Service Tier

Database(s)

Automation

Interface

(GUI, CLI)

VM Operating

System

Tenant

Access Tier

Virtual

Networking

(L2/L3)

Virtual

Network

Services

(SLB/FW)

Tenant

Interface

(GUI, CLI)

Dual-Stack Everything

IPv4/IPv6

IPv4/IPv6

IPv4/IPv6

IPv4/IPv6

IPv4/IPv6

IPv4/IPv6

IPv4/IPv6

IPv4/IPv6

API endpoints

Service Tier

Database(s)

Automation

Interface

(GUI, CLI)

VM Operating

System

Tenant 1

Access Tier

Virtual

Networking

(L2/L3)

Virtual

Network

Services

(SLB/FW)

Tenant

Interface

(GUI, CLI)

Conditional Dual-Stack

IPv4/IPv6

IPv4/IPv6

IPv4/IPv6

IPv4/IPv6

IPv4

IPv4

IPv4

IPv4/IPv6

Tenant 2

Access Tier

IPv6

IPv6

IPv6

IPv6

VM Operating

System

Virtual

Networking

(L2/L3)

Virtual

Network

Services

(SLB/FW)

Tenant

Interface

(GUI, CLI)

91BRKDCN-2367

Page 92: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Tenant IPv6 Address Options

Web

Server

App

Server

Tenant 1 Tenant 2

2001:420::/32

:BAD:BEEF::/64 :DEAD:BEEF::/64

::1

::2

::A

:BA

D:F

AC

E::/6

4 Web

Server

App

Server

::1

::2

::A

:DE

AD

:FA

CE

::/6

4

Option 1

Cloud Provider-assigned

Addressing

Web

Server

App

Server

Tenant 1 Tenant 2

Tenant 1 = 2001:DB8:1::/48

Tenant 2 = 2001:DB8:2::/48

:1000::/64 :2000::/64

::1

::2

::A

:10

01

::/6

4

Web

Server

App

Server

::1

::2

::A

:20

01

::/6

4

Option 2

Tenant Brings Addressing

Web

Server

App

Server

Tenant 1 Tenant 2

Tenant 1 = 2001:DB8:1::/48

Tenant 2 = 2001:DB8:2::/48

ULA Block/48 ULA Block/48

::1

::2

::A

Web

Server

App

Server

::1

::2

::A

Option 3

Prefix Translation

FD

9C

:58

ED

:7D

73

:1::

/64

FD

DE

:50

EE

:79

DA

:1::

/64

XLATE/Proxy

Don’t do this

92BRKDCN-2367

Page 93: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Network Function Virtualization

Tenant ACompute

Node

Compute

Node

VM1

Network

Node(s)

VM2 VM1

vswitch vswitchvswitch

Data Network

Namespace

10.1.0.4 10.1.0.5

10.1.0.1 10.1.1.1

10.1.1.4

Admin provisioned Service

Compute

Node

Compute

Node

VM1 VM2 VM1

vswitch vswitch

Data Network

10.1.0.4 10.1.0.5

Tenant provisioned Service

Service

VM

10.1.1.4

93BRKDCN-2367

Page 94: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Neutron and NFV

• Issue

• Anti-spoofing rules to ensure traffic originates and terminates as expected

• Doesn’t work for NFV VNF use cases

• Solution

• Added Port Security Extension• Adds new “Port Security enabled” attribute to

Network and Port Resources

• Only tenant owner can set this attribute on the resources

• Security Group and Allowed Address Pair are not allowed to be set

• Issue

• VXLAN for tenant isolation and VLAN for app traffic isolation within the tenant

• No means to identify VLAN transparent networks

• Solution

• Added Network Resource Extension• Adds new “VLAN Transparent” attribute to

Network Resource

• Only tenant owner can set this attribute on the resources

• No firewalling on VLAN tagged packets

94BRKDCN-2367

Page 95: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Conclusion

• OpenStack is for real and maturing at a rapid pace

• Align yourself with market leaders who have strong partnerships

• There are multiple options for installation

• Keep your design simple and reduce/remove technical debt wherever possible – it can kill your upgrades and scale out plans

• Get involved in the community – open source enjoys the major advantage of feature velocity

BRKDCN-2367 95

Page 96: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Call to Action• Breakout/Labs sessions:

• OpenStack Deployment for Enterprise and Service Provider (BRKDCN-2367)

• OpenStack Integration with Cisco ACI (LTRACI-2225)

• Mastering OpenStack and ACI (BRKACI-3456)

• Cisco Virtualized Packet Core on OpenStack (LABSPM-2013)

• Programmable VXLAN Fabric using VTS with OpenStack/VMware Integration (LTRDCN-2001)

• DevNet zone related sessions:

• Getting Started with OpenStack (DEVNET-1101)

• OpenStack Enabling DevOps (DEVNET-1104)

• Workshop - Getting Started with OpenStack (DEVNET-1211)

• OpenStack with OpenDaylight (DEVNET-2041)

• Best REST in OpenStack (DEVNET-2004)

• Cisco VIM for OpenStack based NFVI Solution (DEVNET-2570)

96BRKDCN-2367

Page 97: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

• Give us your feedback to be entered into a Daily Survey Drawing. A daily winner will receive a $750 gift card.

• Complete your session surveys through the Cisco Live mobile app or on www.CiscoLive.com/us.

Complete Your Online Session Evaluation

Don’t forget: Cisco Live sessions will be available for viewing on demand after the event at www.CiscoLive.com/Online.

Page 98: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Continue Your Education

• Demos in the Cisco campus

• Walk-in Self-Paced Labs

• Lunch & Learn

• Meet the Engineer 1:1 meetings

• Related sessions

98BRKDCN-2367

Page 99: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Cloud Cisco Education OfferingsCourse Description Cisco Certification

Understanding Cloud Fundamentals (CLDFND)

Introducing Cloud Administration (CLDADM)

Learn how to perform foundational tasks related to

Cloud computing, and the essentials of Cloud

infrastructure, administration and operations

CCNA Cloud

Implementing and Troubleshooting the Cisco Cloud Infrastructure (CLDINF);

Designing the Cisco Cloud (CLDDES);

Automating the Cisco Enterprise Cloud (CLDAUT);

Building the Cisco Cloud with Application Centric Infrastructure (CLDACI)

Obtain professional level skills to design, automate,

secure, provision and manage private and hybrid

Clouds

CCNP Cloud

Product Training Portfolio:

UCS Director: UCSDF, UCSDACI

Prime Service Catalog: PSCF, PSCI, PSCD

MetaPod: MPODF20

Gain in-depth hands-on skills using Cisco solutions

to configure, deploy, manage and troubleshoot

Cloud deployments

99

For more details, please visit: http://learningnetwork.cisco.com

Questions? Visit the Learning@Cisco Booth

BRKDCN-2367

Page 100: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

Thank you

Page 101: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer
Page 102: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

Reference Slides

Page 103: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

IPv6

Page 104: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Neutron Addressing Schemesipv6_ra_mode ipv6_address_mode ResultSLAAC N/S Address using Neutron routerN/S SLAAC Address using external routerSLAAC SLAAC Address using Neutron router

ipv6_ra_mode ipv6_address_mode ResultDHCPv6-stateless

N/S Address using Neutron router and optional information using external service

N/S DHCPv6-stateless Address using external router and optional information using Neutron DHCP implementation

DHCPv6-stateless

DHCPv6-stateless Address and optional information using Neutron router and DHCP implementation respectively

ipv6_ra_mode ipv6_address_mode ResultDHCPv6-stateful N/S Address and optional information using

external serviceN/S DHCPv6-stateful Address and optional information using

Neutron DHCP implementationDHCPv6-stateful DHCPv6-stateful Address and optional information using

Neutron DHCP implementation

Address Configuration Flags

Value

Auto 1Managed 0Other 0

Address Configuration Flags

Value

Auto 1Managed 0Other 1

Address Configuration Flags

Value

Auto 0Managed 1Other 1

Reference

http://docs.openstack.org/mitaka/networking-guide/config-ipv6.html

104BRKDCN-2367

Page 105: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Tenant IPv6 - Neutron L3 Example

105BRKDCN-2367

Page 106: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Create the Public Network/Subnetneutron net-create public --router:external

neutron subnet-create --name public-subnet --allocation-pool start=172.16.12.5,

end=172.16.12.254 public 172.16.12.0/24

neutron subnet-create --ip-version=6 --name=public-v6-subnet --allocation-pool start=2001:db8:cafe:d::5,

end=2001:db8:cafe:d:ffff:ffff:ffff:fffe --disable-dhcp public 2001:db8:cafe:d::/64

Router

IPv4: 172.16.12.0/24 IPv6: 2001:db8:cafe:d::/64

.5 ::5

DC

rtr

Reference

106BRKDCN-2367

Page 107: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

SLAAC Mode

IPv4: 10.0.0.0/24 IPv6: 2001:db8:cafe:0::/64

Instance

Router

IPv4: 172.16.12.0/24 IPv6: 2001:db8:cafe:d::/64

.5 ::5

.1 ::1

DC

DNS

IPv4: 10.0.0.9

IPv6: 2001:db8:cafe:0:f816:3eff:fe79:5acc

neutron net-create private

neutron subnet-create --ip-version=6 --name=private_v6_subnet --ipv6-address-mode=slaac

--ipv6-ra-mode=slaac private 2001:db8:cafe::/64

+-------------------+-----------------------------------------------------------------------------+

| Field | Value |

+-------------------+-----------------------------------------------------------------------------+

| allocation_pools | {"start": "2001:db8:cafe::2", "end": "2001:db8:cafe:0:ffff:ffff:ffff:fffe"} |

| cidr | 2001:db8:cafe::/64 |

| dns_nameservers | |

| enable_dhcp | True |

| gateway_ip | 2001:db8:cafe::1 |

| host_routes | |

| id | 42cc3dbc-938b-4ad6-b12e-59aef7618477 |

| ip_version | 6 |

| ipv6_address_mode | slaac |

| ipv6_ra_mode | slaac |

| name | private_v6_subnet |

| network_id | 7166ce15-c581-4195-9479-ad2283193d06 |

| subnetpool_id | |

| tenant_id | f057804eb39b4618b40e06196e16265b |

+-------------------+-----------------------------------------------------------------------------+

2001:db8:cafe:a::e

Reference

107BRKDCN-2367

Page 108: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Router Example

IPv4: 10.0.0.0/24 IPv6: 2001:db8:cafe:0::/64

Instance

Router

IPv4: 172.16.12.0/24 IPv6: 2001:db8:cafe:d::/64

.5 ::5

.1 ::1

DC

DNS

IPv4: 10.0.0.9

IPv6: 2001:db8:cafe:0:f816:3eff:fe79:5acc

neutron router-create private-router

neutron router-gateway-set private-router public

neutron router-interface-add private-router private-v4-subnet

neutron router-interface-add private-router private-v6-subnet

2001:db8:cafe:a::e

Reference

108BRKDCN-2367

Page 109: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

SLAAC Mode Info

• OpenStack will not inject the IPv6 DNS entry from the subnet dns_nameservers entry

• Options

• Manually setting the IPv6 DNS server entry in the resolv.conf file allows for correct IPv6-based name resolution

• Bake DNS settings into your image

• Cloud-init to inject the DNS configuration

• You do get A and AAAA records back over IPv4 transport

• Basically, it works as it should

Reference

109BRKDCN-2367

Page 110: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

SLAAC Mode – Sniffer Capture

15:08:01.520353 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 16) fe80::f816:3eff:fe79:5acc > ff02::2: [icmp6 sum ok] ICMP6, router solicitation, length 16

source link-address option (1), length 8 (1): fa:16:3e:79:5a:cc

0x0000: fa16 3e79 5acc

15:08:01.520667 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 56) fe80::f816:3eff:fec3:17b4 > ff02::1: [icmp6 sum ok] ICMP6, router advertisement, length 56

hop limit 64, Flags [none], pref medium, router lifetime 30s, reachable time 0s, retrans time 0s

prefix info option (3), length 32 (4): 2001:db8:cafe::/64, Flags [onlink, auto], valid time 86400s, pref. time 14400s

0x0000: 40c0 0001 5180 0000 3840 0000 0000 2001

0x0010: 0db8 cafe 0000 0000 0000 0000 0000

source link-address option (1), length 8 (1): fa:16:3e:c3:17:b4

0x0000: fa16 3ec3 17b4

15:08:02.256004 IP6 (hlim 1, next-header Options (0) payload length: 36) fe80::f816:3eff:fe79:5acc > ff02::16: HBH (rtalert: 0x0000) (padn) [icmp6 sum ok] ICMP6, multicast listener report v2, 1 group record(s) [gaddr ff02::1:ff79:5acc is_ex { }]

15:08:02.484047 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 24) :: > ff02::1:ff79:5acc: [icmp6 sum ok] ICMP6, neighbor solicitation, length 24, who has 2001:db8:cafe:0:f816:3eff:fe79:5acc

Reference

110BRKDCN-2367

Page 111: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Stateless DHCPv6 Mode

IPv4: 10.0.2.0/24 IPv6: 2001:db8:cafe:2:/64

Instance

Router

IPv4: 172.16.12.0/24 IPv6: 2001:db8:cafe:d::/64

.5 ::5

.1 ::1

DC

DNS

IPv4: 10.0.2.4

IPv6: 2001:db8:cafe:2:f816:3eff:fefe:d157

neutron net-create private-dhcpv6-stateless

neutron subnet-create --ip-version=6 --name=private_dhcpv6_stateless_subnet

--ipv6-address-mode=dhcpv6-stateless --ipv6-ra-mode=dhcpv6-stateless private-dhcpv6-stateless

2001:db8:cafe:2::/64 --dns-nameserver 2001:db8:cafe:a::e

+-------------------+-------------------------------------------------------------------------------+

| Field | Value |

+-------------------+-------------------------------------------------------------------------------+

| allocation_pools | {"start": "2001:db8:cafe:2::2", "end": "2001:db8:cafe:2:ffff:ffff:ffff:fffe"} |

| cidr | 2001:db8:cafe:2::/64 |

| dns_nameservers | 2001:db8:cafe:a::e |

| enable_dhcp | True |

| gateway_ip | 2001:db8:cafe:2::1 |

| host_routes | |

| id | e63e72d5-493a-4a49-8f7d-8846c2bc7a8f |

| ip_version | 6 |

| ipv6_address_mode | dhcpv6-stateless |

| ipv6_ra_mode | dhcpv6-stateless |

| name | private_dhcpv6_stateless_subnet |

| network_id | 27618d5e-318c-46a4-b6a2-a155beed9643 |

| subnetpool_id | |

| tenant_id | f057804eb39b4618b40e06196e16265b |

+-------------------+-------------------------------------------------------------------------------+

2001:db8:cafe:a::e

Reference

111BRKDCN-2367

Page 112: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

DHCPv6 Stateless Mode Info

• Enable client for DHCPv6 Stateless:

• Then you get addressing and options:

/etc/network/interfaces

auto eth0

iface eth0 inet dhcp

iface eth0 inet6 auto

dhcp 1

ubuntu@dhcpv6-stateless-4:~$ more /etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)

# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

nameserver 172.16.10.14

nameserver 2001:db8:cafe:a::e

search openstacklocal

Ubuntu CentOS/RHEL/Fedora

/etc/sysconfig/network-scripts/ifcfg-xxxx

IPV6INIT="yes"

DHCPV6C="yes”

DHCPV6C_OPTIONS="-S"

Reference

112BRKDCN-2367

Page 113: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

DHCPv6 Stateless Mode – Sniffer Capture15:43:23.911172 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 56) fe80::f816:3eff:fec1:bc52 > ff02::1: [icmp6 sum ok] ICMP6, router advertisement, length 56

hop limit 64, Flags [other stateful], pref medium, router lifetime 30s, reachable time 0s, retrans time 0s

prefix info option (3), length 32 (4): 2001:db8:cafe:2::/64, Flags [onlink, auto], valid time 86400s, pref. time 14400s

0x0000: 40c0 0001 5180 0000 3840 0000 0000 2001

0x0010: 0db8 cafe 0002 0000 0000 0000 0000

source link-address option (1), length 8 (1): fa:16:3e:c1:bc:52

0x0000: fa16 3ec1 bc52

15:43:25.353331 IP6 (hlim 1, next-header UDP (17) payload length: 44) fe80::f816:3eff:fefe:d157.546 > ff02::1:2.547: [udp sum ok] dhcp6 inf-req (xid=d2dbc8 (client-ID hwaddr type 1 fa163efed157) (option-request DNS-server DNS-search-list Client-FQDN SNTP-servers) (elapsed-time 94))

15:43:25.353578 IP6 (class 0xc0, hlim 64, next-header UDP (17) payload length: 88) fe80::f816:3eff:fe2d:a6de.547 > fe80::f816:3eff:fefe:d157.546: [udp sum ok] dhcp6 reply (xid=d2dbc8 (client-ID hwaddr type 1 fa163efed157) (server-ID hwaddr type 1 fa163e2da6de) (DNS-search-list openstacklocal.) (DNS-server 2001:db8:cafe:a::e) (lifetime 86400))

Reference

113BRKDCN-2367

Page 114: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Stateful DHCPv6 Mode

IPv4: 10.0.1.0/24 IPv6: 2001:db8:cafe:1:/64

Instance

Router

IPv4: 172.16.12.0/24 IPv6: 2001:db8:cafe:d::/64

.5 ::5

.1 ::1

DC

DNS

IPv4: 10.0.1.4

IPv6: 2001:db8:cafe:1:4

neutron net-create private-dhcpv6

neutron subnet-create --ip-version=6 --name=private_dhcpv6_subnet --ipv6-address-mode=dhcpv6-stateful

--ipv6-ra-mode=dhcpv6-stateful private-dhcpv6 2001:db8:cafe:1::/64 --dns-nameserver 2001:db8:cafe:a::e

+-------------------+-------------------------------------------------------------------------------+

| Field | Value |

+-------------------+-------------------------------------------------------------------------------+

| allocation_pools | {"start": "2001:db8:cafe:1::2", "end": "2001:db8:cafe:1:ffff:ffff:ffff:fffe"} |

| cidr | 2001:db8:cafe:1::/64 |

| dns_nameservers | 2001:db8:cafe:a::e |

| enable_dhcp | True |

| gateway_ip | 2001:db8:cafe:1::1 |

| host_routes | |

| id | 545ea206-9d14-4dca-8bae-7940719bdab5 |

| ip_version | 6 |

| ipv6_address_mode | dhcpv6-stateful |

| ipv6_ra_mode | dhcpv6-stateful |

| name | private_dhcpv6_subnet |

| network_id | 55ed8333-2876-400a-92c1-ef49bc10aa2b |

| subnetpool_id | |

| tenant_id | f057804eb39b4618b40e06196e16265b |

+-------------------+-------------------------------------------------------------------------------+

2001:db8:cafe:a::e

Reference

114BRKDCN-2367

Page 115: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

DHCPv6 Stateful Mode Info• Enable client for DHCPv6:

• Then you get addressing and options:

/etc/network/interfaces

auto eth0

iface eth0 inet dhcp

iface eth0 inet6 dhcp

Ubuntu

ubuntu@dhcpv6-1:~$ more /etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)

# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

nameserver 172.16.10.14

nameserver 2001:db8:cafe:a::e

search openstacklocal

CentOS/RHEL/Fedora

/etc/sysconfig/network-scripts/ifcfg-xxxx

IPV6INIT="yes"

DHCPV6C="yes"

Reference

115BRKDCN-2367

Page 116: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

DHCPv6 Stateful Mode – Sniffer Capture14:56:02.671930 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 24) fe80::f816:3eff:fe77:e5a0 > ff02::1: [icmp6 sum ok] ICMP6, router advertisement, length 24

hop limit 64, Flags [managed], pref medium, router lifetime 30s, reachable time 0s, retrans time 0s

source link-address option (1), length 8 (1): fa:16:3e:77:e5:a0

0x0000: fa16 3e77 e5a0

14:56:08.042878 IP6 (hlim 1, next-header UDP (17) payload length: 64) fe80::f816:3eff:fe22:386b.546 > ff02::1:2.547: [udp sum ok] dhcp6 solicit (xid=85680b (client-ID hwaddr/time type 1 time 482446373 fa163e22386b) (option-request DNS-server DNS-search-list Client-FQDN SNTP-servers) (elapsed-time 101) (IA_NA IAID:1042430059 T1:3600 T2:5400))

14:56:08.143267 IP6 (class 0xc0, hlim 64, next-header UDP (17) payload length: 175) fe80::f816:3eff:fe06:176f.547 > fe80::f816:3eff:fe22:386b.546: [udp sum ok] dhcp6 advertise (xid=85680b (client-ID hwaddr/time type 1 time 482446373 fa163e22386b) (server-ID hwaddr type 1 fa163e06176f) (IA_NA IAID:1042430059 T1:43200 T2:75600 (IA_ADDR 2001:db8:cafe:1::4 pltime:86400 vltime:86400)) (status-code success) (preference 255) (DNS-search-list openstacklocal.) (DNS-server 2001:db8:cafe:a::e) (Client-FQDN))

14:56:08.143719 IP6 (hlim 1, next-header UDP (17) payload length: 106) fe80::f816:3eff:fe22:386b.546 > ff02::1:2.547: [udp sum ok] dhcp6 request (xid=9cb172 (client-ID hwaddr/time type 1 time 482446373 fa163e22386b) (server-ID hwaddr type 1 fa163e06176f) (option-request DNS-server DNS-search-list Client-FQDN SNTP-servers) (elapsed-time 0) (IA_NA IAID:1042430059 T1:3600 T2:5400 (IA_ADDR 2001:db8:cafe:1::4 pltime:7200 vltime:7500)))

14:56:08.143897 IP6 (class 0xc0, hlim 64, next-header UDP (17) payload length: 186) fe80::f816:3eff:fe06:176f.547 > fe80::f816:3eff:fe22:386b.546: [udp sum ok] dhcp6 reply (xid=9cb172 (client-ID hwaddr/time type 1 time 482446373 fa163e22386b) (server-ID hwaddr type 1 fa163e06176f) (IA_NA IAID:1042430059 T1:3600 T2:6300 (IA_ADDR 2001:db8:cafe:1::4 pltime:7200 vltime:7500)) (status-code success) (DNS-search-list openstacklocal.) (DNS-server 2001:db8:cafe:a::e) (Client-FQDN))

Reference

116BRKDCN-2367

Page 117: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

Address Assignment: Provider Networks

Page 118: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Provider Networks Reference

118BRKDCN-2367

Page 119: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Provider Network - Examplesneutron net-create --router:external --provider:physical_network provider --provider:network_type vlan --provider:segmentation_id=22 --shared external-net

neutron subnet-create external-net 172.16.22.0/24 --name external-subnet --gateway 172.16.22.1 --allocation-pool start=172.16.22.5,end=172.16.22.254

# SLAAC

neutron subnet-create external-net --ip-version=6 --ipv6-address-mode=slaac --ipv6-ra-mode=slaac --name=external-subnet-v6 --allocation-pool start=2001:db8:cafe:16::5,end=2001:db8:cafe:16:ffff:ffff:ffff:fffe 2001:db8:cafe:16::/64

# Stateless DHCPv6

neutron subnet-create external-net --ip-version=6 --ipv6-address-mode=dhcpv6-stateless --ipv6-ra-mode=dhcpv6-stateless --name=external-subnet-v6 --allocation-pool start=2001:db8:cafe:16::5,end=2001:db8:cafe:16:ffff:ffff:ffff:fffe 2001:db8:cafe:16::/64 --dns-nameserver 2001:db8:cafe:a::e

# Stateful DHCPv6

neutron subnet-create external-net --ip-version=6 --ipv6-address-mode=dhcpv6-stateful --ipv6-ra-mode=dhcpv6-stateful --name=external-subnet-v6 --allocation-pool start=2001:db8:cafe:16::5,end=2001:db8:cafe:16:ffff:ffff:ffff:fffe 2001:db8:cafe:16::/64 --dns-nameserver 2001:db8:cafe:a::e

Reference

119BRKDCN-2367

Page 120: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Provider Router Example# SLAAC

interface Vlan22

description Provider Network trunked for C7-os-1

ip address 172.16.22.2 255.255.255.0

ipv6 address 2001:DB8:CAFE:16::1/64

standby version 2

standby 2 ipv6 autoconfig

standby 2 timers msec 250 msec 750

standby 2 priority 110

standby 2 preempt

standby 2 authentication OPEN

# Stateless DHCPv6

interface Vlan22

description Provider Network trunked for C7-os-1

ip address 172.16.22.2 255.255.255.0

ipv6 address 2001:DB8:CAFE:16::1/64

ipv6 nd other-config-flag

standby version 2

standby 2 ipv6 autoconfig

standby 2 timers msec 250 msec 750

standby 2 priority 110

standby 2 preempt

standby 2 authentication OPEN

# Stateful DHCPv6

interface Vlan22

description Provider Network trunked for C7-os-1

ip address 172.16.22.2 255.255.255.0

ipv6 address 2001:DB8:CAFE:16::1/64

ipv6 nd managed-config-flag

standby version 2

standby 2 ipv6 autoconfig

standby 2 timers msec 250 msec 750

standby 2 priority 110

standby 2 preempt

standby 2 authentication OPEN

Reference

120BRKDCN-2367

Page 121: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

IPv6 Only

Page 122: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

IPv6-Only Instances

• IPv6-only works out-of-the-box for IP connectivity but you are hosed on metadata

• It is a real drag to have to deploy an IPv4 subnet along with IPv6 just to get basic functionality working such as FQDN, SSH keys and other metadata

• The metadata service ONLY supports IPv4

• A wish list bug to work on this issue expired: https://bugs.launchpad.net/neutron/+bug/1460177

• Workarounds:

• Build all/most of what you want in the image itself

• Use config-drive

122BRKDCN-2367

Page 123: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Basic IPv6-only Config-Drive Example[root@c7-os-1 latest]# cat user_data

#cloud-config

fqdn: v6onlyinstance.example.com

users:

- name: cloud-user

ssh-authorized-keys:

- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4W4RPlOBiY14iJwW9kd3Chys5bUBjy2VKJkFa5az8JHcVvOh3LO5BHdhc6WryT+blmx9LKGyVSc0rfzSEAfQ91dXJCHuhl5BNk9pLibs3oe8s/1r/vjtxQopKIIGN3PYuisvpZVLeP1kRhddIdLvuZcQm82L4VPUAOzLqbFdhsu/Y2lU5WyiTiI5VNJwwbzzc67BFHz2ov2bdBgCfFWyUQMikiyIrAv5hVcqADv7XAqY4P5sJaOaHAcNcCfMtY8RbtEMSIyw8fey1erY4ZiknTAn/eU52mc18l9xR4CwI9wYqYdpVyiNULRWH9opK30dqhhthgElzCax+WqmxMXGP [email protected]

[root@c7-os-1 ~]# nova boot --flavor m1.small --image rh7-stateless --key-name new-aio-key --security-groups default --nic net-name=external-net rhv6-only-drive --config-drive true --user-data user_data.yaml

[root@c7-os-1 ~]# nova list

+--------------------------------------+-----------------+--------+------------+-------------+---------------------------------------------------

| ID | Name | Status | Task State | Power State | Networks

+--------------------------------------+-----------------+--------+------------+-------------+---------------------------------------------------

| 2244a346-a34b-4ab6-905f-71dc207a92e6 | rhv6-only-drive | ACTIVE | - | Running | external-net=2001:db8:cafe:16:f816:3eff:feec:3c59

+--------------------------------------+-----------------+--------+------------+-------------+---------------------------------------------------

[root@c7-os-1 ~]# ssh cloud-user@2001:db8:cafe:16:f816:3eff:feec:3c59

. . .

[cloud-user@v6onlyinstance ~]$ ip a

. . .

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether fa:16:3e:ec:3c:59 brd ff:ff:ff:ff:ff:ff

inet6 2001:db8:cafe:16:f816:3eff:feec:3c59/64 scope global dynamic

valid_lft 2591952sec preferred_lft 604752sec

inet6 fe80::f816:3eff:feec:3c59/64 scope link

valid_lft forever preferred_lft forever

[cloud-user@v6onlyinstance ~]$ cat /etc/resolv.conf

# Generated by NetworkManager

search openstacklocal. example.com

nameserver 2001:db8:cafe:a::e

[cloud-user@v6onlyinstance ~]$ cat /etc/hostname

v6onlyinstance.example.com 123BRKDCN-2367

Page 124: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

IPv6 Prefix Delegation

Page 125: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

IPv6 PD in OpenStack

• Super important feature in OpenStack:

• No IPv6 NAT support in OpenStack (Yee Haw!)

• Can assign prefixes to tenants via:• Manual assignment (“Sally, here is your prefix”) - HORRIBLE method due to human errors in tracking and assignment (fat

finger syndrome)

• IPv6 Subnet Pool Support - Pool of addresses that tenants can pull from - http://docs.openstack.org/newton/networking-guide/config-subnet-pools.html

• No overlap between two subnets

• Stable address management across projects

• IPv6 Prefix Delegation - Allows for upstream router/server assignment of prefixes -http://docs.openstack.org/newton/networking-guide/config-ipv6.html

• Leverages default IPv6 subnet pool support

• Does not support HA of the PD agent (future work)

125BRKDCN-2367

Page 126: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 126

IPv6 Prefix Delegation

• IPv6 PD was originally designed to allow a downstream router (Requesting router) to request a prefix from an upstream router (Delegating router) and use the assigned IPv6 prefix for the subscriber-side networks

• Basically, it is for routers asking other routers/relays/servers for a whole prefix that can be used to ‘seed’ downstream networks with an IPv6 prefix of their own

RFC 3633 & 3769

Requesting

router

Delegating

router

Can I have

a prefix?

Sure, take

2001:db8:bad:face::/64

2001:db8:bad:face::1/64

HostCan I have a

prefix?

Sure, use prefix:

2001:db8:bad:face::/64

2001:db8:bad:face:f816:3eff:fe4f:a2cd/64

2001:db8:bad:cafe::/127

BRKDCN-2367

Page 127: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 127

IPv6 PD - Example Topology

• OpenStack All-in-One host is connected to an L2-switch

• Dibbler server connected to the L2-switch

• Pre-defined IPv6 prefix on “public network”

• We need an IPv6 prefix assigned to the tenant interface of the Neutron router

BRKDCN-2367

Page 128: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

IPv6 PD - Configuration

pd-class {

pd-pool 2001:db8:face::/48

pd-length 64

}

/etc/dibbler/server.conf

neutron net-create public --provider:network_type flat --provider:physical_network public --router:external

neutron subnet-create public --ip-version 6 --name public-v6-subnet 2001:db8:bad:cafe::/64

neutron router-create pd-rtr

neutron router-gateway-set pd-rtr public

neutron net-create ipv6-pd

neutron subnet-create ipv6-pd --name ipv6-pd-1 --ip_version 6 --ipv6_ra_mode slaac --ipv6_address_mode slaac --use-default-subnetpool

# Look for “subnetpool_id | prefix_delegation” in the output

neutron router-interface-add pd-rtr ipv6-pd-1

ipv6_pd_enabled = True

/etc/neutron/neutron.conf

Magic happens here

128BRKDCN-2367

Page 129: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Logs and tcpdumps and stuff

2016-10-17 15:03:46.822 DEBUG neutron.agent.linux.dibbler [-] Enable IPv6 PD for router 561ed48c-182c-4073-b157-77130280d5b9 subnet 3bc82226-816f-4d71-983e-7429d3d5475a ri_ifname qr-98120bdd-d1 from (pid=56056) enable /opt/stack/neutron/neutron/agent/linux/dibbler.py:123

2016-10-17 15:03:46.824 DEBUG neutron.agent.linux.utils [-] Running command (rootwrap daemon): ['ip', 'netns', 'exec', 'qrouter-561ed48c-182c-4073-b157-77130280d5b9', 'dibbler-client', 'start', '-w', '/opt/stack/data/neutron/pd/561ed48c-182c-4073-b157-77130280d5b9:3bc82226-816f-4d71-983e-7429d3d5475a:qr-98120bdd-d1'] from (pid=56056) execute_rootwrap_daemon /opt/stack/neutron/neutron/agent/linux/utils.py:100

2016-10-17 15:03:46.847 DEBUG neutron.agent.linux.dibbler [-] dibbler client enabled for router 561ed48c-182c-4073-b157-77130280d5b9 subnet 3bc82226-816f-4d71-983e-7429d3d5475a ri_ifname qr-98120bdd-d1 from (pid=56056) enable /opt/stack/neutron/neutron/agent/linux/dibbler.py:129

Neutron L3 Log

15:03:46.852214 IP6 (flowlabel 0x7bf3b, hlim 1, next-header UDP (17) payload length: 60) fe80::f816:3eff:feff:ccb0.dhcpv6-client > ff02::1:2.dhcpv6-server: [udp sum ok] dhcp6 solicit (xid=800a54 (client-ID vid 000022b83bc82226) (IA_PD IAID:1 T1:4294967295 T2:4294967295) (elapsed-time 0))

15:03:46.853654 IP6 (flowlabel 0x80c10, hlim 64, next-header UDP (17) payload length: 134) fe80::20c:29ff:fe87:2f6b.dhcpv6-server > fe80::f816:3eff:feff:ccb0.dhcpv6-client: [udp sum ok] dhcp6 advertise (xid=800a54 (IA_PD IAID:1 T1:2000 T2:3000 (IA_PD-prefix 2001:db8:face:2ff2::/64 pltime:3600 vltime:7200) (status-code success)) (server-ID hwaddr/time type 1 time 529454623 000c29872f6b) (client-ID vid 000022b83bc82226) (preference 0))

15:03:47.955793 IP6 (flowlabel 0x7bf3b, hlim 1, next-header UDP (17) payload length: 107) fe80::f816:3eff:feff:ccb0.dhcpv6-client > ff02::1:2.dhcpv6-server: [udp sum ok] dhcp6 request (xid=561e28 (client-ID vid 000022b83bc82226) (IA_PD IAID:1 T1:4294967295 T2:4294967295 (IA_PD-prefix 2001:db8:face:2ff2::/64 pltime:3600 vltime:7200)) (server-ID hwaddr/time type 1 time 529454623 000c29872f6b) (elapsed-time 0))

15:03:47.956239 IP6 (flowlabel 0x80c10, hlim 64, next-header UDP (17) payload length: 134) fe80::20c:29ff:fe87:2f6b.dhcpv6-server > fe80::f816:3eff:feff:ccb0.dhcpv6-client: [udp sum ok] dhcp6 reply (xid=561e28 (IA_PD IAID:1 T1:2000 T2:3000 (IA_PD-prefix 2001:db8:face:2ff2::/64 pltime:3600 vltime:7200) (status-code success)) (server-ID hwaddr/time type 1 time 529454623 000c29872f6b) (client-ID vid 000022b83bc82226) (preference 0))

Reference

129BRKDCN-2367

Page 130: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Dibbler Server Log03:46 Server Notice Received SOLICIT on br-ex/8, trans-id=0x800a54, 3 opts: 1 25 8 (non-relayed)

. . .

03:46 Server Debug Adding client (DUID=00:02:00:00:22:b8:3b:c8:22:26:81:6f:4d:71:98:3e:74:29:d3:d5:47:5a) to addrDB.

03:46 Server Debug PD: Adding PD (iaid=1) to addrDB.

03:46 Server Debug PD: Adding 2001:db8:face:2ff2:: prefix to PD (iaid=1) to addrDB.

. . .

03:46 Server Notice Sending ADVERTISE on br-ex/8,transID=0x800a54, opts: 25 2 1 7, 0 relay(s).

. . .

03:47 Server Notice Received REQUEST on br-ex/8, trans-id=0x561e28, 4 opts: 1 25 2 8 (non-relayed)

. . .

03:47 Server Debug Checking prefix 2001:db8:face:2ff2:: against reservations ...

03:47 Server Debug PD: Requested prefix (2001:db8:face:2ff2::) is free, great!

03:47 Server Debug Adding client (DUID=00:02:00:00:22:b8:3b:c8:22:26:81:6f:4d:71:98:3e:74:29:d3:d5:47:5a) to addrDB.

03:47 Server Debug PD: Adding PD (iaid=1) to addrDB.

03:47 Server Debug PD: Adding 2001:db8:face:2ff2:: prefix to PD (iaid=1) to addrDB.

03:47 Server Debug PD: Prefix usage for class 0 increased to 2.

03:47 Server Info PD: assigned prefix(es):2001:db8:face:2ff2::/64

Output truncated for clarity

Reference

130BRKDCN-2367

Page 131: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

IPv6 with Heat

Page 132: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Orchestrating IPv6 Deployment with Heat

• Heat with IPv6 uses similar parameters and resource conventions as with IPv4

• https://github.com/shmcfarl/my-heat-templates

IPv4 IPv6

private_net_cidr:

type: string

description: Tenant IPv4 network address (CIDR notation)

default: 10.10.30.0/24

private_net_v6:

type: string

description: Tenant IPv6 subnet address

default: 2001:db8:cafe:1e::/64

132BRKDCN-2367

Page 133: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

IPv6-only Exampleprivate_net_v6:

type: string

description: Private IPv6 subnet address

default: 2001:db8:cafe:1e::/64

private_net_v6_gateway:

type: string

description: Private network gateway address

default: 2001:db8:cafe:1e::1

private_net_v6_pool_start:

type: string

description: Start of private network IP address

allocation pool

default: 2001:db8:cafe:1e::2

private_net_v6_pool_end:

type: string

description: End of private network IP address

allocation pool

default: 2001:db8:cafe:1e:ffff:ffff:ffff:fffe

private_v6_subnet:

type: OS::Neutron::Subnet

properties:

ip_version: 6

ipv6_address_mode: slaac

ipv6_ra_mode: slaac

network: { get_resource: private_net }

cidr: { get_param: private_net_v6 }

gateway_ip: { get_param: private_net_v6_gateway

}

allocation_pools:

- start: { get_param:

private_net_v6_pool_start }

end: { get_param: private_net_v6_pool_end }

router_interface_v6:

type: OS::Neutron::RouterInterface

properties:

router: { get_resource: router }

subnet: { get_resource:

private_v6_subnet }

server_security_group:

type: OS::Neutron::SecurityGroup

properties:

description: Heat-deployed security

group.

name: heat-security-group

rules: [

{remote_ip_prefix: "::/0",

ethertype: IPv6,

protocol: tcp,

port_range_min: 22,

port_range_max: 22},

{remote_ip_prefix: "::/0",

ethertype: IPv6,

protocol: icmp},

{remote_ip_prefix: "::/0",

ethertype: IPv6,

protocol: tcp,

port_range_min: 80,

port_range_max: 80}]

https://github.com/shmcfarl/my-heat-

templates/blob/master/v6-only-

SLAAC.yaml

Parameters

Resources

133BRKDCN-2367

Page 134: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

IPv6 with L3 High-Availability

Page 135: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

L3 HA – Tenant View

• Tenant sees one router with a single gateway IP address

• non-Admin users cannot control if the router is HA or non-HA

• From the tenant’s perspective the router behaves the same in HA or non-HA mode

135BRKDCN-2367

Page 136: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

External Network

2001:db8:cafe:17::/64

L3 HA – Routing View

Bridge

Bridge

Tenant Network

2001:db8:cafe:beef::/64

HA Network

VRRP VIP

Tenant GWfe80::f816:3eff:fee7:f435

master backup

• Tenant network has 2001:db8:cafe:beef::/64 prefix assigned

• VRRP is using a dedicated HA-only network that traverses the same tenant network type

• Router (L3 agent) on the left is the VRRP master and is the tenant IPv6 GW (fe80::f816:3eff:fee7:f435)

External Interfacefe80::f816:3eff:feca:b249

136BRKDCN-2367

Page 137: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

# cat /var/lib/neutron/ha_confs/0772d696-ec0f-46f3-b7d0-a984612fcdca/keepalived.conf

vrrp_instance VR_1 {

state BACKUP

interface ha-7cf36911-75

virtual_router_id 1

priority 50

garp_master_delay 60

nopreempt

advert_int 2

track_interface {

ha-7cf36911-75

}

virtual_ipaddress {

169.254.0.1/24 dev ha-7cf36911-75

}

virtual_ipaddress_excluded {

10.0.0.1/24 dev qr-50deb6c5-c7

192.168.81.102/24 dev qg-e93ae851-38

2001:db8:cafe:17::66/64 dev qg-e93ae851-38

2001:db8:cafe:beef::1/64 dev qr-1b8ada84-61

fe80::f816:3eff:fe50:ab1/64 dev qr-50deb6c5-c7 scope link

fe80::f816:3eff:feca:b249/64 dev qg-e93ae851-38 scope link

fe80::f816:3eff:fee7:f435/64 dev qr-1b8ada84-61 scope link

}

virtual_routes {

::/0 via 2001:db8:cafe:17::1 dev qg-e93ae851-38

0.0.0.0/0 via 192.168.81.2 dev qg-e93ae851-38

}

L3 HA Interface

Track the L3 HA interface

VRRP IP address

VIP address from ‘real’ networks

Default route out

LL used as VM’s GW

137BRKDCN-2367

Page 138: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

# ip netns exec qrouter-0772d696-ec0f-46f3-b7d0-a984612fcdca ip a

9: ha-7cf36911-75: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN

link/ether fa:16:3e:7e:bc:ae brd ff:ff:ff:ff:ff:ff

inet 169.254.192.2/18 brd 169.254.255.255 scope global ha-7cf36911-75

valid_lft forever preferred_lft forever

inet 169.254.0.1/24 scope global ha-7cf36911-75

valid_lft forever preferred_lft forever

inet6 fe80::f816:3eff:fe7e:bcae/64 scope link

valid_lft forever preferred_lft forever

11: qr-50deb6c5-c7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN

link/ether fa:16:3e:50:0a:b1 brd ff:ff:ff:ff:ff:ff

inet 10.0.0.1/24 scope global qr-50deb6c5-c7

valid_lft forever preferred_lft forever

inet6 fe80::f816:3eff:fe50:ab1/64 scope link

valid_lft forever preferred_lft forever

12: qr-1b8ada84-61: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN

link/ether fa:16:3e:e7:f4:35 brd ff:ff:ff:ff:ff:ff

inet6 2001:db8:cafe:beef::1/64 scope global nodad

valid_lft forever preferred_lft forever

inet6 fe80::f816:3eff:fee7:f435/64 scope link

valid_lft forever preferred_lft forever

13: qg-e93ae851-38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN

link/ether fa:16:3e:ca:b2:49 brd ff:ff:ff:ff:ff:ff

inet 192.168.81.102/24 scope global qg-e93ae851-38

valid_lft forever preferred_lft forever

inet6 2001:db8:cafe:17::66/64 scope global nodad

valid_lft forever preferred_lft forever

inet6 fe80::f816:3eff:feca:b249/64 scope link

valid_lft forever preferred_lft forever

L3 HA Interface

Tenant Network

External/Public Network

138BRKDCN-2367

Page 139: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 139

VRRPv2 Advertisement

# ip netns exec qrouter-0772d696-ec0f-46f3-b7d0-a984612fcdca tcpdump -n -i ha-7cf36911-75

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on ha-7cf36911-75, link-type EN10MB (Ethernet), capture size 65535 bytes

15:17:19.021100 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20

15:17:21.021783 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20

15:17:23.023316 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20

15:17:25.025260 IP 169.254.192.2 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype none, intvl 2s, length 20

Reference

BRKDCN-2367

Page 140: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 140

Testing a failure

[root@c7-m-aio ~]# cat /var/lib/neutron/ha_confs/0772d696-ec0f-46f3-b7d0-a984612fcdca/state

master

[root@c7-m-net-cmp ~]# cat /var/lib/neutron/ha_confs/0772d696-ec0f-46f3-b7d0-a984612fcdca/state

backup

[root@c7-m-aio ~]# ip netns exec qrouter-0772d696-ec0f-46f3-b7d0-a984612fcdca ifconfig ha-7cf36911-75 down

[root@c7-m-aio ~]# cat /var/lib/neutron/ha_confs/0772d696-ec0f-46f3-b7d0-a984612fcdca/state

fault

[root@c7-m-net-cmp ~]# cat /var/lib/neutron/ha_confs/0772d696-ec0f-46f3-b7d0-a984612fcdca/state

master

Check who is master:

Simulate a failure by shutting down the HA interface (remember this was in the ‘track’ list):

Check that VRRP switched to the other node as master:

BRKDCN-2367

Page 141: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

Understanding Neutron + OVS for example.com

Page 142: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Example – Network LayoutHost View

Management Network: 10.121.13.x

eth0 eth1

Public: 192.168.238.x/24

br-ex

br-int

phy-br-ex

int-br-ex

br-tun

patch-int

patch-tun

Qrouter

eth0

br-tun

patch-int

patch-tun

br-int

V

M

V

M

V

M

control-servercompute-server01

BRKDCN-2367 142

Page 143: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Example – OVS Bridge/Neutron Router“br-int” view

Management Network: 10.121.13.x

eth0 eth1

Public: 192.168.238.x/24

br-ex

br-int

phy-br-ex

int-br-ex

br-tun

patch-int

patch-tun

Qrouter

eth0

br-tun

patch-int

patch-tun

br-int

V

M

V

M

V

M

root@control-server:~# ovs-vsctl list-ports br-int

int-br-ex

patch-tun

qr-024a0619-71

qr-10f02a4b-ab

qr-b37e1034-06

qr-ef7c1e0c-79

tap2340872e-68

tap271689cd-23

tap3fe91abf-c8

tap60a25081-14

tap6d3911a5-44

control-servercompute-server01

qr-xx-ab qr-xx-06

BRKDCN-2367 143

Page 144: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Example – OVS Bridge/Neutron Router“br-int” view qr-xx & tapxx

Management Network: 10.121.13.x

eth0 eth1

Public: 192.168.238.x/24

br-ex

br-int

phy-br-ex

int-br-ex

br-tun

patch-int

patch-tun

Qrouter

eth0

br-tun

patch-int

patch-tun

br-int

V

M

V

M

V

M

root@control-server:~# ovs-vsctl list-ports br-int

int-br-ex

patch-tun

qr-024a0619-71

qr-10f02a4b-ab

qr-b37e1034-06

qr-ef7c1e0c-79

tap2340872e-68

tap271689cd-23

tap3fe91abf-c8

tap60a25081-14

tap6d3911a5-44

control-servercompute-server01

qr-xx-ab qr-xx-06

A tap interface for each network used for DHCP service:

68=10.10.10.2

23=10.10.15.2

c8=192.168.238.5

14=10.10.20.2

44=10.10.25.2 BRKDCN-2367 144

Page 145: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Example – OVS Bridge/Neutron Router“br-ex” & br-tun view

Management Network: 10.121.13.x

eth0 eth1

Public: 192.168.238.x/24

br-ex

br-int

phy-br-ex

int-br-ex

br-tun

patch-int

patch-tun

Qrouter

eth0

br-tun

patch-int

patch-tun

br-int

V

M

V

M

V

M

root@control-server:~# ovs-vsctl list-ports br-ex

eth1

phy-br-ex

qg-8a8db076-b3

root@control-server:~# ovs-vsctl list-ports br-tun

gre-1

gre-3

patch-int

control-servercompute-server01

qg-xx-b3

gre-1 gre-3

BRKDCN-2367 145

Page 146: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Example – OVS Bridge/Neutron Routercompute-server01 “br-int” view

Management Network: 10.121.13.x

eth0 eth1

Public: 192.168.238.x/24

br-ex

br-int

phy-br-ex

int-br-ex

br-tun

patch-int

patch-tun

Qrouter

eth0

br-tun

patch-int

patch-tun

br-int

V

M

V

M

V

M

control-servercompute-server01

root@compute-server01:~# ovs-vsctl list-ports br-int

patch-tun

qvo180f8458-7b

qvo3e60deda-cc

qvo92774056-da BRKDCN-2367 146

Page 147: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Example – OVS Bridge/Neutron Router

br-tun

patch-int

patch-tun

br-int

V M V M V M

compute-server01

root@compute-server01:~# brctl show

bridge name bridge id STP enabled interfaces

br-int 0000.5e15d719a548 no int-br-ex

qvo180f8458-7b

qvo3e60deda-cc

qvo92774056-da

br-tun 0000.febc48d02540 no

qbr180f8458-7b 8000.1a425eeda354 no qvb180f8458-7b

vnet0

qbr3e60deda-cc 8000.8a70b498c8ce no qvb3e60deda-cc

vnet2

qbr92774056-da 8000.3e21bdf7dd5b no qvb92774056-da

vnet1

7bqvo-xx cc da

qvb-xxqbr-xx

7b7b

vnet0vnetxeth0

cccc

vnet1

eth0

dada

vnet2

eth0

V M

7bqvo-xx

qvb-xxqbr-xx

7b7b

vnetvnetx

eth0

*Thanks to Etsuji Nakai for the original detailed overview of OVS/Neutron ports : http://www.slideshare.net/enakai/how-quantum-configures-virtual-networks-under-the-hood

BRKDCN-2367 147

Page 148: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Example – OVS Bridge/Neutron Router

Management Network: 10.121.13.x

eth0 eth1

Public: 192.168.238.x/24

br-ex

br-int

phy-br-ex

int-br-ex

br-tun

patch-int

patch-tun

Qrouter

eth0

br-tun

patch-int

patch-tun

br-int

V

M

V

M V M

control-servercompute-server01

root@compute-server01:~# ovs-vsctl show

ac44a899-5f10-4ff9-8dad-902fa7c10e5e

...

Bridge br-tun

Port "gre-2"

Interface "gre-2"

type: gre

options: {in_key=flow, out_key=flow, remote_ip="10.121.13.50"}

Port patch-int

Interface patch-int

type: patch

options: {peer=patch-tun}

Port "gre-3"

Interface "gre-3"

type: gre

options: {in_key=flow, out_key=flow, remote_ip="10.121.13.52"}

Port br-tun

Interface br-tun

type: internal

gre-2 gre-3

control-server

compute-server02

BRKDCN-2367 148

Page 149: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Example – Basic VM Traffic FlowHigh-Level Walk-Thru

Management Network: 10.121.13.x

eth0 eth1

Public: 192.168.238.x/24

br-ex

br-int

phy-br-ex

int-br-ex

br-tun

patch-int

patch-tun

Qrouter

eth0

br-tun

patch-int

patch-tun

br-int

control-servercompute-server01

DHCP

tap

gre-110.121.13.5010.121.13.51

10.10.10.2

NAT

GRE tunnel

V M

7b

7b7b

vnet0 VM Boots

DHCP

IP Tables/Floating IP

BRKDCN-2367 149

Page 150: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

OpenStack Storage Projects

Page 151: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

OpenStack Storage - Summary

• Glance: Image repository for OpenStack

• Cinder: Controls data volumes for file systems and snapshots

• Swift: Object data storage service for “web scale” objects, and archive/backup

• Manila – Shared File System service

• Savanna>Sahara – HDFS File System (Hadoop)

• Local Storage on Compute Nodes: VM’s boot disk. Lives as long as an instance does. NOT persistent. Disappears when an instance is terminated

(More Details to follow)

BRKDCN-2367 151

Page 152: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Glance

• “The Glance project provides a service where users can upload and discover data assets that are meant to be used with other services. This currently includes images and metadata definitions.”

• Translation… Think of Glance as the catalog of images I can choose from to launch my VM

• Example: Glance has an Ubuntu 12.04, Ubuntu, 14.04, Centos 7.2, and Cirros 3.3. I’ll launch the image that best fits my application needs

OpenStack’s Image Repository

BRKDCN-2367 152

Page 153: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Glance has a “Backend”

• Glance is an abstracted image repository from ”some storage mechanism”

• Cinder might very well be leveraged to host the Glance image store

• …or a more “traditional” storage mechanism such as NFS, a SAN or a NAS

(Ceph might alternatively be leveraged to host the Glance image store – more on Ceph soon)

153BRKDCN-2367

Page 154: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Cinder

• “To implement services and libraries to provide on demand, self-service access

to Block Storage resources. Provide Software Defined Block Storage via

abstraction and automation on top of various traditional backend block storage

devices”

• Translation… Cinder lets you dynamically attach persistent virtual disks to your

virtual machine instances (Think second hard drive)

• Example – I have a database running with a VM. Rather than upgrade the VM,

I detach the database, launch a new VM with the desired OS, and re-attach the

Cinder Volume

Cinder’s Mission Statement

BRKDCN-2367 154

Page 155: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

KVM

Cinder Volume Attach - LVM

Nova Cinder

VM Instance

Linux LVM

/dev/vda

iSCSI

Initiator

iSCSI

Target

Volume Control

Volume Data

iSCSI is an example,

Cinder now supports

FC and NFS protocols

BRKDCN-2367 155

Page 156: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

KVM

Cinder Volume Attach – External Storage

Nova Cinder

VM Instance

Array/Storage

Controller

/dev/vda

iSCSI

Initiator

iSCSI

Target

Volume Control

Volume Data

iSCSI is an example,

Cinder now supports

FC and NFS protocols

BRKDCN-2367 156

Page 157: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

KVM

Cinder Volume Attach – Ceph RBD

Nova Cinder

VM Instance

Ceph Cluster

/dev/vda

librbd librbd

Volume Control

Volume Data

Ceph volumes are

accessed via TCP/IP

over the RBD protocol

RBD Network Protocol

BRKDCN-2367 157

RADOS = Reliable Autonomic

Distributed Object Store

RBD = RADOS Block Device

Page 158: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Nova-Boot’s Storage Requirements

• When you launch a VM on a Compute node, in the most basic setup, the VM’s boot volume is running within a directory in the compute node’s local FS. (By default, the boot partition)

• To take advantage of things like ”Live Migration”, this directory must be accessible by multiple compute nodes, which typically means an “NFS like” mount or specifically configuring Nova to use another storage mechanism

Nova boot requires storage as well…

BRKDCN-2367 158

Page 159: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

A Note on Volume based VM’s and/or SnapshotsIf you need to, you can build customized images for your project from any ISO image to a volume.

Reference

BRKDCN-2367 159

Page 160: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

The Converted Volume is now a Standard ImageIf you need to, you can build customized images for your project from any ISO.

Reference

BRKDCN-2367 160

Page 161: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

OpenStack StorageOpenStack Storage Services & API’s Abstract the underlying storage architecture

OpenStack Storage Related Services

OpenStack HorizonOpenStack API’s OpenStack CLI’s

NAS SAN Object Storage

Nova

CINDER GLANCE SWIFTLocal File Systems

On Compute Nodes

BRKDCN-2367 161

Page 162: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Typical Data Storage Requirements in OpenStack

VM Boot Partitions

Image Repository

Persistent Databases

Document Repo’s

Log Repo’s

Snapshots

Object Storage for “Web Scale”

• MP4’s

• Images

• Videos

• Music

Nova Boot

Glance

Cinder

Manilla

Swift

BRKDCN-2367 162

Page 163: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

Introduction to Swift

Page 164: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Why Swift?

• Typically for high growth (low change) storage requirements

• Lower the cost for storage of (typically) static objects

• Images… Movies... Files...

• Backups and archives

• High Availability & Multi-Tenancy

• Seamless failure handling (Usually X3 data replication)

• Compatible with S3 Solutions

• Designed to run on commodity hardware

Common Use Cases

BRKDCN-2367 164

Page 165: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

What Swift is *NOT*

• A drive or filesystem

• A NFS (Network File System)

• Block Storage

• Any SAN / NAS / DAS type solution

• A CDN

Swift is an Object File Storage solution. “Web Scale” storage scale for content that doesn’t often change

Not to be confused with…

BRKDCN-2367 165

Page 166: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Swift Architecture

• Swift is Highly Available, distributed and “Eventually Consistent”

• “Eventually Consistent” means that the write is acknowledged before confirming full replication

• 3 “Rings” Hashing algorithm to replicate:

• Accounts

• Containers

• Objects

• The Ring represents a mapping bewteen the names of entities stored on disk and their physical location

Swift Chooses Availability and Fault Tolerance

Consistency

(Same View)

Availability

(Data

Access)

Fault

Tolerance

BRKDCN-2367 166

Page 167: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Swift ArchitectureTypically 2 Types of Nodes running various process

StorageStorageStorage

Proxy

Proxy

Proxy

The Ring

• Proxy Servers:

• Swift-proxy-server: As the name suggests, proxies requests to the appropriate storage nodes where the data resides

• TempAuth: WSGI middleware for authentication

• Storage Servers:

• Swift-account-server: Account databases

• Swift-container-server: Container databases

• Swift-object-server: The actual storage Objects

BRKDCN-2367 167

Page 168: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Swift Architecture

Proxy Layer Scales Horizontally

StorageStorageStorage

Proxy

Proxy

Proxy

The Ring

Proxy Tier handling incoming requests

BRKDCN-2367 168

Page 169: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Swift Architecture

StorageStorageStorage

Proxy

Proxy

Proxy

The Ring

• 3 Rings:

• Account Data

• Container Data

• Object Data

• Proxy Servers map data to specific storage servers, typically with 3 x redundancy

• Proxy acknowledges after 2nd verified write

• Uploads md5 checksum with each object –Only saves object if checksum matches

• Eventually Consistent

The Ring – Handling Write Requests

BRKDCN-2367 169

Page 170: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Swift Architecture

• “Eventually Consistent”

• Verify after 2 writes, and the 3rd copy is eventually replicated

Eventually Consistent

StorageStorageStorage

Proxy

Proxy

Proxy

The Ring

BRKDCN-2367 170

Page 171: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Swift Architecture

StorageStorageStorage

Proxy

Proxy

Proxy

The Ring

• 3 Rings:

• Account Data

• Container Data

• Object Data

• Proxy servers lookup data location

• Read from a single disk

The Ring – Handling Read Requests

BRKDCN-2367 171

Page 172: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Swift Architecture

StorageStorageStorage

Proxy

Proxy

Proxy

The Ring

Storage

• Running in the background continuously, to ensure there are always (by default) 3 copies of everything

• (Typically) leverages a separate physical network segment so as not to compete with VM traffic

• In the event of a storage server failure (resulting in 2 copies of some data), any exposed data is re-copied to other valid servers

Replication

BRKDCN-2367 172

Page 173: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Swift Architecture

StorageStorageStorage

Proxy

Proxy

Proxy

The Ring

Storage

• Running in the background continuously, to ensure there are always (by default) 3 copies of everything

• (Typically) leverages a separate physical network segment so as not to compete with VM traffic

• In the event of a storage server failure (resulting in 2 copies of some data), any exposed data is re-copied to other valid servers

Replication

BRKDCN-2367 173

Page 174: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Swift Features• ACL

• Free form implemented by the auth system

• Health Checking

• Simple Health checking page for Load Balancing

• Rate Limiting

• Rate Limiting Requests

• Static or Temporary Web Containers

• index.html generated for objects or containers

• Form Post

• Translates a POST request to a regular Swift PUT

• Domain Remap

• “Pretty” URL with domains based containers

BRKDCN-2367 174

Reference

Page 175: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Swift Features• Bulk Operations

• Run multiple Delete, Upload or even tar uploads

• Account Quotas

• Ability to limit or set only as read accounts

• Container Quotas

• Allows user to restrict a public container

• Large Object Support (>5GB)

• Split large files into multiple objects. Reassembles on download

• CORS

• Upload support directly from a browser via Javascript

• Versioning

• Support for versioning all objects within a container

BRKDCN-2367 175

Reference

Page 176: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Swift API

Simple REST API

GET POST DELETE HEAD Operations

Simple Responses

200’s

(Good)

300’s

(redirect)

400’s

(Bad Client)

500’s

(Bad Server)

Bindings exist for different languages: Python, Java, C++ etc…

Multiple CLI tools... Python-client, jcloud, CURL...

BRKDCN-2367 176

Reference

Page 177: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

The Swift API

• Swift CLI – Which just leverages the Swift API• POST, List, Delete, Download, Stat, Upload, Capabilities

• POST – Updates metadata for the container, account, or Object

• Examples of Metadata (HTTP Headers)

• X-account-access-control (ACL Control)

• X-account-Sysmeta-global-write-ratelimit (Rate Limiting)

• X-Object-manifest (Large dynamic objects)

• X-Versions-Location (Object Versioning)

• X-Container-Sync-<details> (used internally for container synchronization)

• X-Delete-At / X-Delete-After (controls object expiration)

• X-Container-Meta-Access-Control (CORS)

• Other

• Crossfomain.xml (Cross Domain Policies)

BRKDCN-2367 177

Reference

Page 178: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

The Swift API

https://swift.domain.ame/v1/AUTH_acct/container/object

Account

Container

Object

Prefix API Version

• Write an Object…

• PUT /v1/my_account_my_container

• Read an Object…

• GET /v1/my_account_my_container

• Delete an Object…

• DELETE /v1/my_account_my_container

BRKDCN-2367 178

Reference

Page 179: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

Ceph Overview

Page 180: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Ceph Storage Cluster (RADOS)

• The Ceph Storage Cluster – which is also referred to as RADOS (Reliable Autonomous Distributed Object Store) is the heart of the Ceph Distributed Storage System.

• Ceph OSD (Object Storage Device) Nodes are servers with multiple disks that have intelligent daemons called Ceph OSD Daemons.

• The Ceph OSD Daemons are responsible for joining the Ceph OSDs to the Ceph Storage Cluster, serving requests for data that lives on the OSDs, and communicating the status of the OSDs.

• Another core component of the Ceph Storage Cluster are Monitor Daemons, which monitor the system

BRKDCN-2367 180

Page 181: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Block Device

Distributed virtual block

device that delivers high –

performance, cost effective

storage for virtual machines

File System

Distributed, scale-out

filesystem with POSIX

semantics that provides

storage for legacy and

modern applications

Object Gateway

A powerful S3 and Swift

compatible gateway that

brings the power of the Ceph

Object Store to modern

Applications

Objects Virtual Disks Files and Directories

Ceph Storage Cluster Services

Ceph Storage Cluster

Reliable, easy to manage, next generation distributed object store that provides storage

of unstructured data for applications

BRKDCN-2367 181

Page 182: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

RADOSA reliable, autonomous, distributed object store comprised of self-healing, self-managing, intelligent

storage nodes using CRUSH for data distribution.

LIBRADOSA library allowing

apps to directly

access RADOS,

with support for

C, C++, Java,

Python, Ruby,

and PHP

RBD

A reliable and fully-

distributed block

device, with a Linux

kernel client and a

QEMU/KVM driver

CEPH FS

A POSIX-compliant

distributed file system,

with a Linux kernel

client and support for

FUSE

RADOSGW

A bucket-based REST

gateway, compatible

with S3 and Swift

APP APP HOST/VM CLIENT

Ceph Components

BRKDCN-2367 182

Page 183: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Core Cluster Components

• OSDs:

• 10s to 10000s in a cluster

• One per disk (or one per SSD, RAID group…)

• Serve stored objects to clients

• Intelligently peer to perform replication and recovery tasks

• Monitors:

• Maintain cluster membership and state

• Provide consensus for distributed decision-making

• Small, odd number

• Do not serve stored objects to client

M

BRKDCN-2367 183

Page 184: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Ceph OSD Node Components

OSD OSD OSD OSD OSD

XFS XFS XFS XFS XFS Filesystem: XFS

Enterprise HDD

Ceph Object

Storage Daemon

O

S

D

O

S

D

O

S

D

O

S

D

O

S

D

O

S

D

O

S

D

O

S

D

O

S

D

O

S

D

O

S

D

O

S

D

O

S

D

O

S

D

O

S

D

O

S

D

O

S

D

O

S

D

O

S

D

O

S

D

J

R

N

L

J

R

N

L

J

R

N

L

J

R

N

L

Write

Journals

BRKDCN-2367 184

Page 185: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Ceph Storage Cluster (RADOS)

Ceph Cluster

MMM

OSD OSD OSD OSD OSD

XFS XFS XFS XFS XFS Storage

Node

MMonitor

Node

BRKDCN-2367 185

Page 186: OpenStack Deployment in the Enterprise & Service Provider · PDF fileOpenStack Deployment in the Enterprise & Service Provider Shannon McFarland –CCIE #5245 Distinguished Engineer

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Ceph Cluster Topology 3 Nodes

OS Control-1 CephMon-1

OS Control-2 CephMon-2

OS Control-3 CephMon-3

Storage Network

Private Replication Network

JR

NL

OS

D

OS

D

JR

NL

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

JR

NL

JR

NL

JR

NL

OS

D

OS

D

JR

NL

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

JR

NL

JR

NL

JR

NL

OS

D

OS

D

JR

NL

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

OS

D

JR

NL

JR

NL

Nova Client Node qemu librbd

Nova Client Node qemu librbd

Nova Client Node qemu librbd

BRKDCN-2367 186