#! /bin/bash

. /usr/share/drbd-test/drbd-test.sh
set -e

CONF=/etc/rsyslog.d/forward.conf
SERVER=$1
PORT=$2

status=
msg=$(ping -c1 -w2 "$SERVER" 2>&1) || status=$?
if [ -n "$status" ]; then
   echo "Cannot reach $host:" >&2
   echo "$msg" >&2
   exit $status
fi

rm -f "$CONF"
sed -e "s:@PORT@:$PORT:g" \
    -e "s:@SERVER@:$SERVER:g" \
    /usr/share/drbd-test/rsyslog-forward.conf.in \
    > "$CONF"
register_cleanup -t -- reset-rsyslogd "$CONF"
service rsyslog restart 2> >(grep -v '^Redirecting to')

# Make sure all kernel messages end up in the syslog
set -- $(cat /proc/sys/kernel/printk)
register_cleanup -t -- bash -c "echo $1 > /proc/sys/kernel/printk"
echo 8 > /proc/sys/kernel/printk
