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
- Put all example artefacts into this repo: https://github.com/mpeuster/vim-emu-examples and link them from wiki
- Check for example VNFs and projects: https://git.cs.upb.de/peuster/tng-bench-experiments/tree/master/vnfs
- Defining a vim-emu topology with multiple PoPs
- Manually deploy and chain a service using the CLI/REST API
- Define a nice small example service to be used
- Explain how to build the Docker containers
- Show how to start, configure, and test the service
- Deploy the example service using the 5GTANGO LLCM
- Define the previous example service as 5GTANGO package
- On-board
- Deploy
- Test
- Snort 2 or 3
- Create new Snort container and add to example repo. Install Snort form default from remote source tarballs (https://cyberpersons.com/2016/07/18/install-snort-ubuntu/) to not have the Snort source code in our repository: https://git.cs.upb.de/peuster/tng-bench-experiments/tree/master/vnfs/snort3-ids
- Describe the use of
VIM_EMU_CMD
to trigger the custom./start.sh
script
- Advanced LLCM features, like placement and ENVs (see here)
- (Backlog for November or later) OpenStack-like examples
- (Backlog for November or later) Show the dashbaord
-
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?