trim the suffix dot from the srv.Target for etcd-client DNS lookup

dependabot/go_modules/go.uber.org/atomic-1.10.0
ahrtr 2022-02-17 07:09:32 +08:00
parent e814f6f78a
commit 5fc0092c87
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{},