aboutsummaryrefslogtreecommitdiffstats

Mass PNF simulator

The purpose of this simulator is to mimic the PNF for benchmark purposes. This variant is based on the PNF simulator and use several components. The modification are focusing on the following areas:

  • add a script configuring and governing multiple instances of PNF simualtor
  • removing parts which are not required for benchmark purposes.
  • add functionality which creates and maintains the ROP files
  • add functionality to query the actual ROP files and construct VES events based on them

Pre-configuration

The ipstart should align to a /28 Ip address range start (e.g. 10.11.0.16, 10.11.0.32)

For debug purposes, you can use your own IP address as VES collector, use "ip" command to determine it.

Run ./setup.sh to create pre-set Python virtualenv with all required dependencies for the scripts.

Build simulator image

./mass-pnf-sim.py build

Bootstrap simulator instances

./mass-pnf-sim.py bootstrap --count 2 --urlves http://10.148.95.??:10000/eventListener/v7 --ipfileserver 10.148.95.??? --typefileserver sftp --ipstart 10.11.0.16

Note that the file creator is started at a time of the bootstrapping. Stop/start will not re-launch it.

Replacing VES for test purposes

sudo nc -vv -l -k -p 10000

Start all bootstrapped instances

./mass-pnf-sim.py start

Trigger

./mass-pnf-sim.py trigger

Trigger only a subset of the simulators

The following command will trigger 0,1,2,3:

./mass-pnf-sim.py trigger-custom --triggerstart 0 --triggerend 3

The following command will trigger 4 and 5:

./mass-pnf-sim.py trigger-custom --triggerstart 4 --triggerend 5

Stop sending PNF registration messages from simulators

./mass-pnf-sim.py stop_simulator

Stop docker containers and clean bootstrapped simulators

./mass-pnf-sim.py stop
./mass-pnf-sim.py clean

Verbose printout from Python

python3 -m trace --trace --count -C . ./mass-pnf-sim.py .....

Cleaning and recovery after incorrect configuration

./clean.sh