Top Banner
OPENMANO set up and usage_ Network Innovation & Virtualisation Global CTO Unit 9 Jun 2015 ALFONSO TIERNO Network Virtualisation Initiative @ GCTO Unit [email protected]
27

4. open mano set up and usage

Aug 11, 2015

Download

Technology

Movilforum
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 4. open mano set up and usage

OPENMANO set up and

usage_

Network Innovation & Virtualisation

Global CTO Unit

9 Jun 2015

ALFONSO TIERNONetwork Virtualisation Initiative @ GCTO Unit

[email protected]

Page 2: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

openMANO Requirements

• Requirements• Lightweight python program

• Can run on a VM w/ 1 core & 1 GB RAM

• External components • Compute nodes

(required in ‘NORMAL’ and ‘HOST-ONLY’ modes)

• Common storage folder. (NAS)

• Control plane interconnection

• No agents are needed, only ssh/libvirt access

• Openflow controler + switch(required in ‘NORMAL’ mode)

Page 3: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

openMANO Installation

• Open source (apache2 license)• https://github.com/nfvlabs/openmano

• Script for automatic installation• wget

https://github.com/nfvlabs/openmano/raw/master/scri

pts/install-openmano.sh

• chmod +x install-openmano.sh

• sudo ./install-openmano.sh

Page 4: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

openMANO Manual installation

• Required packages:• LAMP: Database (vim/mano), PHP and apache (gui)

• python and python packages (vim/mano)

• Source download• git clone https://github.com/nfvlabs/openmano.git openmano

• Database installation

• create database and openmano users

• load schema.sql

• Download & install FloodLight

• Put CLI clients at path (/home/user/bin)

• openmano, openvim

• Configure openmano-gui

• link /var/www/html

• Permissions for apache user, SElinux, firewalld

Page 5: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

OpenFlow

Controller

(FloodLight)

WEB SERVER

(GUI)

openvim

openmano

openmano-

gui

OpenFlow switch

VM

Compute nodes

NETWORK

SCENARIOS

VNF

SDN

OpenMANO details

Network scenario

Page 6: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

openVIM Configuration

• openvimd.cfg (yaml format):

• Northbound rest API parameters (http)• _host, _port, _admin_port: iface/port

• Openflow connection (of_controller)

• Database connection (db)• db_host /db_name: localhost /vim_db

• db_user / db_passwd: vim /vimpw

• Local image path at compute node. • image_path: /opt/VNF/images

• Control plane interfaces. Pre-

provisioned at compute host

are used for control plane connection• Compute node iface name, VLAN, speed

• Mode: normal, test, host only,

development

open

vim

API

DATA

BASE

open

manoDATA

BASE

open

mano-gui

OFC

Page 7: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

openVIM Modes

4 modes to run openvim

MODE Purpose Hardware needed

normal regular operation compute nodes

openflow switch

host only deploy without openflow

controller/switch

compute nodes

development develop VNFs. It deploys

simulating “enhanced”

compute nodes

“low performance”

compute node

test test openMANO installation

and API

-

Page 8: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

OpenFlow

Controller

(FloodLight)

Image

storage

openvim

OpenFlow switch

API

OFC

API

Compute nodes

OpenVIM modes: NORMAL

Data plane(e.g. 10Gbps)

sshDATA

BASE

Requires• Compute nodes (shared storage)

• OpenFlow controller & witch

Features• Real VM deployment

• Data plane connection

Purpose: Regular operation

Page 9: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

OpenFlow

Controller

(FloodLight)

Image

storage

openvim

OpenFlow switch

API

OFC

API

Compute nodes

OpenVIM modes: HOST ONLY

Data plane(e.g. 10Gbps)

sshDATA

BASE

Requires• Compute nodes (shared storage)

Features• Real VM deployment

• NO data plane connection

Purpose: Testing without

openflow switch/controller

Page 10: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

OpenFlow

Controller

(FloodLight)

Image

storage

openvim

OpenFlow switch

API

OFC

API

Compute nodes

OpenVIM modes: DEVELOPMENT

Data plane(e.g. 10Gbps)

sshDATA

BASE

Requires• Compute nodes (with fake

memory, cores, and

dataplane NICs)

Features• Real VM deployment:

• no huge pages > normal memory

• no Data plane > bridge connection

Purpose: Functional testing

in user workstation

Page 11: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

OpenFlow

Controller

(FloodLight)

Image

storage

openvim

OpenFlow switch

API

OFC

API

Compute nodes

OpenVIM modes: TEST

Data plane(e.g. 10Gbps)

sshDATA

BASE

Requires• FAKE Compute nodes at DB

Features• NO Real VM deployment

Purpose: OpenMANO install

check

Page 12: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

openMANO Configuration

• openmanod.cfg (yaml format):

• Northbound rest API parameters (http)• http_host: iface (by default, 0.0.0.0)

• http_port/ http_admin_port : 9090/9095

• Database connection (db)• db_host: localhost

• db_name: mano_db

• db_user: mano

• db_passwd: manopw

• Path to store VNF descriptions. For

debugging purposes• vnf_repository : ./vnfrepo

open

vim

API

DATA

BASE

open

manoDATA

BASE

open

mano-gui

OFC

Page 13: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

openmano-GUI Configuration

• config.php (php format):

• Openmano API parameters (mano):• mano_domain, mano_port, mano_path

• Openmano tenant• mano_tenant: localhost

• Openmano database access (db)• db_server, db_name

• db_user, db_passwd

• Openvim database access (db_vim)• db_vim_server, db_vim_name

• db_vim_user, db_vim_passwd

open

vim

API

DATA

BASE

open

manoDATA

BASE

open

mano-gui

OFC

Page 14: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

openvim Usage

hostcompute nodes

-up/-down

tenantproject

netnetworks

(data/control plane, external)

portVM interfaces

-create/-delete/-edit/-list

vmvirtual machines

-shutdown/-rebuild/-start/-reboot

image

hard disk image

flavorVM requirements

Page 15: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

openmano Usage

vnfvirtual network function

tenantproject

-create/-delete/-edit/-list

datacenteropenvim/openstack

-attach/-detach/-net

scenarionetwork scenario

-deploy

instance-scenariodeployed scenario

Page 16: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

openmano-gui Usage

vnfvnf catalogue list

physicalhost and vm list

scenarioscenario

instance-scenarios

scenario newscenario creation

Page 17: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

Page 18: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

E-Mail: [email protected]

COMMENTS / QUESTIONS

Page 19: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

Backup

Page 20: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

OpenMANO architecture

Page 21: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

DATA

BASE

host

thread

openflow

thread

openvimd

host

threadhost

thread

OpenFlow

Controller

FloodLight

Data PlaneControl Plane

North API

http

server

North API Admin

vim_dbvim

schema utilsvim_db

vim_db

thread

module

http

server

Images

storage

OPEN

VIM

External

components

OpenVIM architecture details

OpenFlow switch

Page 22: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

DATA

BASE

MANO

openmano

d

North API

http

server

North API

Admin

nfvo_db

openmano

schemas

utilsnfvo

vim

connector

thread

module

http

server

openvim

OPEN

MANO

OpenMano architecture details

Page 23: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

DATA

BASE

VIM

scenariovnfs

common

contex

menu

scenario_

utils

php

javascriptphysical

openmano

API

scenario_

new

config

get_hostsget_

scenariosget_vnfs

scenario_

id

DATA

BASE

MANO

OPEN

MANO

GUI

Openmano-gui architecture details

Page 24: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

openmano

openvim

openmano

-gui

openMANO

Openmano vs ETSI

Page 25: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

Avoiding unintended contention…

CPU

QPI

I/O

device

I/O

device

Core Core Core CoreCore

Core Core Core CoreCore

ME

MO

RY

I/O

device

I/O

device

CPU

I/O

device

I/O

device

Core Core Core CoreCore

Core Core Core CoreCore

I/O

device

I/O

device

ME

MO

RY

• Dedicated resource allocation:

• Memory: huge pages

• CPUs: not oversubscribed, isolated from host OS

• I/O devices: passthrough, SR-IOV

• Modern chipset families can even avoid cache memory contention

Host OS + Hypervisor VM 1 VM 2 VM 3Not used

Page 26: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

host OS

VM guess OS

host OS

VM guess OS

Memory pagination: second-level address translation

Logical

Memory

(process)

“Physical”

Memory

(VM)

Physical

Memory

(host)

“Physical”

Memory

(VM)

Physical

Memory

(host)

Logical

Memory

(process)

Hardware virtualization accelerators:

• Extended/Nested page table (Intel VT-x EPT, AMD-V NPT)

Huge pagesNormal pages

Page 27: 4. open mano set up and usage

DISCOVER, DISRUPT, DELIVER

Hypervisor & OS need to be bypassed for data plane apps

CLOUD COMPUTING NETWORK VIRTUALISATION

Hardware

OS + Hypervisor

Virtual HW

SW libsOS

Virtual machine 1

Virtual HW

SW libsOS

Virtual machine N…

Virtual

Apps

Virtual

Network

Functions

Virtual

Apps

Virtual

Network

Functions

Hardware

OS + Hypervisor

Virtual HW

OS

Virtual machine 1 Virtual machine N…

Virtual

Apps

Virtual

Apps

Virtual HW

OS

UPSTREAM

TRAFFIC

DOWNSTREAM

TRAFFIC

TRAFFICBYPASSED

DATA

PLANE IS

MANAGED

DIRECTLY

Hardware virtualization accelerators:

• DMA remap mechanism, direct hardware assigned to VM, IOTLB