Merge pull request #13712 from ahrtr/correct_dns_etcd_client

Trim the suffix dot from the srv.Target for etcd-client DNS lookup
This commit is contained in:
Marek Siarkowicz 2022-02-18 12:06:48 +01:00 committed by GitHub
commit 20bf96dc40
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 3 deletions

View File

@ -16,6 +16,7 @@ See [code changes](https://github.com/etcd-io/etcd/compare/v3.5.0...v3.6.0).
- Add command to generate [shell completion](https://github.com/etcd-io/etcd/pull/13133).
- When print endpoint status, [show db size in use](https://github.com/etcd-io/etcd/pull/13639)
- [Trim the suffix dot from the target](https://github.com/etcd-io/etcd/pull/13712) in SRV records returned by DNS lookup.
### etcdutl v3

View File

@ -106,9 +106,10 @@ func GetClient(service, domain string, serviceName string) (*SRVClients, error)
return err
}
for _, srv := range addrs {
shortHost := strings.TrimSuffix(srv.Target, ".")
urls = append(urls, &url.URL{
Scheme: scheme,
Host: net.JoinHostPort(srv.Target, fmt.Sprintf("%d", srv.Port)),
Host: net.JoinHostPort(shortHost, fmt.Sprintf("%d", srv.Port)),
})
}
srvs = append(srvs, addrs...)

View File

@ -226,8 +226,8 @@ func TestSRVDiscover(t *testing.T) {
},
{
[]*net.SRV{
{Target: "a.example.com", Port: 2480},
{Target: "b.example.com", Port: 2480},
{Target: "a.example.com.", Port: 2480},
{Target: "b.example.com.", Port: 2480},
{Target: "c.example.com", Port: 2480},
},
[]*net.SRV{},