mirror of
https://github.com/rsyslog/rsyslog.git
synced 2026-06-19 19:52:55 +02:00
* New functionality for omuxsock This builds on "PR#6121 net: Add NetworkNamespace APIS" to add Network Namespace support for omuxsock. In addition, new functionality is added to support abstract socket names, as well as connected sockets. Changes are isolated to omuxsock to provide the new functionality: a. Abstract unix socket names (including network namespaces) b. Connected socket support (SOCK_STREAM, SOCK_SEQPACKET) c. Support for load, and action configuration d. Bug fix related to closing/reopening sockets This bug would cause the socket to be closed and reopened for every message sent. New tests are added as follows: a. uxsock_multiple.sh tests basic functionality with multiple output instances. b. uxsock_multiple_netns.sh is similar but using multiple namespaces. c. uxsock_simple_abstract.sh mirrors the existing uxsock_simple.sh but tests with abstract socket names. The uxsockrcvr test program was modified to support these new tests. Signed-off-by: Billie Alsup <balsup@cisco.com>
47 lines
1.4 KiB
Bash
Executable File
47 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# This tests basic omuxsock functionality. A socket receiver is started which sends
|
|
# all data to an output file, then a rsyslog instance is started which generates
|
|
# messages and sends them to the unix socket. Datagram sockets are being used.
|
|
# added 2010-08-06 by Rgerhards
|
|
. ${srcdir:=.}/diag.sh init
|
|
check_command_available timeout
|
|
|
|
uname
|
|
if [ $(uname) = "FreeBSD" ] ; then
|
|
echo "This test currently does not work on FreeBSD."
|
|
exit 77
|
|
fi
|
|
|
|
# create the pipe and start a background process that copies data from
|
|
# it to the "regular" work file
|
|
generate_conf
|
|
add_conf '
|
|
$MainMsgQueueTimeoutShutdown 10000
|
|
|
|
$ModLoad ../plugins/omuxsock/.libs/omuxsock
|
|
$template outfmt,"%msg:F,58:2%\n"
|
|
$OMUXSockSocket '$RSYSLOG_DYNNAME'-testbench-dgram-uxsock
|
|
:msg, contains, "msgnum:" :omuxsock:;outfmt
|
|
'
|
|
timeout 30s ./uxsockrcvr -s$RSYSLOG_DYNNAME-testbench-dgram-uxsock -o $RSYSLOG_OUT_LOG -t 60 &
|
|
BGPROCESS=$!
|
|
echo background uxsockrcvr process id is $BGPROCESS
|
|
|
|
# now do the usual run
|
|
startup
|
|
# 10000 messages should be enough
|
|
injectmsg 0 10000
|
|
shutdown_when_empty # shut down rsyslogd when done processing messages
|
|
wait_shutdown
|
|
|
|
# wait for the cp process to finish, do pipe-specific cleanup
|
|
echo shutting down uxsockrcvr...
|
|
# TODO: we should do this more reliable in the long run! (message counter? timeout?)
|
|
kill $BGPROCESS
|
|
wait $BGPROCESS
|
|
echo background process has terminated, continue test...
|
|
|
|
# and continue the usual checks
|
|
seq_check 0 9999
|
|
exit_test
|