tutorial
tutorial copied to clipboard
Use docker-compose to manage services
#1 and #2 issues are the same problems, we used the magic DNS name host.docker.internal in configuration files and it only works in docker in MAC environment, not Linux.
Mininet/P4Runtime Shell/ONOS
- To fix this problem, I replace all previous scripts with docker-compose and makefile.
By the docker-compose, we using simple Linux bridge to connect all containers together and then can access them its name. like
mininet:50001. - P4Runtime shell should wait for the mininet to be ready, not container status, but the application status. and it's not supported by docker compose.
I use another container to wait for it by testing the connection
mininiet:50001 - Already tested in MAC and Ubuntu.
netcfg
- Fix the wrong config file name in netfcg.json, it was
netcfg-3switchbut it should benetcfg.json. - Use the makefile command to push netcfg to ONOS controller.
$ make netcfg
gnmi
- We need to attach the gnmi container to the same network running by docker-compose, and we can get it by adding the
--networkarguments in itsdocker runcommand. - Add the command into Makefile and then wrap the arguments in a variable ARGS so that we can execute the gnmi command in the following way.
$ make ARGS="get xxxxxxx" gnmi
close when #5 be merged