18 lines
948 B
Bash
Executable File
18 lines
948 B
Bash
Executable File
#!/bin/sh
|
|
# usage: devices.sh bulk one container per device sends its lookup budget and exits
|
|
# devices.sh live one container per device trickles traffic forever (restart unless-stopped)
|
|
set -eu
|
|
DEMO=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
|
MODE=$1
|
|
for spec in tv:192.168.50.41:20 iphone:192.168.50.52:25 pixel:192.168.50.53:30 kids:192.168.50.54:35 desktop:192.168.50.20:45 mac:192.168.50.21:40; do
|
|
name=${spec%%:*}; rest=${spec#*:}; ip=${rest%%:*}; mean=${rest#*:}
|
|
docker rm -f "nxdemo-$name" >/dev/null 2>&1 || true
|
|
if [ "$MODE" = bulk ]; then
|
|
docker run -d --name "nxdemo-$name" --network nxdemo-lan --ip "$ip" -v "$DEMO/gen:/gen:ro" \
|
|
python:3-alpine python -I /gen/traffic.py "$name" bulk
|
|
else
|
|
docker run -d --name "nxdemo-$name" --restart unless-stopped --network nxdemo-lan --ip "$ip" -v "$DEMO/gen:/gen:ro" \
|
|
python:3-alpine python -I /gen/traffic.py "$name" live "$mean"
|
|
fi
|
|
done
|