From 24c2743a587c869f45e1baf46b29353e0c8da784 Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Tue, 25 Apr 2017 12:48:09 +0000 Subject: [PATCH] Check addresses are IPv4 in kube-peers --- prog/kube-peers/main.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/prog/kube-peers/main.go b/prog/kube-peers/main.go index 8320e626..70bb7c3f 100644 --- a/prog/kube-peers/main.go +++ b/prog/kube-peers/main.go @@ -3,6 +3,7 @@ package main import ( "fmt" "log" + "net" "k8s.io/client-go/kubernetes" api "k8s.io/client-go/pkg/api/v1" @@ -37,10 +38,15 @@ func getKubePeers() ([]string, error) { for _, peer := range nodeList.Items { var internalIP, externalIP string for _, addr := range peer.Status.Addresses { + // Check it's a valid ipv4 address + ip := net.ParseIP(addr.Address) + if ip == nil || ip.To4() == nil { + continue + } if addr.Type == "InternalIP" { - internalIP = addr.Address + internalIP = ip.To4().String() } else if addr.Type == "ExternalIP" { - externalIP = addr.Address + externalIP = ip.To4().String() } }