diff --git a/test/images/agnhost/VERSION b/test/images/agnhost/VERSION index 6d28a11dd0e..5c6fb54899b 100644 --- a/test/images/agnhost/VERSION +++ b/test/images/agnhost/VERSION @@ -1 +1 @@ -2.16 +2.17 diff --git a/test/images/agnhost/agnhost.go b/test/images/agnhost/agnhost.go index bbad09a51b0..618cde93bd0 100644 --- a/test/images/agnhost/agnhost.go +++ b/test/images/agnhost/agnhost.go @@ -49,7 +49,7 @@ import ( ) func main() { - rootCmd := &cobra.Command{Use: "app", Version: "2.16"} + rootCmd := &cobra.Command{Use: "app", Version: "2.17"} rootCmd.AddCommand(auditproxy.CmdAuditProxy) rootCmd.AddCommand(connect.CmdConnect) diff --git a/test/images/agnhost/guestbook/guestbook.go b/test/images/agnhost/guestbook/guestbook.go index 9c63e44b307..adca83e1438 100644 --- a/test/images/agnhost/guestbook/guestbook.go +++ b/test/images/agnhost/guestbook/guestbook.go @@ -77,19 +77,28 @@ func registerNode(registerTo, port string) { } 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() 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) 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) continue } @@ -285,13 +294,13 @@ func createHTTPClient(transport *http.Transport) *http.Client { return client } -func getIP(hostPort string) net.IP { +func getIP(hostPort string) (net.IP, error) { conn, err := net.Dial("udp", hostPort) if err != nil { - log.Fatal(err) + return []byte{}, err } defer conn.Close() localAddr := conn.LocalAddr().(*net.UDPAddr) - return localAddr.IP + return localAddr.IP, nil }