4. open mano set up and usage

Post on 11-Aug-2015

669 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

Transcript

OPENMANO set up and

usage_

Network Innovation & Virtualisation

Global CTO Unit

9 Jun 2015

ALFONSO TIERNONetwork Virtualisation Initiative @ GCTO Unit

alfonso.tiernosepulveda@telefonica.com

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)

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

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

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

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

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

-

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

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

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

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

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

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

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

DISCOVER, DISRUPT, DELIVER

openmano Usage

vnfvirtual network function

tenantproject

-create/-delete/-edit/-list

datacenteropenvim/openstack

-attach/-detach/-net

scenarionetwork scenario

-deploy

instance-scenariodeployed scenario

DISCOVER, DISRUPT, DELIVER

openmano-gui Usage

vnfvnf catalogue list

physicalhost and vm list

scenarioscenario

instance-scenarios

scenario newscenario creation

DISCOVER, DISRUPT, DELIVER

DISCOVER, DISRUPT, DELIVER

E-Mail: alfonso.tiernosepulveda@telefonica.com

COMMENTS / QUESTIONS

DISCOVER, DISRUPT, DELIVER

Backup

DISCOVER, DISRUPT, DELIVER

OpenMANO architecture

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

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

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

DISCOVER, DISRUPT, DELIVER

openmano

openvim

openmano

-gui

openMANO

Openmano vs ETSI

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

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

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

top related