mirror of
https://github.com/coredns/coredns.git
synced 2025-10-27 08:14:18 -04:00
* Clean up tests logging This cleans up the travis logs so you can see the failures better. Older tests in tests/ would call log.SetOutput(ioutil.Discard) in a haphazard way. This add log.Discard and put an `init` function in each package's dir (no way to do this globally). The cleanup in tests/ is clear. All plugins also got this init function to have some uniformity and kill any (future) logging there in the tests as well. There is a one-off in pkg/healthcheck because that does log. Signed-off-by: Miek Gieben <miek@miek.nl> * bring back original log_test.go Signed-off-by: Miek Gieben <miek@miek.nl> * suppress logging here as well Signed-off-by: Miek Gieben <miek@miek.nl>
erratic
Name
erratic - a plugin useful for testing client behavior.
Description
erratic returns a static response to all queries, but the responses can be delayed, dropped or truncated. The erratic plugin will respond to every A or AAAA query. For any other type it will return a SERVFAIL response. The reply for A will return 192.0.2.53 (see RFC 5737, for AAAA it returns 2001:DB8::53 (see RFC 3849).
erratic can also be used in conjunction with the autopath plugin. This is mostly to aid in testing.
Syntax
erratic {
drop [AMOUNT]
truncate [AMOUNT]
delay [AMOUNT [DURATION]]
}
drop: drop 1 per AMOUNT of queries, the default is 2.truncate: truncate 1 per AMOUNT of queries, the default is 2.delay: delay 1 per AMOUNT of queries for DURATION, the default for AMOUNT is 2 and the default for DURATION is 100ms.
Health
This plugin implements dynamic health checking. For every dropped query it turns unhealthy.
Examples
. {
erratic {
drop 3
}
}
Or even shorter if the defaults suits you. Note this only drops queries, it does not delay them.
. {
erratic
}
Delay 1 in 3 queries for 50ms
. {
erratic {
delay 3 50ms
}
}
Delay 1 in 3 and truncate 1 in 5.
. {
erratic {
delay 3 5ms
truncate 5
}
}
Drop every second query.
. {
erratic {
drop 2
truncate 2
}
}