Build Status

son-emu

This is the repository of SONATA's emulation platform.

This 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 direct execution of real network functions, packaged as Docker containers, in emulated network topologies running locally on the network service developer's machine.

More details about the the emulator's architecture and concepts can be found in the following publication(s):

Development

(if applicable)

Building

Describe briefly how to build the software.

Dependencies

Contributing

Contributing to the Gatekeeper is really easy. You must:

  1. Clone this repository;
  2. Work on your proposed changes, preferably through submiting issues;
  3. Submit a Pull Request;
  4. Follow/answer related issues (see Feedback-Chanel, below).

Installation

There are two ways to install and use son-emu. The simple one is to use Vagrant to create a VirtualBox-based VM on you machine that contains the pre-installed and configured emulator. The more complicated installation requires a freshly installed Ubuntu 14.04 LTS or 16.04 LTS and is done by a ansible playbook.

Vagrant Installation

  • Request VirtualBox and Vagrant to be installed on the system.
  • git clone https://github.com/sonata-nfv/son-emu.git
  • cd ~/son-emu
  • vagrant up
  • vagrant ssh to enter the new VM in which the emulator is installed.

Follow the MOTD in the VM to run the example topology and the dummy-gatekeeper. The dummy-gatekeeper's default port 5000 is forwarded to the host machine and can be accessed from it by using, e.g., curl http://127.0.0.1:5000/packages.

Ansible Installation

  • Requires: Ubuntu 14.04 LTS or 16.04 LTS
  • sudo apt-get install ansible git
  • sudo vim /etc/ansible/hosts
  • Add: localhost ansible_connection=local

1. Containernet

  • cd
  • git clone https://github.com/mpeuster/containernet.git
  • cd ~/containernet/ansible
  • sudo ansible-playbook install.yml
  • Wait (and have a coffee) ...

2. Emulator

  • cd
  • git clone https://github.com/sonata-nfv/son-emu.git
  • cd ~/son-emu/ansible
  • sudo ansible-playbook install.yml

Usage

(if applicable) Describe briefly how to use the software.

CLI

License

Son-emu is published under Apache 2.0 license. Please see the LICENSE file for more details.

Useful Links


Lead Developers

The following lead developers are responsible for this repository and have admin rights. They can, for example, merge pull requests.

Feedback-Chanel