From 5c3ee0f2fa63aee2aaeeb9325b46a9e8e441bb53 Mon Sep 17 00:00:00 2001 From: m1093782566 Date: Fri, 2 Feb 2018 14:28:55 +0800 Subject: [PATCH 1/2] check ErrorNotFound in netlink.go to fix cross build error --- pkg/proxy/ipvs/netlink_linux.go | 6 ++++-- pkg/proxy/ipvs/proxier.go | 4 +--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkg/proxy/ipvs/netlink_linux.go b/pkg/proxy/ipvs/netlink_linux.go index 44b08646a22..0f9fe617f49 100644 --- a/pkg/proxy/ipvs/netlink_linux.go +++ b/pkg/proxy/ipvs/netlink_linux.go @@ -57,7 +57,7 @@ func (h *netlinkHandle) EnsureAddressBind(address, devName string) (exist bool, return false, nil } -// UnbindAddress unbind address from the interface +// UnbindAddress makes sure IP address is unbound from the network interface. func (h *netlinkHandle) UnbindAddress(address, devName string) error { dev, err := h.LinkByName(devName) if err != nil { @@ -68,7 +68,9 @@ func (h *netlinkHandle) UnbindAddress(address, devName string) error { return fmt.Errorf("error parse ip address: %s", address) } if err := h.AddrDel(dev, &netlink.Addr{IPNet: netlink.NewIPNet(addr)}); err != nil { - return fmt.Errorf("error unbind address: %s from interface: %s, err: %v", address, devName, err) + if err != unix.ENXIO { + return fmt.Errorf("error unbind address: %s from interface: %s, err: %v", address, devName, err) + } } return nil } diff --git a/pkg/proxy/ipvs/proxier.go b/pkg/proxy/ipvs/proxier.go index cc92745f2de..4d521af8ff2 100644 --- a/pkg/proxy/ipvs/proxier.go +++ b/pkg/proxy/ipvs/proxier.go @@ -51,8 +51,6 @@ import ( utilipvs "k8s.io/kubernetes/pkg/util/ipvs" utilsysctl "k8s.io/kubernetes/pkg/util/sysctl" utilexec "k8s.io/utils/exec" - - "golang.org/x/sys/unix" ) const ( @@ -1705,7 +1703,7 @@ func (proxier *Proxier) cleanLegacyService(atciveServices map[string]bool, curre for _, addr := range unbindIPAddr.UnsortedList() { err := proxier.netlinkHandle.UnbindAddress(addr, DefaultDummyDevice) // Ignore no such address error when try to unbind address - if err != nil && err != unix.ENXIO { + if err != nil { glog.Errorf("Failed to unbind service addr %s from dummy interface %s: %v", addr, DefaultDummyDevice, err) } } From 460573d4115ffc57ea90481872ea3aaee8b86700 Mon Sep 17 00:00:00 2001 From: m1093782566 Date: Fri, 2 Feb 2018 14:41:45 +0800 Subject: [PATCH 2/2] update bazel --- pkg/proxy/ipvs/BUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/proxy/ipvs/BUILD b/pkg/proxy/ipvs/BUILD index 1a81136a61f..0ba9f0e3720 100644 --- a/pkg/proxy/ipvs/BUILD +++ b/pkg/proxy/ipvs/BUILD @@ -93,7 +93,6 @@ go_library( "//pkg/util/sysctl:go_default_library", "//pkg/util/version:go_default_library", "//vendor/github.com/golang/glog:go_default_library", - "//vendor/golang.org/x/sys/unix:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", @@ -103,6 +102,7 @@ go_library( ] + select({ "@io_bazel_rules_go//go/platform:linux": [ "//vendor/github.com/vishvananda/netlink:go_default_library", + "//vendor/golang.org/x/sys/unix:go_default_library", ], "//conditions:default": [], }),