sonata-nfv/son-emu

Create a "Containernet and vim-emu beginner guide"

mpeuster opened this issue · 2 comments

We need a nice walkthrough guide for beginners. Everything should be explained step-by-step so that people only need to copy and paste the commands from the guide.

It makes sense to have two parts, one for Containernet (in the Containernet wiki) and one for vim-emu in the wiki here.

Content:

Wiki page prefix: Tutorial: Basic topology definition with multiple switches

  • Containernet

    • commit Containernet example code + containers to examples/ and create a PR
    • Defining an example topology with multiple switches etc.
    • Starting topology with empty containers and do pings etc.
    • Build a custom container that install Iperf and show how to measure throughput between containers
    • Build a custom container (with a webserver and curl) and run it in containernet
    • Show some "advanced Docker options", like here and here.
      • MAC addresses
      • port bindings
      • volumes and envs
    • move content of iperf not found page to FAQ page and delete the page
  • vim-emu

  • Remove the old, outdated examples from the wiki

  • Produce some screencasts for vim-emu

  • Produce screencasts for Containernet


  • Start with Python 3 migration if other things are done

Information about emulator

Underlying technology: http://mininet.org/

Starting point: conference paper NFV-SDN'16

Naming: "MeDICINE" in the paper, later "son-emu" (GitHub) and now "vim-emu" (since adoption by ETSI OSM)

Underlying Containernet project: https://containernet.github.io/


Main repository at ETSI OSM: https://osm.etsi.org/gitweb/?p=osm/vim-emu.git;a=summary

Old repository on GitHub (synched from time to tome): https://github.com/sonata-nfv/son-emu

Documentation about vim-emu and examples (all in the old GitHub repository: https://github.com/sonata-nfv/son-emu/wiki)

Documentation about using vim-emu with OSM (not of interest for now): https://osm.etsi.org/wikipub/index.php/VIM_emulator

Review:

Looks already great!

Some things we should do:

  • Have a table of contents (TOC) at the top of the page: https://ecotrust-canada.github.io/markdown-toc/
  • Move the addDocker parameter table to a dedicated page, e.g., Tutorial: APIs
  • Questions: Why do we need the port binding parts in the webserver example?