-
Notifications
You must be signed in to change notification settings - Fork 3
vim emu topology file
This page describes specific details on the creation of a new topology file to startup the SONATA emulator.
Example topology files are in the folder src/emuvim/examples
.
The following line of code in the topology file creates a containernet instance:
net = DCNetwork(controller=RemoteController, monitor=True, enable_learning=False)
-
monitor
when set toTrue
, this flag starts a cAdvisor and Prometheus Pushgateway Docker container alongside vim-emu. cAdvisor will monitor general metrics of the deployed Docker VNFs. The Pushgateway will collect specific flow counters that are exported from the vim-emu virtual network implemented by OpenvSwitch. This needs to be enabled forson-monitor
(ason-cli
tool) to work. -
enable_learning
when set toTrue
, this flag configures the OpenvSwitch networking invim-emu
withfail mode=standalone
. This means the 'vim-emu' network topology will function as a self-learning switch.
This defines a Gatekeeper endpoint , similar to the one in the SONATA SP. A REST API is started here that accepts SONATA service packages.
sdkg1 = SonataDummyGatekeeperEndpoint("0.0.0.0", 5000, deploy_sap=True, auto_deploy=True,
docker_management=True, auto_delete=True,
sap_vnfd_path=sap_vnfd_path)
-
deploy_sap
when set toTrue
, each connection point (SAP) in the NSD is deployed according to its defined type:-
internal
: deployed as a dedicated Docker VNF, chained to the VNFs as defined in the NSD. -
external
: deployed as a virtual interface on thevim-emu
host. NAT rules are installed using iptables, which make it possible to connect this interface and the service's endpoint to the outside world (eg. to connect a traffic generating process, running on the host). -
management
: as defined by thedocker_management
flag (see below)
-
-
auto_deploy
when set toTrue
, each pushed service package will automatically be deployed (this avoids the need to explicitly ask the dummy gatekeeper to deploy the latest pushed package). -
auto_delete
when set toTrue
, any currently deployed service will automatically be deleted when a new one is asked to be deployed. This configuresvim-emu
to only deploy one service at a time. -
docker_management
when set toTrue
, the VNF interfaces that are configured in the NSD/VNFD astype=management
are not instantiated, but are replaced with the interfaces to thedocker0
switch, which are anyway deployed by Docker. -
sap_vnfd_path
is the pathname of the VNFD .yml file that describes which Docker VNF to use as service endpoint. Each internal connection point in the NSD is deployed with this VNFD.