Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
OPENMANO set up and
usage_
Network Innovation & Virtualisation
Global CTO Unit
9 Jun 2015
ALFONSO TIERNO
Network 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
mano
DATA
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)
ssh
DATA
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)
ssh
DATA
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)
ssh
DATA
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)
ssh
DATA
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
mano
DATA
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
mano
DATA
BASE
open
mano-gui
OFC
DISCOVER, DISRUPT, DELIVER
openvim Usage
host
compute nodes
-up/-down
tenant
project
net
networks
(data/control plane, external)
port
VM interfaces
-create/-delete/-edit/-list
vm
virtual machines
-shutdown/-rebuild/-start/-reboot
image
hard disk image
flavor
VM requirements
DISCOVER, DISRUPT, DELIVER
openmano Usage
vnf
virtual network function
tenant
project
-create/-delete/-edit/-list
datacenter
openvim/openstack
-attach/-detach/-net
scenario
network scenario
-deploy
instance-scenario
deployed scenario
DISCOVER, DISRUPT, DELIVER
openmano-gui Usage
vnf
vnf catalogue list
physical
host and vm list
scenario
scenario
instance-scenarios
scenario new
scenario 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
thread
host
thread
OpenFlow
Controller
FloodLight
Data PlaneControl Plane
North API
http
server
North API Admin
vim_db
vim
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
javascript
physical
openmano
API
scenario_
new
config
get_hosts
get_
scenarios
get_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
MEMORY
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
MEMORY
• 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

More Related Content

4. open mano set up and usage

  • 1. OPENMANO set up and usage_ Network Innovation & Virtualisation Global CTO Unit 9 Jun 2015 ALFONSO TIERNO Network Virtualisation Initiative @ GCTO Unit alfonso.tiernosepulveda@telefonica.com
  • 2. 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)
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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 mano DATA BASE open mano-gui OFC
  • 7. 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 -
  • 8. DISCOVER, DISRUPT, DELIVER OpenFlow Controller (FloodLight) Image storage openvim OpenFlow switch API OFC API Compute nodes OpenVIM modes: NORMAL Data plane (e.g. 10Gbps) ssh DATA BASE Requires • Compute nodes (shared storage) • OpenFlow controller & witch Features • Real VM deployment • Data plane connection Purpose: Regular operation
  • 9. 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) ssh DATA BASE Requires • Compute nodes (shared storage) Features • Real VM deployment • NO data plane connection Purpose: Testing without openflow switch/controller
  • 10. DISCOVER, DISRUPT, DELIVER OpenFlow Controller (FloodLight) Image storage openvim OpenFlow switch API OFC API Compute nodes OpenVIM modes: DEVELOPMENT Data plane (e.g. 10Gbps) ssh DATA 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
  • 11. DISCOVER, DISRUPT, DELIVER OpenFlow Controller (FloodLight) Image storage openvim OpenFlow switch API OFC API Compute nodes OpenVIM modes: TEST Data plane (e.g. 10Gbps) ssh DATA BASE Requires • FAKE Compute nodes at DB Features • NO Real VM deployment Purpose: OpenMANO install check
  • 12. 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 mano DATA BASE open mano-gui OFC
  • 13. 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 mano DATA BASE open mano-gui OFC
  • 14. DISCOVER, DISRUPT, DELIVER openvim Usage host compute nodes -up/-down tenant project net networks (data/control plane, external) port VM interfaces -create/-delete/-edit/-list vm virtual machines -shutdown/-rebuild/-start/-reboot image hard disk image flavor VM requirements
  • 15. DISCOVER, DISRUPT, DELIVER openmano Usage vnf virtual network function tenant project -create/-delete/-edit/-list datacenter openvim/openstack -attach/-detach/-net scenario network scenario -deploy instance-scenario deployed scenario
  • 16. DISCOVER, DISRUPT, DELIVER openmano-gui Usage vnf vnf catalogue list physical host and vm list scenario scenario instance-scenarios scenario new scenario creation
  • 18. DISCOVER, DISRUPT, DELIVER E-Mail: alfonso.tiernosepulveda@telefonica.com COMMENTS / QUESTIONS
  • 21. DISCOVER, DISRUPT, DELIVER DATA BASE host thread openflow thread openvimd host thread host thread OpenFlow Controller FloodLight Data PlaneControl Plane North API http server North API Admin vim_db vim schema utilsvim_db vim_db thread module http server Images storage OPEN VIM External components OpenVIM architecture details OpenFlow switch
  • 22. 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
  • 25. DISCOVER, DISRUPT, DELIVER Avoiding unintended contention… CPU QPI I/O device I/O device Core Core Core CoreCore Core Core Core CoreCore MEMORY 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 MEMORY • 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
  • 26. 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
  • 27. 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