blob: e6b668ee7728da2e25a8e1e2a97905cb896e4a16 [file] [log] [blame]
varnishtest "Check health-check email alerts"
#REQUIRE_OPTIONS=LUA
feature ignore_unknown_macro
syslog S1 -level notice {
recv
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Health check for server be1/srv1 failed.+reason: Socket error.+info: \"Connection reset by peer\".+check duration: [[:digit:]]+ms.+status: 0/1 DOWN."
recv info
expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Result=SUCCESS Bytes=[[:digit:]]+"
} -start
haproxy h1 -conf {
global
lua-load ${testdir}/healthcheckmail.lua
defaults
timeout client 1s
timeout server 1s
timeout connect 1s
listen lisrv
mode tcp
bind "fd@${lisrv}"
tcp-request connection reject
listen lismtp
mode tcp
bind "fd@${lismtp}"
log ${S1_addr}:${S1_port} daemon
log-format "Result=%[var(txn.result)] Bytes=%B"
tcp-request content use-service lua.mailservice
frontend fe1
mode http
bind "fd@${fe1}"
default_backend be1
backend be1
mode http
log ${S1_addr}:${S1_port} daemon
option httpchk
option log-health-checks
default-server inter 200ms downinter 100ms rise 1 fall 1
email-alert mailers mymailers
email-alert level info
email-alert from from@domain.tld
email-alert to to@domain.tld
server srv1 ${h1_lisrv_addr}:${h1_lisrv_port} check
mailers mymailers
mailer smtp1 ${h1_lismtp_addr}:${h1_lismtp_port}
} -start
syslog S1 -wait