Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

When the EdgeView is started on the EVE device, the controller may install a script for client to run EdgeView commands on user's laptop. The script may have has the filename of like 'run.{device-name}.1659561808.edgeview.sh' in which 'device-name' is the string for the name of the device enabled with EdgeView session, and the digits are the timestamp in UNIX seconds when the EdgeView started.

...

./run.{device-name}.1659561808.edgeview.sh -inst 1 route

On a Linux host, The main part of the EdgeView client script can be:

docker run -it --rm -e EDGEVIEW_CLIENT=1 -h=$(hostname) --network=host -p <port mapping> -v /tmp/download:/download lfedge/eve-edgeview -token <jwt-token> "$@"

The volume '-v' setting assumes the local laptop has a directory '/tmp/downlad' to be used for files uploading from device to the laptop. This volume option is needed for EdgeView commands 'cp', 'log/copy-logfiles' and 'techsupport'. The '-p' option defines the docker TCP port to laptop host mapping in a range. In the single instance case, it is in the range of 9001-9005.

The 'jwt-token' is a string generated by the controller when the EdgeView is started.

...

for var in "$@"
do
if [ ! -z "$gotinst" ]; then
instid=$var
break
fi
if [ "$var" = "-inst" ]; then
gotinst=1
fi
done
portstart=9001
portend=9005
if [ ! -z "$instid" ]; then
if [ "$instid" -lt 1 ] || [ "$instid" -gt 5 ]; then
echo "inst needs to be in the range 1-5"
exit
fi
newid=$(($instid - 1))
multi=$(($newid * 5))
portstart=$((9001 + $multi))
portend=$((9005 + $multi))
fi
PORTMAP="-p $portstart-$portend:$portstart-$portend"
docker run -it --rm -e EDGEVIEW_CLIENT=1 -h=$(hostname) $PORTMAP -v /tmp/download:/download lfedge/eve-edgeview -token <jwt-token> "$@"


Window OS

For running the EdgeView client script, the Window OS needs to have docker desktop installed. The script works unchanged if the WSL version is 2.