diff --git a/pkg/core/udpovertcp.go b/pkg/core/udpovertcp.go index f68eb181..4f6b6bcf 100644 --- a/pkg/core/udpovertcp.go +++ b/pkg/core/udpovertcp.go @@ -36,7 +36,8 @@ func readDatagramPacket(r io.Reader, b []byte) (*datagramPacket, error) { return nil, err } dataLength := binary.BigEndian.Uint16(b[:2]) - if _, err = io.ReadFull(r, b[:dataLength]); err != nil && (err != io.ErrUnexpectedEOF || err != io.EOF) { + _, err = io.ReadFull(r, b[:dataLength]) + if err != nil && (err != io.ErrUnexpectedEOF || err != io.EOF) { return nil, err } return &datagramPacket{DataLength: dataLength, Data: b[:dataLength]}, nil diff --git a/pkg/handler/cleaner.go b/pkg/handler/cleaner.go index e19cb8eb..f8464710 100644 --- a/pkg/handler/cleaner.go +++ b/pkg/handler/cleaner.go @@ -30,7 +30,8 @@ func (c *ConnectOptions) addCleanUpResourceHandler(clientset *kubernetes.Clients <-stopChan log.Info("prepare to exit, cleaning up") dns.CancelDNS() - if err := c.dhcp.ReleaseIpToDHCP(c.usedIPs...); err != nil { + err := c.dhcp.ReleaseIpToDHCP(c.usedIPs...) + if err != nil { log.Errorf("failed to release ip to dhcp, err: %v", err) } cancel() @@ -54,28 +55,30 @@ func Cleanup(s os.Signal) { // vendor/k8s.io/kubectl/pkg/polymorphichelpers/rollback.go:99 func updateServiceRefCount(serviceInterface v12.ServiceInterface, name string, increment int) { - if err := retry.OnError(retry.DefaultRetry, func(err error) bool { - return !k8serrors.IsNotFound(err) - }, func() error { - service, err := serviceInterface.Get(context.TODO(), name, v1.GetOptions{}) - if err != nil { - log.Errorf("update ref-count failed, increment: %d, error: %v", increment, err) + err := retry.OnError( + retry.DefaultRetry, + func(err error) bool { return !k8serrors.IsNotFound(err) }, + func() error { + service, err := serviceInterface.Get(context.TODO(), name, v1.GetOptions{}) + if err != nil { + log.Errorf("update ref-count failed, increment: %d, error: %v", increment, err) + return err + } + curCount := 0 + if ref := service.GetAnnotations()["ref-count"]; len(ref) > 0 { + curCount, err = strconv.Atoi(ref) + } + p, _ := json.Marshal([]interface{}{ + map[string]interface{}{ + "op": "replace", + "path": "/metadata/annotations/ref-count", + "value": strconv.Itoa(curCount + increment), + }, + }) + _, err = serviceInterface.Patch(context.TODO(), config.ConfigMapPodTrafficManager, types.JSONPatchType, p, v1.PatchOptions{}) return err - } - curCount := 0 - if ref := service.GetAnnotations()["ref-count"]; len(ref) > 0 { - curCount, err = strconv.Atoi(ref) - } - p, _ := json.Marshal([]interface{}{ - map[string]interface{}{ - "op": "replace", - "path": "/metadata/annotations/ref-count", - "value": strconv.Itoa(curCount + increment), - }, }) - _, err = serviceInterface.Patch(context.TODO(), config.ConfigMapPodTrafficManager, types.JSONPatchType, p, v1.PatchOptions{}) - return err - }); err != nil { + if err != nil { log.Errorf("update ref count error, error: %v", err) } else { log.Info("update ref count successfully") diff --git a/pkg/handler/dhcp.go b/pkg/handler/dhcp.go index 69e4fc5f..9f3a1b13 100644 --- a/pkg/handler/dhcp.go +++ b/pkg/handler/dhcp.go @@ -33,13 +33,13 @@ func NewDHCPManager(client corev1.ConfigMapInterface, namespace string, cidr *ne // todo optimize dhcp, using mac address, ip and deadline as unit func (d *DHCPManager) InitDHCP() error { configMap, err := d.client.Get(context.Background(), config.ConfigMapPodTrafficManager, metav1.GetOptions{}) - if err == nil && configMap != nil { + if err == nil { if _, found := configMap.Data[config.KeyEnvoy]; !found { _, err = d.client.Patch( context.Background(), configMap.Name, types.MergePatchType, - []byte(fmt.Sprintf("{\"data\":{\"%s\":\"%s\"}}", config.KeyEnvoy, "")), + []byte(fmt.Sprintf(`{"data":{"%s":"%s"}}`, config.KeyEnvoy, "")), metav1.PatchOptions{}, ) return err @@ -121,7 +121,8 @@ func (d *DHCPManager) updateDHCPConfigMap(f func(*ipallocator.Range) error) erro if err != nil { return err } - if err = dhcp.Restore(d.cidr, []byte(cm.Data[config.KeyDHCP])); err != nil { + err = dhcp.Restore(d.cidr, []byte(cm.Data[config.KeyDHCP])) + if err != nil { return err } if err = f(dhcp); err != nil { diff --git a/pkg/handler/envoy.go b/pkg/handler/envoy.go index 32440b66..72ac9a3e 100644 --- a/pkg/handler/envoy.go +++ b/pkg/handler/envoy.go @@ -77,22 +77,26 @@ func InjectVPNAndEnvoySidecar(factory cmdutil.Factory, clientset v12.ConfigMapIn b, _ := json.Marshal(restorePatch) mesh.AddMeshContainer(templateSpec, nodeID, c) helper := pkgresource.NewHelper(object.Client, object.Mapping) - ps := []P{{ - Op: "replace", - Path: "/" + strings.Join(append(path, "spec"), "/"), - Value: templateSpec.Spec, - }, { - Op: "replace", - Path: "/metadata/annotations/probe", - Value: b, - }} + ps := []P{ + { + Op: "replace", + Path: "/" + strings.Join(append(path, "spec"), "/"), + Value: templateSpec.Spec, + }, + { + Op: "replace", + Path: "/metadata/annotations/probe", + Value: b, + }, + } bytes, err := json.Marshal(append(ps, removePatch...)) if err != nil { return err } _, err = helper.Patch(object.Namespace, object.Name, types.JSONPatchType, bytes, &metav1.PatchOptions{}) if err != nil { - log.Warnf("error while remove probe of resource: %s %s, ignore, err: %v", object.Mapping.GroupVersionKind.GroupKind().String(), object.Name, err) + log.Warnf("error while path resource: %s %s, err: %v", object.Mapping.GroupVersionKind.GroupKind().String(), object.Name, err) + return err } RollbackFuncList = append(RollbackFuncList, func() { diff --git a/pkg/util/util.go b/pkg/util/util.go index c5947dd7..255cec63 100644 --- a/pkg/util/util.go +++ b/pkg/util/util.go @@ -311,7 +311,8 @@ func Ping(targetIP string) (bool, error) { if err != nil { return false, nil } - if _, err = conn.WriteTo(data, &net.IPAddr{IP: net.ParseIP(targetIP)}); err != nil { + _, err = conn.WriteTo(data, &net.IPAddr{IP: net.ParseIP(targetIP)}) + if err != nil { return false, err } @@ -486,7 +487,7 @@ func IsPortListening(port int) bool { if err != nil { return true } else { - listener.Close() + _ = listener.Close() return false } }