Files
infix/test/case/cli/sysrepo-emulator.sh
Mattias Walström 8c9c432847 Add a new packet python-statd
Actually a part of statd, but had to make
a separarate package to get it to work.

Statd helper-scripts are now pre-compiled instead of doing it
in runtime.

Fixes #379
2024-04-16 12:47:16 +02:00

46 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
SCRIPT_PATH="$(dirname "$(readlink -f "$0")")"
ROOT_PATH="$SCRIPT_PATH/../../../"
YANGER_TOOL="$ROOT_PATH/src/statd/python/yanger/yanger.py"
INTERFACES="br0 br1 e0 e1 e2 e3 e4"
INTERFACE_OUTPUT_FILE="$(mktemp)"
INTERFACES_OUTPUT_FILE="$(mktemp)"
ROUTES_OUTPUT_FILE="$(mktemp)"
cleanup() {
rm -f "$INTERFACE_OUTPUT_FILE"
rm -f "$ROUTES_OUTPUT_FILE"
}
trap cleanup EXIT
if [ ! -e "$YANGER_TOOL" ]; then
echo "Error, yanger tool not found"
exit 1
fi
for iface in $INTERFACES; do
if ! "$YANGER_TOOL" "ietf-interfaces" \
-t "$SCRIPT_PATH/system-output/" \
-p "$iface" >> "$INTERFACE_OUTPUT_FILE"; then
echo "Error, running yanger for interface $iface" >&2
exit 1
fi
done
if ! jq -s 'reduce .[] as $item
({}; .["ietf-interfaces:interfaces"].interface +=
$item["ietf-interfaces:interfaces"].interface)' \
"$INTERFACE_OUTPUT_FILE" >> $INTERFACES_OUTPUT_FILE; then
echo "Error, merging yanger output data" >&2
exit 1
fi
$YANGER_TOOL "ietf-routing" -t "$SCRIPT_PATH/system-output/" > "$ROUTES_OUTPUT_FILE"
# Merge all module files
jq -s '.[0] * .[1]' $ROUTES_OUTPUT_FILE $INTERFACES_OUTPUT_FILE