This document describes how to build a local development environment using OpenMANO to test network scenarios and virtualized network functions (VNFs). It provides instructions on configuring OpenMANO and OpenVIM, creating tenants, networks, and VNF descriptors, and deploying a sample network scenario with four VNFs connected in series. The deployed scenario can then be managed and monitored using the OpenMANO graphical user interface.
1 of 24
More Related Content
5. hands on - building local development environment with Open Mano
1. Building local development
environment with
OpenMANO_
Network Innovation & Virtualisation
Global CTO Unit
10 Jun 2015
Alfonso Tierno Sepulveda
Gerardo García De Blas
Network Virtualisation – GCTO Unit
3. DISCOVER, DISRUPT, DELIVER
OpenMANO addresses successfully network creation,
becoming a sound foundation for further automation
VNF AND NS DESCRIPTORS MAKE NETWORK DESIGN SIMPLE
EPA SUPPORT (NFVO & VIM)
PROPER VARIETY OF L2 CONNECTIVITIES
VNF ON-BOARDING DOES NOT REQUIRE FORMAL INTEGRATION
• Abstract models that hide complexity to
network engineer: just nodes and links
interconnecting them
• Allows to deploy for high performance
• Passthrough, SR-IOV, Virtio
• E-Line & E-LAN
• Descriptor-based (openly available)
VNF VNF
VNF VNF
VNF VNF
E-Line E-LAN
4. DISCOVER, DISRUPT, DELIVER
• Low-end laptops/PCs
• Functional tests
• Low cost
OpenMANO minimizes entry barriers for VNF developers
LOCAL DEVELOPMENT
&TESTING
• Real servers and switches
• Performance tests (EPA
can be enforced)
• Cost-effective shared pool
SHARED POOL FOR
DEVELOPERS
• Production/pre-production
environment
• Real network scenarios
• Final service configuration
SERVICE PROVIDER
VNFD
VM images
VNFD
VM images
SAME IMAGES AND DESCRIPTORS ACROSS ALL THE CHAIN!
10. DISCOVER, DISRUPT, DELIVER
OPENVIM (II)
Add a compute host using a descriptor
(@VM openmano-centos)
4. #ensure that openvim has ssh access to the compute node without
any prompt (password, confirmation, ...)
#ssh key access are already inserted at host. Test it
ssh student@10.10.0.1
#if it fails, run “rm –f .ssh/known_hosts ”
ssh student@10.10.0.1 #exit to go back to openmano-centos
5. #generate the compute node descriptor (not needed in this session)
# To generate the descriptor, a script is used:
$ ls openmano/scripts/host-add.sh
# The descriptor: numas, cores, interfaces, ...
$ less yamls/developer_host.yaml
6. #add the host to openvim
$ openvim host-add yamls/developer_host.yaml
$ openvim host-list
$ openvim host-list -vvv
11. DISCOVER, DISRUPT, DELIVER
OPENVIM (III)
Create external networks
(@VM openmano-centos)
7. #create external networks, to be used later in network
scenarios
$ cat yamls/virbrCon.yaml # A bridge to access to the VMs
$ cat yamls/default.yaml # libvirt default network (NAT-based)
$ openvim net-create yamls/virbrCon.yaml
$ openvim net-create yamls/default.yaml
$ openvim net-list
$ openvim net-list –vvv
12. DISCOVER, DISRUPT, DELIVER
OPENVIM (IV)
Create VIM tenant
(@VM openmano-centos)
8. #create VIM tenant
$ openvim tenant-create --name my_vim_tenant --description
"description"
$ openvim tenant-list
9. #configure openvim CLI to use the created tenant
$ openvim config
$ export OPENVIM_TENANT=<uuid>
$ echo "export OPENVIM_TENANT=<uuid>" >> .bashrc
$ openvim config
17. DISCOVER, DISRUPT, DELIVER
OPENMANO (V)
Add an NS definition and deploy it
(@VM openmano-centos)
10. #insert network scenarios
$ less yamls/scenario.yaml
$ openmano scenario-create yamls/scenario.yaml
$ openmano scenario-list
11. #launch the network scenario (it creates an instance)
$ openmano instance-scenario-list
$ openmano scenario-deploy dpdk_training dpdk_training
$ openmano instance-scenario-list
$ openmano instance-scenario-list dpdk_training
$ openvim vm-list
18. DISCOVER, DISRUPT, DELIVER
OPENMANO-GUI (I)
Configuration
(@VM openmano-centos)
1. #edit openmano-gui configuration
$ openmano tenant-list # write down the uuid
$ vi openmano/openmano-gui/config.php
# set 'mano_tenant' variable with the proper tenant
19. DISCOVER, DISRUPT, DELIVER
OPENMANO-GUI (II)
Usage
(@host)
2. #open firefox web browser
(http://10.10.0.3/openmano)
#scenarios
#VNF catalogue
#physical
#create new scenario
20. DISCOVER, DISRUPT, DELIVER
Check access to deployed virtual machines (I)
(@host)
1. #virtual machine list
$ sudo virsh list
$ sudo virt-manager
# enter gateway VM console
(@VM gateway)
2. #Getting gateway public IP address
$ ifconfig #Write down the gateway public IP address
# close console VM gateway
21. DISCOVER, DISRUPT, DELIVER
Check access to deployed virtual machines (II)
(@host)
3. Enter scenario VMs through the gateway
$ ssh dpdk@<gateway-public-ip> #password: dpdk
(@VM gateway) $ ssh 192.168.100.2 #pktgen #exit
(@VM gateway) $ ssh 192.168.100.3 #l3fwd #exit
(@VM gateway) $ ssh 192.168.100.4 #pktsink #exit