rsyslog/tests/omrabbitmq_json.sh
Rainer Gerhards 8058b8c7e3
imdiag/tests/docs: use RFC5737 test IP in samples
Use a documentation-only IP to avoid confusion and follow best practice.
This prevents irritation when users or scanners see a private address in
samples and wonder if rsyslog is trying to contact it.

Impact: Visible change in sample payloads, tests, and docs (host field).

Technical: Replace the hardcoded "172.20.245.8" in imdiag's generated
messages with a constant default hostname "192.0.2.8" from RFC 5737
(TEST-NET-1). Update tests (e.g., omrabbitmq, perctile, mmexternal,
clickhouse) and template examples to match. No API/ABI change; no effect
on action queues, OMODTX, retry/duplicate semantics, or HUP behavior.
This is purely about sample message contents emitted by the diag tool.

Before/After: samples used 172.20.245.8 -> now 192.0.2.8.

See also: https://gitee.com/src-openeuler/rsyslog/issues/I7V4I8

Fixes: https://github.com/rsyslog/rsyslog/issues/6190
2025-09-28 11:21:51 +02:00

46 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# add 2019-09-03 by Philippe Duveau, released under ASL 2.0
. ${srcdir:=.}/diag.sh init
cmd="./miniamqpsrvr -f $RSYSLOG_DYNNAME.amqp.log -d"
echo $cmd
eval $cmd > $RSYSLOG_DYNNAME.source
if [ ! $? -eq 0 ]; then
exit 77
fi
. $RSYSLOG_DYNNAME.source
export OMRABBITMQ_TEST=1
generate_conf
add_conf '
global(localhostname="server")
module(load="../contrib/omrabbitmq/.libs/omrabbitmq")
ruleset(name="rmq") {
action(type="omrabbitmq" host="localhost" port="'$PORT_AMQP1'"
user="mtr" password="mtr" exchange="in" expiration="5000"
virtual_host="/metrologie" routing_key="myrouting"
)
}
if $msg contains "msgrmq" then {
call rmq
}
action(type="omfile" file="'$RSYSLOG_OUT_LOG'")
'
startup
injectmsg literal "<167>Mar 1 01:00:00 192.0.2.8 tag msgrmq"
shutdown_when_empty
wait_shutdown
expected=$(printf 'Exchange:in, routing-key:myrouting, content-type:application/json, delivery-mode:transient, expiration:5000, msg:{\"message\":\" msgrmq\",\"fromhost\":\"192.0.2.8\",\"facility\":\"local4\",\"priority\":\"debug\",\"timereported\":.*}')
grep -E "${expected}" $RSYSLOG_DYNNAME.amqp.log > /dev/null 2>&1
if [ ! $? -eq 0 ]; then
echo "Expected:"
echo ${expected}
echo "invalid response generated, $RSYSLOG_DYNNAME.amqp.log is:"
cat $RSYSLOG_DYNNAME.amqp.log
echo "Rsyslog internal output log:"
cat $RSYSLOG_OUT_LOG
error_exit 1
fi
content_check "server localhost port"
exit_test