#!/bin/bash # added 2018-04-06 by richm, released under ASL 2.0 # # Note: on buidbot VMs (where there is no environment cleanup), the # kubernetes test server may be kept running if the script aborts or # is aborted (buildbot master failure!) for some reason. As such we # execute it under "timeout" control, which ensure it always is # terminated. It's not a 100% great method, but hopefully does the # trick. -- rgerhards, 2018-07-21 #export RSYSLOG_DEBUG="debug" . $srcdir/diag.sh init . $srcdir/diag.sh check-command-available timeout testsrv=mmk8s-test-server timeout 3m python ./mmkubernetes_test_server.py 18443 rsyslog${testsrv}.pid rsyslogd${testsrv}.started > mmk8s_srv.log 2>&1 & BGPROCESS=$! . $srcdir/diag.sh wait-startup $testsrv echo background mmkubernetes_test_server.py process id is $BGPROCESS pwd=$( pwd ) generate_conf add_conf ' module(load="../plugins/imfile/.libs/imfile") module(load="../plugins/mmjsonparse/.libs/mmjsonparse") module(load="../contrib/mmkubernetes/.libs/mmkubernetes" token="dummy" kubernetesurl="http://localhost:18443" filenamerules=["rule=:'$pwd'/%pod_name:char-to:.%.%container_hash:char-to:_%_%namespace_name:char-to:_%_%container_name_and_id:char-to:.%.log", "rule=:'$pwd'/%pod_name:char-to:_%_%namespace_name:char-to:_%_%container_name_and_id:char-to:.%.log"] ) template(name="mmk8s_template" type="list") { property(name="$!all-json-plain") constant(value="\n") } input(type="imfile" file="'$pwd'/pod-*.log" tag="kubernetes" addmetadata="on") action(type="mmjsonparse" cookie="") action(type="mmkubernetes") action(type="omfile" file="rsyslog.out.log" template="mmk8s_template") ' cat > pod-error1.log < pod-error2.log < pod-name1_namespace-name1_container-name1-id1.log < pod-name2.container-hash2_namespace-name2_container-name2-id2.log < pod-name3.log < pod-name4.log < pod-name5.log <