hashicorp / hashicorp/consul

Consul setting a_record_limit still requires deprecated setting udp_answer_limit to be set in some scenarios

Open
#10,694 7 comments 0 reactions 0 assignees View on GitHub
theme/dns type/docs
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.