google-c2p: use new-style resource name for LDS subscription (#5743)

This commit is contained in:
apolcyn
2022-10-31 15:36:43 -07:00
committed by GitHub
parent c858a770aa
commit aa44ccaf84

View File

@ -27,6 +27,7 @@ package googledirectpath
import (
"fmt"
"net/url"
"time"
"google.golang.org/grpc"
@ -49,6 +50,7 @@ import (
const (
c2pScheme = "google-c2p"
c2pExperimentalScheme = "google-c2p-experimental"
c2pAuthority = "traffic-director-c2p.xds.googleapis.com"
tdURL = "dns:///directpath-pa.googleapis.com"
httpReqTimeout = 10 * time.Second
@ -93,6 +95,7 @@ func (c2pResolverBuilder) Build(t resolver.Target, cc resolver.ClientConn, opts
if !runDirectPath() {
// If not xDS, fallback to DNS.
t.Scheme = dnsName
t.URL.Scheme = dnsName
return resolver.Get(dnsName).Build(t, cc, opts)
}
@ -120,7 +123,7 @@ func (c2pResolverBuilder) Build(t resolver.Target, cc resolver.ClientConn, opts
XDSServer: serverConfig,
ClientDefaultListenerResourceNameTemplate: "%s",
Authorities: map[string]*bootstrap.Authority{
"traffic-director-c2p.xds.googleapis.com": {
c2pAuthority: {
XDSServer: serverConfig,
},
},
@ -135,6 +138,16 @@ func (c2pResolverBuilder) Build(t resolver.Target, cc resolver.ClientConn, opts
// Create and return an xDS resolver.
t.Scheme = xdsName
t.URL.Scheme = xdsName
if envconfig.XDSFederation {
t = resolver.Target{
URL: url.URL{
Scheme: xdsName,
Host: c2pAuthority,
Path: t.URL.Path,
},
}
}
xdsR, err := resolver.Get(xdsName).Build(t, cc, opts)
if err != nil {
xdsC.Close()