- x86 server reachable from controller via fabric network
- Install docker on the test server
- docker pull the simulator agent container
$ docker pull smurugap/simulator:latest
- Launch the simulator agent container
$ echo 1024 > /proc/sys/fs/inotify/max_user_instances
$ sysctl -w net.ipv4.ip_forward=1
$ service firewalld stop
$ iptables -P FORWARD ACCEPT
$ mkdir -p /etc/simulator
$ docker run -itd --privileged -v /var/run:/var/run -v /etc/simulator:/etc/simulator --net host --name simulator-agent smurugap/simulator:latest
- Login to the container and update the fabric.yaml file
- Launch resource monitoring service (glances) on controllers (Appformix, Contrail, JFM, JFM-Edge etal)
$ docker run -d --restart="always" -p 61208-61209:61208-61209 -e GLANCES_OPT="-w" -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host nicolargo/glances
$ python fabric.py -i fabric.yaml -o stage1
- Create simulators (-o create_simulators)
- Brownfield onboard the fabric (-o onboard_fabric)
- Assign roles based on ip-clos type (-o assign_roles)
$ python fabric.py -i fabric.yaml -o delete_simulators
python fabric.py -i fabric.yaml -o stage2 -t 5
- Create Virtual Networks
- Create Virtual Port Groups
- Create Vlans in the VPGs Note: -t controls the no of parallel threads
python fabric.py -i fabric.yaml -o stage3 -t 5
- Create Logical Routers and link the VNs
- Extend the logical routers to respective physical routers
python fabric.py -i fabric.yaml -o stage4 -t 6
- Create Security Groups and attach to VPGs
- Create Storm Control Profiles + Port Profiles and attach to VPGs
python fabric.py -i fabric.yaml -o stage5 -t 3
- Create Routed VN, Routed VPG and LogicalRouter with Routed VN properties
Wrapper around all the stages
python fabric.py -i fabric.yaml -o create -t 5
python fabric.py -i fabric.yaml -o delete -t 6
python fabric.py -i fabric.yaml -o delete_fabric
To generate 1000 sampled flows with new flows every 10 minutes under test-fabric fabric
python fabric.py -i fabric.yaml -o start_sflows -c n_flows=1000,fabric=test-fabric,refresh_interval=10
To stop generating sampled flows
python fabric.py -i fabric.yaml -o stop_sflows -c fabric=test-fabric