浏览代码

Merge pull request #7454 from bdudelsack/gateway-dns-discovery

gateway: fix the dns discovery method
Anthony Romano 8 年之前
父节点
当前提交
9713b1f3ef
共有 1 个文件被更改,包括 18 次插入0 次删除
  1. 18 0
      etcdmain/gateway.go

+ 18 - 0
etcdmain/gateway.go

@@ -17,6 +17,7 @@ package etcdmain
 import (
 import (
 	"fmt"
 	"fmt"
 	"net"
 	"net"
+	"net/url"
 	"os"
 	"os"
 	"time"
 	"time"
 
 
@@ -77,6 +78,20 @@ func newGatewayStartCommand() *cobra.Command {
 	return &cmd
 	return &cmd
 }
 }
 
 
+func stripSchema(eps []string) []string {
+	var endpoints []string
+
+	for _, ep := range eps {
+
+		if u, err := url.Parse(ep); err == nil && u.Host != "" {
+			ep = u.Host
+		}
+
+		endpoints = append(endpoints, ep)
+	}
+
+	return endpoints
+}
 func startGateway(cmd *cobra.Command, args []string) {
 func startGateway(cmd *cobra.Command, args []string) {
 	endpoints := gatewayEndpoints
 	endpoints := gatewayEndpoints
 	if gatewayDNSCluster != "" {
 	if gatewayDNSCluster != "" {
@@ -101,6 +116,9 @@ func startGateway(cmd *cobra.Command, args []string) {
 		}
 		}
 	}
 	}
 
 
+	// Strip the schema from the endpoints because we start just a TCP proxy
+	endpoints = stripSchema(endpoints)
+
 	if len(endpoints) == 0 {
 	if len(endpoints) == 0 {
 		plog.Fatalf("no endpoints found")
 		plog.Fatalf("no endpoints found")
 	}
 	}