diff --git a/plugin/traffic/lb.go b/plugin/traffic/lb.go index 0bc6617a4..5bff77f37 100644 --- a/plugin/traffic/lb.go +++ b/plugin/traffic/lb.go @@ -4,11 +4,14 @@ import "github.com/miekg/dns" // See https://github.com/grpc/grpc/blob/master/doc/service_config.md for the fields in this proto. // We encode it as json and return it in a TXT field. -var lbTXT = `grpc_config=[{"serviceConfig":{"loadBalancingConfig":[{"xds_experimental":{"lrs_load_reporting_server_name":""}}]}}]` +var lbTXTxds = `grpc_config=[{"serviceConfig":{"loadBalancingConfig":[{"xds_experimental":{"lrs_load_reporting_server_name":""}}]}}]` + +// Current impl. that will be removed in favor of xds +var lbTXTgrpc = `grpc_config=[{"serviceConfig":{"loadBalancingConfig":[{"grpclb":{}}]}}]` func txt(z string) []dns.RR { return []dns.RR{&dns.TXT{ Hdr: dns.RR_Header{Name: z, Rrtype: dns.TypeTXT, Class: dns.ClassINET, Ttl: 5}, - Txt: []string{lbTXT}, + Txt: []string{lbTXTgrpc}, }} } diff --git a/plugin/traffic/setup.go b/plugin/traffic/setup.go index 788461c2c..dfe6b0ccb 100644 --- a/plugin/traffic/setup.go +++ b/plugin/traffic/setup.go @@ -2,7 +2,6 @@ package traffic import ( "crypto/tls" - "encoding/json" "fmt" "math/rand" "strings" @@ -32,9 +31,6 @@ func setup(c *caddy.Controller) error { if err != nil { return plugin.Error("traffic", err) } - if _, err := json.Marshal(lbTXT); err != nil { - return fmt.Errorf("failed to marshal grpc serverConfig: %s", err) - } dnsserver.GetConfig(c).AddPlugin(func(next plugin.Handler) plugin.Handler { t.Next = next diff --git a/plugin/traffic/setup_test.go b/plugin/traffic/setup_test.go index d2e1ec0d2..a14e49ff6 100644 --- a/plugin/traffic/setup_test.go +++ b/plugin/traffic/setup_test.go @@ -15,12 +15,13 @@ func TestSetup(t *testing.T) { } func TestLBTxt(t *testing.T) { - _, err := json.Marshal(lbTXT) - if err != nil { - t.Fatalf("Failed to marshal grpc serverConfig: %s", err) - } - if len(lbTXT) > 255 { - t.Fatalf("Too long grpc serverConfig (>255): %d", len(lbTXT)) + for _, txt := range []string{lbTXTxds, lbTXTgrpc} { + if _, err := json.Marshal(txt); err != nil { + t.Errorf("Failed to marshal grpc serverConfig: %s", err) + } + if len(txt) > 255 { + t.Errorf("Too long grpc serverConfig (>255): %d", len(txt)) + } } }