Download - 4. open mano set up and usage
![Page 1: 4. open mano set up and usage](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/1.jpg)
OPENMANO set up and
usage_
Network Innovation & Virtualisation
Global CTO Unit
9 Jun 2015
ALFONSO TIERNONetwork Virtualisation Initiative @ GCTO Unit
![Page 2: 4. open mano set up and usage](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/17.jpg)
DISCOVER, DISRUPT, DELIVER
![Page 19: 4. open mano set up and usage](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/19.jpg)
DISCOVER, DISRUPT, DELIVER
Backup
![Page 20: 4. open mano set up and usage](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/20.jpg)
DISCOVER, DISRUPT, DELIVER
OpenMANO architecture
![Page 21: 4. open mano set up and usage](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/24.jpg)
DISCOVER, DISRUPT, DELIVER
openmano
openvim
openmano
-gui
openMANO
Openmano vs ETSI
![Page 25: 4. open mano set up and usage](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022050818/55c9d418bb61eb00718b485a/html5/thumbnails/27.jpg)
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