mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 14:07:14 +00:00
Merge pull request #90990 from hasheddan/guestbook
Retry resolving TCP address in agnhost/guestbook
This commit is contained in:
commit
9188bbbdaa
@ -1 +1 @@
|
|||||||
2.16
|
2.17
|
||||||
|
@ -49,7 +49,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
rootCmd := &cobra.Command{Use: "app", Version: "2.16"}
|
rootCmd := &cobra.Command{Use: "app", Version: "2.17"}
|
||||||
|
|
||||||
rootCmd.AddCommand(auditproxy.CmdAuditProxy)
|
rootCmd.AddCommand(auditproxy.CmdAuditProxy)
|
||||||
rootCmd.AddCommand(connect.CmdConnect)
|
rootCmd.AddCommand(connect.CmdConnect)
|
||||||
|
@ -77,19 +77,28 @@ func registerNode(registerTo, port string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
hostPort := net.JoinHostPort(registerTo, backendPort)
|
hostPort := net.JoinHostPort(registerTo, backendPort)
|
||||||
_, err := net.ResolveTCPAddr("tcp", hostPort)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("--slaveof param and/or --backend-port param are invalid. %v", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
request := fmt.Sprintf("register?host=%s", getIP(hostPort).String())
|
|
||||||
log.Printf("Registering to master: %s/%s", hostPort, request)
|
|
||||||
start := time.Now()
|
start := time.Now()
|
||||||
for time.Since(start) < timeout {
|
for time.Since(start) < timeout {
|
||||||
|
host, err := getIP(hostPort)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("unable to get IP %s: %v. Retrying in %s.", hostPort, err, sleep)
|
||||||
|
time.Sleep(sleep)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
request := fmt.Sprintf("register?host=%s", host.String())
|
||||||
|
log.Printf("Registering to master: %s/%s", hostPort, request)
|
||||||
|
_, err = net.ResolveTCPAddr("tcp", hostPort)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("unable to resolve %s, --slaveof param and/or --backend-port param are invalid: %v. Retrying in %s.", hostPort, err, sleep)
|
||||||
|
time.Sleep(sleep)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
response, err := dialHTTP(request, hostPort)
|
response, err := dialHTTP(request, hostPort)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("encountered error while registering to master: %v. Retrying in 1 second.", err)
|
log.Printf("encountered error while registering to master: %v. Retrying in %s.", err, sleep)
|
||||||
time.Sleep(sleep)
|
time.Sleep(sleep)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -285,13 +294,13 @@ func createHTTPClient(transport *http.Transport) *http.Client {
|
|||||||
return client
|
return client
|
||||||
}
|
}
|
||||||
|
|
||||||
func getIP(hostPort string) net.IP {
|
func getIP(hostPort string) (net.IP, error) {
|
||||||
conn, err := net.Dial("udp", hostPort)
|
conn, err := net.Dial("udp", hostPort)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
return []byte{}, err
|
||||||
}
|
}
|
||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
|
|
||||||
localAddr := conn.LocalAddr().(*net.UDPAddr)
|
localAddr := conn.LocalAddr().(*net.UDPAddr)
|
||||||
return localAddr.IP
|
return localAddr.IP, nil
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user