From 591be2d08f9b4282259aad9f95335f79acb17490 Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Sat, 8 Sep 2018 13:29:43 +0000 Subject: [PATCH] Refactor: Introduce an interface so weave client can be mocked --- prog/kube-utils/main.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/prog/kube-utils/main.go b/prog/kube-utils/main.go index cc8018f5..c2892d3f 100644 --- a/prog/kube-utils/main.go +++ b/prog/kube-utils/main.go @@ -58,9 +58,13 @@ func getKubePeers(c kubernetes.Interface, includeWithNoIPAddr bool) ([]nodeInfo, return addresses, nil } +type weaveClient interface { + RmPeer(peerName string) (string, error) +} + // For each of those peers that is no longer listed as a node by // Kubernetes, remove it from Weave IPAM -func reclaimRemovedPeers(weave *weaveapi.Client, cml *configMapAnnotations, nodes []nodeInfo, myPeerName, myNodeName string) error { +func reclaimRemovedPeers(weave weaveClient, cml *configMapAnnotations, nodes []nodeInfo, myPeerName, myNodeName string) error { for loopsWhenNothingChanged := 0; loopsWhenNothingChanged < 3; loopsWhenNothingChanged++ { if err := cml.Init(); err != nil { return err