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.
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.
The CLI tools have the following pre-requisites:
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.
Ubuntu Trusty (14.04) and Xenial (16.04)
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8EC0731023C1F15B
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
Update and install
sudo apt-get update
sudo apt-get install sonata-cli
CentOS 7
yum install epel-release
/etc/yum.repo.d/sonata.repo
with the following content: [sonata-repo]
name=SONATA Repository
baseurl=http://rpmrepo.sonata-nfv.eu/repo/
enabled=1
gpgcheck=0
yum install sonata-cli
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.
The emulator requires a Ubuntu 16.04 LTS installation on a bare motel machine or a VM. The following packages need to be installed:
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.
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.