Skip to the content.


General instructions and main steps

The 5GTANGO system consists of the Service Platform for deploying and orchestrating services and the Service Development Kit to create deployable service packages. For running services, the Service Platform uses the capabilities of a VIM (virtual infrastructure manager), specifically OpenStack. In order to use the Service Platform, you therefore need to have access to a running OpenStack installation.

In general, the main steps to install a working 5GTANGO system are as follows:

  1. Install the Service Platform
  2. Install the VnV
  3. Install the Service Development Kit
  4. Install the Emulator for testing purposes
  5. Install OpenStack (or get access to an existing installation).
  6. Connect the Service Platform to OpenStack

Service Platform and VnV installation

Recomended specs for the virtual machines



Create tango user

sudo adduser tango
sudo usermod -a -G sudo tango

Packages installation

sudo apt-get install -y software-properties-common
sudo apt-add-repository -y ppa:ansible/ansible
sudo apt-get update
sudo apt-get install -y ansible
sudo apt-get install -y git
sudo apt-get install python3
sudo apt install python3-pip
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10 
sudo pip3 install docker


sudo apt-get update
sudo apt-get install \
  apt-transport-https \
  ca-certificates \
  curl \
curl -fsSL | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
   "deb [arch=amd64] \
   $(lsb_release -cs) \
sudo apt-get update
sudo apt-get install docker-ce

Create docker network

sudo docker network create tango	

Repository cloning

git clone
cd tng-devops

Execute installation

Step 1

Step 2

Password is: sonata

After these steps, the installation of SP and VnV are finished are finished.

### ### ### ### ### ### ###

Installation Videos

[ Sonata SP v3.0 installation video]


The goal of the 5GTANGO 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 5GTANGO SDK tools are all implemented in Python and bash:




Single command installation:

pip install git+


tng-sdk-project -h

User manual and documentation: GitHub repository and wiki


Additional pre-requisites

sudo apt install curl wget qemu-kvm cloud-utils
pip install shyaml


git clone
cd tng-sdk-img
sudo ./


tng-sdk-img -h

User manual and documentation: GitHub repository and wiki




(Anton? Dani?)

Single command installation:

pip install git+


tng-sdk-validate -h

User manual and documentation: GitHub repository and wiki


Single command installation:

pip install git+


tng-sdk-package -h

User manual and documentation: GitHub repository and wiki

vim-emu (former son-emu)

This emulation platform was created to support network service developers to locally prototype and test their network services 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 developer’s machine. The emulation platform also offers OpenStack-like APIs for each emulated PoP so that it can integrate with MANO solutions, like OSM. The core of the emulation platform is based on Containernet.

The original project was called son-emu and later renamed to vim-emu when the emulator was adopted by the OSM project. We keep the repository name son-emu to not break existing links in publications.

The emulation platform vim-emu is developed as part of OSM’s DevOps MDG.


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

Docker-based installation

This steps deploy and start the emulator inside a Docker container. See the GitHub repository for further installation options.

git clone
cd ~/son-emu
# build the container:
docker build -t vim-emu-img .
# run the (interactive) container:
docker run --name vim-emu -it --rm --privileged --pid='host' -v /var/run/docker.sock:/var/run/docker.sock vim-emu-img /bin/bash

More details about and documentation can be found in the GitHub wiki.