Consul setting a_record_limit still requires deprecated setting udp_answer_limit to be set in some scenarios
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 39
Description
After spending some time diagnosing issues where an external public facing service was registered in Consul (AWS Service) and us not being able to establish a TCP connection via the consul DNS name registered we noticed that CNAME wasn't always returning the resolved IP Address. This ONLY occurred inside a container and NEVER on the host itself (dns resolution worked fine). We found that setting this deprecated setting https://www.consul.io/docs/agent/options#udp_answer_limit to "99" resolved the issue BUT according to the Consul docs were should be using https://www.consul.io/docs/agent/options#a_record_limit which has no limit. Looks like either the behavior isn't as expected or the setting scheduled for deprecation should be kept around.
Happy to provide detailed dumps if necessary.
Thanks
Ian
edit: Here's the setting we needed to add
```
dns_config {
udp_answer_limit = 99
service_ttl = {
"*"= "5s"
}
}
```
Contributor guide
Research direction
No source files or tests are named. Start by reproducing the CNAME lookup inside a container and on the host with only a_record_limit configured, then compare it with udp_answer_limit set to 99; done means the documented setting works without the deprecated option, or the configuration documentation clearly reflects the required behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100