SONATA Deployment Documentation

This is the starting page for the deployment and usage documentation of SONATA Project. The page will guide you through the SONATA architecture and present the main building blocks of the SONATA Service Platform. Following it provides installations details and links to the SONATA Github repositories. Finally it provides some usage guidelines for the SONATA service platform.


Project maintained by sonata-nfv Hosted on GitHub Pages —

Installation

General instructions and main steps

Service Platform installation

Pre-requisites

Installation options

Installation instructions

Installation Videos

SDK

The goal of the SONATA SDK is to assist the developer in designing services and/or functions. The SDK is mainly composed by a set of CLI tools, each with a specific purpose following the development workflow.

Pre-requisites

The CLI tools have the following pre-requisites:

Installation options

son-cli can be installed via the OS package distribution system or using setuptools. We currently provide repositories for Ubuntu Trusty (14.04), Ubuntu Xenial (16.04) and CentOS 7. For the remaining OS’s please use python’s setuptools.

Installation instructions

Ubuntu Trusty (14.04) and Xenial (16.04)

  1. Add the GPG key
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8EC0731023C1F15B
  1. Add a source entry for the repository

    2.1. Ubuntu Trusty (14.04)

    echo "deb http://repo.sonata-nfv.eu ubuntu-trusty main" | sudo tee -a /etc/apt/sources.list
    

    2.2. Ubuntu Xenial (16.04)

    echo "deb http://repo.sonata-nfv.eu ubuntu-xenial main" | sudo tee -a /etc/apt/sources.list
    
  2. Update and install

sudo apt-get update
sudo apt-get install sonata-cli

CentOS 7

 yum install epel-release
 [sonata-repo]
 name=SONATA Repository
 baseurl=http://rpmrepo.sonata-nfv.eu/repo/
 enabled=1
 gpgcheck=0
 yum install sonata-cli

Installation Videos

Emulator

SONATA’s emulation platform was created to support network service developers to locally prototype and test complete network service chains in realistic end-to-end multi-PoP scenarios. It allows the execution of real network functions, packaged as Docker containers, in emulated network topologies running locally on the network service developer’s machine. The emulation platform is based on Containernet.

Pre-requisites

The emulator requires a Ubuntu 16.04 LTS installation on a bare motel machine or a VM. The following packages need to be installed:

Installation options

There are two ways to install and use son-emu. The simple one is to use Vagrant to create a VirtualBox-based VM on your machine that contains the pre-installed and configured emulator. The more complicated, but more flexible, installation is done using an Ansible playbook executed on a Ubuntu 16.04 LTS machine or VM as described in the following section.

Installation instructions

sudo apt-get install ansible git aptitude
cd
git clone https://github.com/containernet/containernet.git
cd ~/containernet/ansible
sudo ansible-playbook -i "localhost," -c local install.yml
cd
git clone https://github.com/sonata-nfv/son-emu.git
cd ~/son-emu/ansible
sudo ansible-playbook -i "localhost," -c local install.yml

More details about installation alternatives can be found in the son-emu GitHub wiki.

Installation Videos