diff --git a/cmd/daemon/cniserver.go b/cmd/daemon/cniserver.go index 413f4fb1cdb..67b17a618b0 100644 --- a/cmd/daemon/cniserver.go +++ b/cmd/daemon/cniserver.go @@ -127,6 +127,7 @@ func mvCNIConf(configDir, configFile, confName string) error { // #nosec data, err := os.ReadFile(configFile) if err != nil { + klog.Errorf("failed to read cni config file %s, %v", configFile, err) return err } diff --git a/pkg/controller/config.go b/pkg/controller/config.go index 8767ddd4d25..b567e8ee6f3 100644 --- a/pkg/controller/config.go +++ b/pkg/controller/config.go @@ -259,6 +259,7 @@ func ParseFlags() (*Configuration, error) { if config.DefaultGateway == "" { gw, err := util.GetGwByCidr(config.DefaultCIDR) if err != nil { + klog.Error(err) return nil, err } config.DefaultGateway = gw @@ -271,6 +272,7 @@ func ParseFlags() (*Configuration, error) { if config.NodeSwitchGateway == "" { gw, err := util.GetGwByCidr(config.NodeSwitchCIDR) if err != nil { + klog.Error(err) return nil, err } config.NodeSwitchGateway = gw diff --git a/pkg/controller/endpoint.go b/pkg/controller/endpoint.go index e0cc64ac157..e53727717a4 100644 --- a/pkg/controller/endpoint.go +++ b/pkg/controller/endpoint.go @@ -100,6 +100,7 @@ func (c *Controller) handleUpdateEndpoint(key string) error { if errors.IsNotFound(err) { return nil } + klog.Error(err) return err } @@ -108,6 +109,7 @@ func (c *Controller) handleUpdateEndpoint(key string) error { if errors.IsNotFound(err) { return nil } + klog.Error(err) return err } svc := cachedService.DeepCopy() diff --git a/pkg/controller/external_vpc.go b/pkg/controller/external_vpc.go index b5bc07471db..0c08957d797 100644 --- a/pkg/controller/external_vpc.go +++ b/pkg/controller/external_vpc.go @@ -36,7 +36,7 @@ func (c *Controller) syncExternalVpc() { } _, err = c.config.KubeOvnClient.KubeovnV1().Vpcs().UpdateStatus(context.Background(), vpc, metav1.UpdateOptions{}) if err != nil { - klog.V(4).Infof("update vpc %s status failed", vpcName) + klog.Errorf("update vpc %s status failed: %v", vpcName, err) continue } delete(logicalRouters, vpcName) @@ -44,10 +44,10 @@ func (c *Controller) syncExternalVpc() { } else { err = c.config.KubeOvnClient.KubeovnV1().Vpcs().Delete(context.Background(), vpcName, metav1.DeleteOptions{}) if err != nil { - klog.V(4).Infof("delete vpc %s failed", vpcName) + klog.Error("delete vpc %s failed: %v", vpcName, err) continue } - klog.V(4).Infof("delete vpc %s ", vpcName) + klog.Infof("deleted vpc %s ", vpcName) } } if len(logicalRouters) != 0 { diff --git a/pkg/controller/gc.go b/pkg/controller/gc.go index e80817b7f7e..aa326d8f24d 100644 --- a/pkg/controller/gc.go +++ b/pkg/controller/gc.go @@ -395,6 +395,7 @@ func (c *Controller) gcLoadBalancer() error { // remove lb from logical switch vpcs, err := c.vpcsLister.List(labels.Everything()) if err != nil { + klog.Error(err) return err } for _, cachedVpc := range vpcs { @@ -405,6 +406,7 @@ func (c *Controller) gcLoadBalancer() error { if k8serrors.IsNotFound(err) { continue } + klog.Error(err) return err } if !isOvnSubnet(subnet) { @@ -425,10 +427,12 @@ func (c *Controller) gcLoadBalancer() error { vpc.Status.SctpSessionLoadBalancer = "" bytes, err := vpc.Status.Bytes() if err != nil { + klog.Error(err) return err } _, err = c.config.KubeOvnClient.KubeovnV1().Vpcs().Patch(context.Background(), vpc.Name, types.MergePatchType, bytes, metav1.PatchOptions{}, "status") if err != nil { + klog.Error(err) return err } } diff --git a/pkg/controller/init.go b/pkg/controller/init.go index 51cb171513f..820b7afe639 100644 --- a/pkg/controller/init.go +++ b/pkg/controller/init.go @@ -86,6 +86,7 @@ func (c *Controller) InitDefaultVpc() error { bytes, err := vpc.Status.Bytes() if err != nil { + klog.Error(err) return err } _, err = c.config.KubeOvnClient.KubeovnV1().Vpcs().Patch(context.Background(), vpc.Name, types.MergePatchType, bytes, metav1.PatchOptions{}, "status") @@ -263,10 +264,12 @@ func (c *Controller) initLoadBalancer() error { vpc.Status.SctpSessionLoadBalancer = vpcLb.SctpSessLoadBalancer bytes, err := vpc.Status.Bytes() if err != nil { + klog.Error(err) return err } _, err = c.config.KubeOvnClient.KubeovnV1().Vpcs().Patch(context.Background(), vpc.Name, types.MergePatchType, bytes, metav1.PatchOptions{}, "status") if err != nil { + klog.Error(err) return err } } @@ -588,6 +591,7 @@ func (c *Controller) initDefaultVlan() error { } if err := c.initDefaultProviderNetwork(); err != nil { + klog.Error(err) return err } @@ -664,6 +668,7 @@ func (c *Controller) initSyncCrdSubnets() error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } for _, orisubnet := range subnets { @@ -745,6 +750,7 @@ func (c *Controller) initSyncCrdVlans() error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } diff --git a/pkg/controller/inspection.go b/pkg/controller/inspection.go index 6fc40326ed8..3333104ae75 100644 --- a/pkg/controller/inspection.go +++ b/pkg/controller/inspection.go @@ -43,6 +43,7 @@ func (c *Controller) inspectPod() error { portName := ovs.PodNameToPortName(podName, pod.Namespace, podNet.ProviderName) exists, err := c.ovnClient.LogicalSwitchPortExists(portName) if err != nil { + klog.Errorf("failed to check port %s exists, %v", portName, err) return err } @@ -51,6 +52,7 @@ func (c *Controller) inspectPod() error { delete(pod.Annotations, fmt.Sprintf(util.RoutedAnnotationTemplate, podNet.ProviderName)) patch, err := util.GenerateStrategicMergePatchPayload(oriPod, pod) if err != nil { + klog.Errorf("failed to generate patch payload, %v", err) return err } if _, err := c.config.KubeClient.CoreV1().Pods(pod.Namespace).Patch(context.Background(), pod.Name, diff --git a/pkg/controller/ovn-ic.go b/pkg/controller/ovn-ic.go index 54661281584..a285f7969ac 100644 --- a/pkg/controller/ovn-ic.go +++ b/pkg/controller/ovn-ic.go @@ -323,6 +323,7 @@ func (c *Controller) startOvnIC(icHost, icNbPort, icSbPort string) error { } output, err := cmd.CombinedOutput() if err != nil { + klog.Error(err) return fmt.Errorf("%s", output) } return nil @@ -332,6 +333,7 @@ func (c *Controller) stopOvnIC() error { cmd := exec.Command("/usr/share/ovn/scripts/ovn-ctl", "stop_ic") output, err := cmd.CombinedOutput() if err != nil { + klog.Error(err) return fmt.Errorf("%s", output) } return nil @@ -342,6 +344,7 @@ func (c *Controller) waitTsReady() error { for retry > 0 { ready, err := c.allSubnetReady(util.InterconnectionSwitch) if err != nil { + klog.Error(err) return err } @@ -406,16 +409,19 @@ func (c *Controller) RemoveOldChassisInSbDB(azName string) error { azUUID, err := c.ovnLegacyClient.GetAzUUID(azName) if err != nil { klog.Errorf("failed to get UUID of AZ %s: %v", lastIcCm["az-name"], err) + return err } gateways, err := c.ovnLegacyClient.GetGatewayUUIDsInOneAZ(azUUID) if err != nil { klog.Errorf("failed to get gateway UUIDs in AZ %s: %v", azUUID, err) + return err } routes, err := c.ovnLegacyClient.GetRouteUUIDsInOneAZ(azUUID) if err != nil { klog.Errorf("failed to get route UUIDs in AZ %s: %v", azUUID, err) + return err } c.ovnLegacyClient.DestroyGateways(gateways) @@ -504,6 +510,7 @@ func (c *Controller) listRemoteLogicalSwitchPortAddress() (*strset.Set, error) { return lsp.Type == "remote" }) if err != nil { + klog.Error(err) return nil, fmt.Errorf("list remote logical switch ports: %v", err) } diff --git a/pkg/controller/ovn_dnat.go b/pkg/controller/ovn_dnat.go index 088d5048253..a2e05789fe1 100644 --- a/pkg/controller/ovn_dnat.go +++ b/pkg/controller/ovn_dnat.go @@ -183,6 +183,7 @@ func (c *Controller) isOvnDnatDuplicated(eipName, dnatName, externalPort string) })) if err != nil { if !k8serrors.IsNotFound(err) { + klog.Error(err) return false, err } } @@ -203,6 +204,7 @@ func (c *Controller) handleAddOvnDnatRule(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } @@ -318,6 +320,7 @@ func (c *Controller) handleDelOvnDnatRule(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } @@ -345,6 +348,7 @@ func (c *Controller) handleUpdateOvnDnatRule(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } @@ -458,6 +462,7 @@ func (c *Controller) patchOvnDnatAnnotations(key, eipName string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } @@ -495,6 +500,7 @@ func (c *Controller) patchOvnDnatStatus(key, vpcName, v4Eip, podIp, podMac strin if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } dnat := oriDnat.DeepCopy() @@ -562,6 +568,7 @@ func (c *Controller) patchOvnDnatStatus(key, vpcName, v4Eip, podIp, podMac strin if changed { bytes, err := dnat.Status.Bytes() if err != nil { + klog.Error(err) return err } if _, err = c.config.KubeOvnClient.KubeovnV1().OvnDnatRules().Patch(context.Background(), dnat.Name, diff --git a/pkg/controller/ovn_eip.go b/pkg/controller/ovn_eip.go index b1f5c767036..b47a70dde67 100644 --- a/pkg/controller/ovn_eip.go +++ b/pkg/controller/ovn_eip.go @@ -217,6 +217,7 @@ func (c *Controller) handleAddOvnEip(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if cachedEip.Status.MacAddress != "" { @@ -281,6 +282,7 @@ func (c *Controller) handleUpdateOvnEip(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } klog.V(3).Infof("handle update ovn eip %s", cachedEip.Name) @@ -316,6 +318,7 @@ func (c *Controller) handleResetOvnEip(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if !cachedEip.DeletionTimestamp.IsZero() { @@ -384,6 +387,7 @@ func (c *Controller) createOrUpdateCrdOvnEip(key, subnet, v4ip, v6ip, mac, usage }, metav1.CreateOptions{}) if err != nil { err := fmt.Errorf("failed to create crd ovn eip '%s', %v", key, err) + klog.Error(err) return err } // wait local cache ready @@ -513,6 +517,7 @@ func (c *Controller) natLabelAndAnnoOvnEip(eipName, natName, vpcName string) err if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } eip := cachedEip.DeepCopy() diff --git a/pkg/controller/ovn_fip.go b/pkg/controller/ovn_fip.go index 7b3910d9a05..bf9eafbd4bb 100644 --- a/pkg/controller/ovn_fip.go +++ b/pkg/controller/ovn_fip.go @@ -195,6 +195,7 @@ func (c *Controller) handleAddOvnFip(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if cachedFip.Status.Ready && cachedFip.Status.V4Ip != "" { @@ -406,6 +407,7 @@ func (c *Controller) handleDelOvnFip(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } eipName := cachedFip.Spec.OvnEip @@ -430,6 +432,7 @@ func (c *Controller) patchOvnFipAnnotations(key, eipName string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } fip := oriFip.DeepCopy() @@ -466,6 +469,7 @@ func (c *Controller) patchOvnFipStatus(key, vpcName, v4Eip, podIp, podMac string if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } fip := oriFip.DeepCopy() @@ -510,6 +514,7 @@ func (c *Controller) patchOvnFipStatus(key, vpcName, v4Eip, podIp, podMac string if changed { bytes, err := fip.Status.Bytes() if err != nil { + klog.Error(err) return err } if _, err = c.config.KubeOvnClient.KubeovnV1().OvnFips().Patch(context.Background(), fip.Name, diff --git a/pkg/controller/ovn_snat.go b/pkg/controller/ovn_snat.go index 83ac1c9bce0..918b9c46cb5 100644 --- a/pkg/controller/ovn_snat.go +++ b/pkg/controller/ovn_snat.go @@ -177,6 +177,7 @@ func (c *Controller) handleAddOvnSnatRule(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if cachedSnat.Status.Ready && cachedSnat.Status.V4IpCidr != "" { @@ -272,6 +273,7 @@ func (c *Controller) handleUpdateOvnSnatRule(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } klog.V(3).Infof("handle update ovn snat %s", key) @@ -376,6 +378,7 @@ func (c *Controller) patchOvnSnatStatus(key, vpc, v4Eip, v4IpCidr string, ready if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } snat := oriSnat.DeepCopy() @@ -436,6 +439,7 @@ func (c *Controller) patchOvnSnatAnnotation(key, eipName string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } snat := oriFip.DeepCopy() diff --git a/pkg/controller/pod.go b/pkg/controller/pod.go index cc768b2afb2..fcd7ebdb595 100644 --- a/pkg/controller/pod.go +++ b/pkg/controller/pod.go @@ -487,11 +487,13 @@ func (c *Controller) processNextUpdatePodSecurityWorkItem() bool { func (c *Controller) getPodKubeovnNets(pod *v1.Pod) ([]*kubeovnNet, error) { defaultSubnet, err := c.getPodDefaultSubnet(pod) if err != nil { + klog.Error(err) return nil, err } attachmentNets, err := c.getPodAttachmentNet(pod) if err != nil { + klog.Error(err) return nil, err } @@ -557,6 +559,7 @@ func (c *Controller) handleAddOrUpdatePod(key string) (err error) { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } pod := cachedPod.DeepCopy() @@ -612,6 +615,7 @@ func (c *Controller) reconcileAllocateSubnets(cachedPod, pod *v1.Pod, needAlloca v4IP, v6IP, mac, subnet, err := c.acquireAddress(pod, podNet) if err != nil { c.recorder.Eventf(pod, v1.EventTypeWarning, "AcquireAddressFailed", err.Error()) + klog.Error(err) return nil, err } ipStr := util.GetStringIP(v4IP, v6IP) @@ -663,6 +667,7 @@ func (c *Controller) reconcileAllocateSubnets(cachedPod, pod *v1.Pod, needAlloca if subnet.Spec.Vlan != "" { vlan, err := c.vlansLister.Get(subnet.Spec.Vlan) if err != nil { + klog.Error(err) c.recorder.Eventf(pod, v1.EventTypeWarning, "GetVlanInfoFailed", err.Error()) return nil, err } @@ -810,6 +815,7 @@ func (c *Controller) reconcileRouteSubnets(cachedPod, pod *v1.Pod, needRoutePodN if subnet.Spec.GatewayType == kubeovnv1.GWDistributedType && pod.Annotations[util.NorthGatewayAnnotation] == "" { nodeTunlIPAddr, err := getNodeTunlIP(node) if err != nil { + klog.Error(err) return err } @@ -933,12 +939,14 @@ func (c *Controller) handleDeletePod(key string) error { if k8serrors.IsNotFound(err) { continue } else if err != nil { + klog.Error(err) return err } vpc, err := c.vpcsLister.Get(subnet.Spec.Vpc) if k8serrors.IsNotFound(err) { continue } else if err != nil { + klog.Error(err) return err } // If pod has snat or eip, also need delete staticRoute when delete pod @@ -1029,6 +1037,7 @@ func (c *Controller) handleUpdatePodSecurity(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } podName := c.getNameByPod(pod) @@ -1229,6 +1238,7 @@ func (c *Controller) podNeedSync(pod *v1.Pod) (bool, error) { // 3. check multus subnet attachmentNets, err := c.getPodAttachmentNet(pod) if err != nil { + klog.Error(err) return false, err } for _, n := range attachmentNets { @@ -1536,10 +1546,12 @@ func (c *Controller) acquireAddress(pod *v1.Pod, podNet *kubeovnNet) (string, st ipv4, ipv6, mac, err := c.ipam.GetRandomAddress(key, portName, macStr, podNet.Subnet.Name, "", skippedAddrs, !podNet.AllowLiveMigration) if err != nil { + klog.Error(err) return "", "", "", podNet.Subnet, err } ipv4OK, ipv6OK, err := c.validatePodIP(pod.Name, podNet.Subnet.Name, ipv4, ipv6) if err != nil { + klog.Error(err) return "", "", "", podNet.Subnet, err } if ipv4OK && ipv6OK { diff --git a/pkg/controller/pod_iptables_eip.go b/pkg/controller/pod_iptables_eip.go index d8205373678..df897e1cb4d 100644 --- a/pkg/controller/pod_iptables_eip.go +++ b/pkg/controller/pod_iptables_eip.go @@ -222,7 +222,7 @@ func (c *Controller) processNextDeletePodAnnotatedIptablesEipWorkItem() bool { func (c *Controller) handleAddPodAnnotatedIptablesEip(key string) error { namespace, name, err := cache.SplitMetaNamespaceKey(key) if err != nil { - utilruntime.HandleError(fmt.Errorf("invalid resource key: %s", key)) + klog.Error(err) return nil } cachedPod, err := c.podsLister.Pods(namespace).Get(name) @@ -230,6 +230,7 @@ func (c *Controller) handleAddPodAnnotatedIptablesEip(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if cachedPod.Annotations[util.FipEnableAnnotation] != "true" { @@ -250,6 +251,7 @@ func (c *Controller) handleAddPodAnnotatedIptablesEip(key string) error { newPod := cachedPod.DeepCopy() if newPod.Annotations[util.AllocatedAnnotation] != "true" { err = fmt.Errorf("pod network not allocated, failed to create iptables eip %s", eipName) + klog.Error(err) return err } if eip, err := c.iptablesEipsLister.Get(eipName); err != nil { @@ -280,6 +282,7 @@ func (c *Controller) handleAddPodAnnotatedIptablesEip(key string) error { newPod.Annotations[util.EipAnnotation] = eip.Status.IP patch, err := util.GenerateStrategicMergePatchPayload(cachedPod, newPod) if err != nil { + klog.Error(err) return err } if _, err := c.config.KubeClient.CoreV1().Pods(namespace).Patch(context.Background(), name, diff --git a/pkg/controller/pod_iptables_fip.go b/pkg/controller/pod_iptables_fip.go index dc7b210ea19..73ac83a80cb 100644 --- a/pkg/controller/pod_iptables_fip.go +++ b/pkg/controller/pod_iptables_fip.go @@ -217,6 +217,7 @@ func (c *Controller) handleAddPodAnnotatedIptablesFip(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if cachedPod.Annotations[util.FipEnableAnnotation] != "true" { @@ -255,6 +256,7 @@ func (c *Controller) handleAddPodAnnotatedIptablesFip(key string) error { newPod.Annotations[util.FipNameAnnotation] = fipName patch, err := util.GenerateStrategicMergePatchPayload(cachedPod, newPod) if err != nil { + klog.Error(err) return err } if _, err := c.config.KubeClient.CoreV1().Pods(namespace).Patch(context.Background(), name, diff --git a/pkg/controller/qos_policy.go b/pkg/controller/qos_policy.go index 64e01d38565..42e8c199b46 100644 --- a/pkg/controller/qos_policy.go +++ b/pkg/controller/qos_policy.go @@ -192,6 +192,7 @@ func (c *Controller) handleAddQoSPolicy(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } @@ -229,6 +230,7 @@ func (c *Controller) patchQoSStatus( if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } qos := oriQoS.DeepCopy() @@ -237,6 +239,7 @@ func (c *Controller) patchQoSStatus( qos.Status.BandwidthLimitRules = bandwidthRules bytes, err := qos.Status.Bytes() if err != nil { + klog.Error(err) return err } if _, err = c.config.KubeOvnClient.KubeovnV1().QoSPolicies().Patch(context.Background(), qos.Name, @@ -256,6 +259,7 @@ func (c *Controller) handleDelQoSPoliciesFinalizer(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if len(cachedQoSPolicies.Finalizers) == 0 { @@ -393,6 +397,7 @@ func (c *Controller) handleUpdateQoSPolicy(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } // should delete @@ -511,6 +516,7 @@ func (c *Controller) handleAddQoSPolicyFinalizer(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if cachedQoSPolicy.DeletionTimestamp.IsZero() { diff --git a/pkg/controller/security_group.go b/pkg/controller/security_group.go index 8c7bf78a7b4..daa73ec6e0b 100644 --- a/pkg/controller/security_group.go +++ b/pkg/controller/security_group.go @@ -206,6 +206,7 @@ func (c *Controller) updateDenyAllSgPorts() error { sgs := strings.Split(lsp.ExternalIDs[sgsKey], "/") allNotExist, err := c.securityGroupAllNotExist(sgs) if err != nil { + klog.Error(err) return err } @@ -244,6 +245,7 @@ func (c *Controller) handleAddOrUpdateSg(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } sg := cachedSg.DeepCopy() @@ -531,6 +533,7 @@ func (c *Controller) securityGroupAllNotExist(sgs []string) (bool, error) { for _, sg := range sgs { ok, err := c.ovnClient.PortGroupExists(ovs.GetSgPortGroupName(sg)) if err != nil { + klog.Error(err) return true, err } diff --git a/pkg/controller/service.go b/pkg/controller/service.go index bfab9b78004..c9d7252c31d 100644 --- a/pkg/controller/service.go +++ b/pkg/controller/service.go @@ -236,6 +236,7 @@ func (c *Controller) processNextUpdateServiceWorkItem() bool { func (c *Controller) handleDeleteService(service *vpcService) error { key, err := cache.MetaNamespaceKeyFunc(service.Svc) if err != nil { + klog.Error(err) utilruntime.HandleError(fmt.Errorf("failed to get meta namespace key of %#v: %v", service.Svc, err)) return nil } @@ -303,6 +304,7 @@ func (c *Controller) handleUpdateService(key string) error { namespace, name, err := cache.SplitMetaNamespaceKey(key) if err != nil { + klog.Error(err) utilruntime.HandleError(fmt.Errorf("invalid resource key: %s", key)) return nil } @@ -316,6 +318,7 @@ func (c *Controller) handleUpdateService(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } @@ -437,6 +440,7 @@ func parseVipAddr(vip string) string { func (c *Controller) handleAddService(key string) error { namespace, name, err := cache.SplitMetaNamespaceKey(key) if err != nil { + klog.Error(err) utilruntime.HandleError(fmt.Errorf("invalid resource key: %s", key)) return nil } @@ -450,6 +454,7 @@ func (c *Controller) handleAddService(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if svc.Spec.Type != v1.ServiceTypeLoadBalancer || !c.config.EnableLbSvc { @@ -489,6 +494,7 @@ func (c *Controller) handleAddService(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } } @@ -504,6 +510,7 @@ func (c *Controller) handleAddService(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } var ingress v1.LoadBalancerIngress diff --git a/pkg/controller/service_lb.go b/pkg/controller/service_lb.go index f2d4f976797..db318a73a7c 100644 --- a/pkg/controller/service_lb.go +++ b/pkg/controller/service_lb.go @@ -187,6 +187,7 @@ func (c *Controller) getLbSvcPod(svcName, svcNamespace string) (*corev1.Pod, err pods, err := c.podsLister.Pods(svcNamespace).List(sel) if err != nil { + klog.Error(err) return nil, err } else if len(pods) == 0 { time.Sleep(2 * time.Second) @@ -267,6 +268,7 @@ func (c *Controller) execNatRules(pod *corev1.Pod, operation string, rules []str if len(stdOutput) > 0 { klog.V(3).Infof("failed to ExecuteCommandInContainer, stdOutput: %v", stdOutput) } + klog.Error(err) return err } diff --git a/pkg/controller/subnet.go b/pkg/controller/subnet.go index f151905d0da..837c84f1b5a 100644 --- a/pkg/controller/subnet.go +++ b/pkg/controller/subnet.go @@ -269,6 +269,7 @@ func formatSubnet(subnet *kubeovnv1.Subnet, c *Controller) (*kubeovnv1.Subnet, e changed, err = checkSubnetChanged(subnet) if err != nil { + klog.Error(err) return nil, err } if subnet.Spec.Provider == "" { @@ -336,6 +337,7 @@ func (c *Controller) updateNatOutgoingPolicyRulesStatus(subnet *kubeovnv1.Subnet for index, rule := range subnet.Spec.NatOutgoingPolicyRules { jsonRule, err := json.Marshal(rule) if err != nil { + klog.Error(err) return err } priority := fmt.Sprintf("%d", index) @@ -365,6 +367,7 @@ func checkSubnetChanged(subnet *kubeovnv1.Subnet) (bool, error) { // changed value may be overlapped, so use ret to record value changed, err = checkAndUpdateCIDR(subnet) if err != nil { + klog.Error(err) return changed, err } if changed { @@ -372,6 +375,7 @@ func checkSubnetChanged(subnet *kubeovnv1.Subnet) (bool, error) { } changed, err = checkAndUpdateGateway(subnet) if err != nil { + klog.Error(err) return changed, err } if changed { @@ -390,6 +394,7 @@ func checkAndUpdateCIDR(subnet *kubeovnv1.Subnet) (bool, error) { for _, cidr := range strings.Split(subnet.Spec.CIDRBlock, ",") { _, ipNet, err := net.ParseCIDR(cidr) if err != nil { + klog.Error(err) return false, fmt.Errorf("subnet %s cidr %s is invalid", subnet.Name, cidr) } if ipNet.String() != cidr { @@ -660,12 +665,14 @@ func (c *Controller) handleAddOrUpdateSubnet(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } klog.V(4).Infof("handle add or update subnet %s", cachedSubnet.Name) subnet, err := formatSubnet(cachedSubnet.DeepCopy(), c) if err != nil { + klog.Error(err) return err } @@ -844,6 +851,7 @@ func (c *Controller) handleUpdateSubnetStatus(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } @@ -1498,6 +1506,7 @@ func (c *Controller) reconcileDistributedSubnetRouteInDefaultVpc(subnet *kubeovn for _, port := range podPorts { exist, err := c.ovnClient.LogicalSwitchPortExists(port) if err != nil { + klog.Error(err) return err } @@ -1554,6 +1563,7 @@ func (c *Controller) reconcileDefaultCentralizedSubnetRouteInDefaultVpc(subnet * newActivateNode = node.Name nodeTunlIPAddr, err = getNodeTunlIP(node) if err != nil { + klog.Error(err) return err } klog.Infof("subnet %s uses a new activate gw %s", subnet.Name, node.Name) @@ -1932,6 +1942,7 @@ func calcDualSubnetStatusIP(subnet *kubeovnv1.Subnet, c *Controller) error { // Get the number of pods, not ips. For one pod with two ip(v4 & v6) in dual-stack, num of Items is 1 podUsedIPs, err := c.ipsLister.List(labels.SelectorFromSet(labels.Set{subnet.Name: ""})) if err != nil { + klog.Error(err) return err } @@ -1953,6 +1964,7 @@ func calcDualSubnetStatusIP(subnet *kubeovnv1.Subnet, c *Controller) error { util.IpReservedLabel: "", })) if err != nil { + klog.Error(err) return err } usingIPs += float64(len(vips)) @@ -1961,6 +1973,7 @@ func calcDualSubnetStatusIP(subnet *kubeovnv1.Subnet, c *Controller) error { eips, err := c.iptablesEipsLister.List( labels.SelectorFromSet(labels.Set{util.SubnetNameLabel: subnet.Name})) if err != nil { + klog.Error(err) return err } usingIPs += float64(len(eips)) @@ -1998,6 +2011,7 @@ func calcDualSubnetStatusIP(subnet *kubeovnv1.Subnet, c *Controller) error { bytes, err := subnet.Status.Bytes() if err != nil { + klog.Error(err) return err } _, err = c.config.KubeOvnClient.KubeovnV1().Subnets().Patch(context.Background(), subnet.Name, types.MergePatchType, bytes, metav1.PatchOptions{}, "status") @@ -2007,10 +2021,12 @@ func calcDualSubnetStatusIP(subnet *kubeovnv1.Subnet, c *Controller) error { func calcSubnetStatusIP(subnet *kubeovnv1.Subnet, c *Controller) error { _, cidr, err := net.ParseCIDR(subnet.Spec.CIDRBlock) if err != nil { + klog.Error(err) return err } podUsedIPs, err := c.ipsLister.List(labels.SelectorFromSet(labels.Set{subnet.Name: ""})) if err != nil { + klog.Error(err) return err } // gateway always in excludeIPs @@ -2022,6 +2038,7 @@ func calcSubnetStatusIP(subnet *kubeovnv1.Subnet, c *Controller) error { util.IpReservedLabel: "", })) if err != nil { + klog.Error(err) return err } usingIPs += float64(len(vips)) @@ -2029,6 +2046,7 @@ func calcSubnetStatusIP(subnet *kubeovnv1.Subnet, c *Controller) error { eips, err := c.iptablesEipsLister.List( labels.SelectorFromSet(labels.Set{util.SubnetNameLabel: subnet.Name})) if err != nil { + klog.Error(err) return err } usingIPs += float64(len(eips)) @@ -2084,6 +2102,7 @@ func calcSubnetStatusIP(subnet *kubeovnv1.Subnet, c *Controller) error { bytes, err := subnet.Status.Bytes() if err != nil { + klog.Error(err) return err } _, err = c.config.KubeOvnClient.KubeovnV1().Subnets().Patch(context.Background(), subnet.Name, types.MergePatchType, bytes, metav1.PatchOptions{}, "status") @@ -2597,6 +2616,7 @@ func (c *Controller) reconcileRouteTableForSubnet(subnet *kubeovnv1.Subnet) erro routerPortName := ovs.LogicalRouterPortName(subnet.Spec.Vpc, subnet.Name) lrp, err := c.ovnClient.GetLogicalRouterPort(routerPortName, false) if err != nil { + klog.Error(err) return err } diff --git a/pkg/controller/vip.go b/pkg/controller/vip.go index a437efa006c..c47479dd290 100644 --- a/pkg/controller/vip.go +++ b/pkg/controller/vip.go @@ -199,6 +199,7 @@ func (c *Controller) handleAddVirtualIp(key string) error { v4ip, v6ip, mac, err = c.acquireIpAddress(subnet.Name, vip.Name, portName) } if err != nil { + klog.Error(err) return err } var parentV4ip, parentV6ip, parentMac string @@ -256,6 +257,7 @@ func (c *Controller) handleUpdateVirtualIp(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } vip := cachedVip.DeepCopy() @@ -342,11 +344,13 @@ func (c *Controller) acquireIpAddress(subnetName, name, nicName string) (string, for { v4ip, v6ip, mac, err = c.ipam.GetRandomAddress(name, nicName, nil, subnetName, "", skippedAddrs, checkConflict) if err != nil { + klog.Error(err) return "", "", "", err } ipv4OK, ipv6OK, err := c.validatePodIP(name, subnetName, v4ip, v6ip) if err != nil { + klog.Error(err) return "", "", "", err } @@ -465,9 +469,9 @@ func (c *Controller) patchVipStatus(key, v4ip string, ready bool) error { oriVip, err := c.virtualIpsLister.Get(key) if err != nil { if k8serrors.IsNotFound(err) { - klog.Errorf("failed to get cached vip '%s', %v", key, err) return nil } + klog.Error(err) return err } vip := oriVip.DeepCopy() @@ -496,9 +500,9 @@ func (c *Controller) podReuseVip(key, portName string, keepVIP bool) error { oriVip, err := c.virtualIpsLister.Get(key) if err != nil { if k8serrors.IsNotFound(err) { - klog.Errorf("failed to get cached vip '%s', %v", key, err) return nil } + klog.Error(err) return err } vip := oriVip.DeepCopy() @@ -530,9 +534,9 @@ func (c *Controller) releaseVip(key string) error { oriVip, err := c.virtualIpsLister.Get(key) if err != nil { if k8serrors.IsNotFound(err) { - klog.Errorf("failed to get cached vip '%s', %v", key, err) return nil } + klog.Error(err) return err } vip := oriVip.DeepCopy() @@ -573,6 +577,7 @@ func (c *Controller) handleAddVipFinalizer(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if cachedVip.DeletionTimestamp.IsZero() { @@ -604,6 +609,7 @@ func (c *Controller) handleDelVipFinalizer(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if len(cachedVip.Finalizers) == 0 { diff --git a/pkg/controller/vpc.go b/pkg/controller/vpc.go index 7d58f8cab1c..6e4d47801ac 100644 --- a/pkg/controller/vpc.go +++ b/pkg/controller/vpc.go @@ -110,6 +110,7 @@ func (c *Controller) handleDelVpc(vpc *kubeovnv1.Vpc) error { err := c.deleteVpcRouter(vpc.Status.Router) if err != nil { + klog.Error(err) return err } return nil @@ -125,12 +126,14 @@ func (c *Controller) handleUpdateVpcStatus(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } vpc := cachedVpc.DeepCopy() subnets, defaultSubnet, err := c.getVpcSubnets(vpc) if err != nil { + klog.Error(err) return err } @@ -143,11 +146,13 @@ func (c *Controller) handleUpdateVpcStatus(key string) error { vpc.Status.Subnets = subnets bytes, err := vpc.Status.Bytes() if err != nil { + klog.Error(err) return err } vpc, err = c.config.KubeOvnClient.KubeovnV1().Vpcs().Patch(context.Background(), vpc.Name, types.MergePatchType, bytes, metav1.PatchOptions{}, "status") if err != nil { + klog.Error(err) return err } if change { @@ -158,6 +163,7 @@ func (c *Controller) handleUpdateVpcStatus(key string) error { natGws, err := c.vpcNatGatewayLister.List(labels.Everything()) if err != nil { + klog.Error(err) return err } for _, gw := range natGws { @@ -234,6 +240,7 @@ func (c *Controller) handleAddOrUpdateVpc(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } vpc := cachedVpc.DeepCopy() @@ -434,6 +441,7 @@ func (c *Controller) handleAddOrUpdateVpc(key string) error { if c.config.EnableLb { vpcLb, err := c.addLoadBalancer(key) if err != nil { + klog.Error(err) return err } vpc.Status.TcpLoadBalancer = vpcLb.TcpLoadBalancer @@ -445,10 +453,12 @@ func (c *Controller) handleAddOrUpdateVpc(key string) error { } bytes, err := vpc.Status.Bytes() if err != nil { + klog.Error(err) return err } vpc, err = c.config.KubeOvnClient.KubeovnV1().Vpcs().Patch(context.Background(), vpc.Name, types.MergePatchType, bytes, metav1.PatchOptions{}, "status") if err != nil { + klog.Error(err) return err } @@ -462,6 +472,7 @@ func (c *Controller) handleAddOrUpdateVpc(key string) error { subnets, err := c.subnetsLister.List(labels.Everything()) if err != nil { + klog.Error(err) return err } @@ -752,6 +763,7 @@ func (c *Controller) getVpcSubnets(vpc *kubeovnv1.Vpc) (subnets []string, defaul subnets = []string{} allSubnets, err := c.subnetsLister.List(labels.Everything()) if err != nil { + klog.Error(err) return nil, "", err } @@ -781,6 +793,7 @@ func (c *Controller) deleteVpcRouter(lr string) error { func (c *Controller) handleAddVpcExternal(key string) error { cachedSubnet, err := c.subnetsLister.Get(c.config.ExternalGatewaySwitch) if err != nil { + klog.Error(err) return err } lrpEipName := fmt.Sprintf("%s-%s", key, c.config.ExternalGatewaySwitch) diff --git a/pkg/controller/vpc_dns.go b/pkg/controller/vpc_dns.go index 6a4c199bfdf..451fbb874cb 100644 --- a/pkg/controller/vpc_dns.go +++ b/pkg/controller/vpc_dns.go @@ -306,6 +306,7 @@ func (c *Controller) createOrUpdateVpcDnsSlr(vpcDns *kubeovnv1.VpcDns) error { if k8serrors.IsNotFound(err) { needToCreateSlr = true } else { + klog.Error(err) return err } } @@ -487,6 +488,7 @@ func (c *Controller) checkOvnNad() error { _, err := c.config.AttachNetClient.K8sCniCncfIoV1().NetworkAttachmentDefinitions(corev1.NamespaceDefault). Get(context.Background(), nadName, metav1.GetOptions{}) if err != nil { + klog.Error(err) return err } @@ -496,6 +498,7 @@ func (c *Controller) checkOvnNad() error { func (c *Controller) checkOvnDefaultSpecProvider() error { cachedSubnet, err := c.subnetsLister.Get(util.DefaultSubnet) if err != nil { + klog.Error(err) return fmt.Errorf("failed to get default subnet %v", err) } @@ -589,6 +592,7 @@ func (c *Controller) getDefaultCoreDnsImage() (string, error) { dp, err := c.config.KubeClient.AppsV1().Deployments("kube-system"). Get(context.Background(), "coredns", metav1.GetOptions{}) if err != nil { + klog.Error(err) return "", err } diff --git a/pkg/controller/vpc_nat_gateway.go b/pkg/controller/vpc_nat_gateway.go index 62d8939054e..65bc1a791f2 100644 --- a/pkg/controller/vpc_nat_gateway.go +++ b/pkg/controller/vpc_nat_gateway.go @@ -251,6 +251,7 @@ func (c *Controller) handleAddOrUpdateVpcNatGw(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if _, err := c.vpcsLister.Get(gw.Spec.Vpc); err != nil { @@ -274,6 +275,7 @@ func (c *Controller) handleAddOrUpdateVpcNatGw(key string) error { if k8serrors.IsNotFound(err) { needToCreate = true } else { + klog.Error(err) return err } } @@ -351,6 +353,7 @@ func (c *Controller) handleInitVpcNatGw(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } // subnet for vpc-nat-gw has been checked when create vpc-nat-gw @@ -407,6 +410,7 @@ func (c *Controller) handleInitVpcNatGw(key string) error { pod.Annotations[util.VpcNatGatewayInitAnnotation] = "true" patch, err := util.GenerateStrategicMergePatchPayload(oriPod, pod) if err != nil { + klog.Error(err) return err } if _, err := c.config.KubeClient.CoreV1().Pods(pod.Namespace).Patch(context.Background(), pod.Name, @@ -568,6 +572,7 @@ func (c *Controller) getIptablesVersion(pod *corev1.Pod) (version string, err er if len(stdOutput) > 0 { klog.V(3).Infof("failed to ExecuteCommandInContainer, stdOutput: %v", stdOutput) } + klog.Error(err) return "", err } @@ -599,6 +604,7 @@ func (c *Controller) handleUpdateNatGwSubnetRoute(natGwKey string) error { gw, err := c.vpcNatGatewayLister.Get(natGwKey) if err != nil { + klog.Error(err) return err } @@ -695,6 +701,7 @@ func (c *Controller) handleUpdateNatGwSubnetRoute(natGwKey string) error { pod.Annotations[util.VpcCIDRsAnnotation] = string(cidrBytes) patch, err := util.GenerateStrategicMergePatchPayload(oriPod, pod) if err != nil { + klog.Error(err) return err } if _, err := c.config.KubeClient.CoreV1().Pods(pod.Namespace).Patch(context.Background(), pod.Name, @@ -719,6 +726,7 @@ func (c *Controller) execNatGwRules(pod *corev1.Pod, operation string, rules []s if len(stdOutput) > 0 { klog.V(3).Infof("failed to ExecuteCommandInContainer, stdOutput: %v", stdOutput) } + klog.Error(err) return err } @@ -828,6 +836,7 @@ func (c *Controller) getNatGwPod(name string) (*corev1.Pod, error) { pods, err := c.podsLister.Pods(c.config.PodNamespace).List(sel) if err != nil { + klog.Error(err) return nil, err } else if len(pods) == 0 { return nil, k8serrors.NewNotFound(v1.Resource("pod"), name) @@ -848,6 +857,7 @@ func (c *Controller) initCreateAt(key string) (err error) { } pod, err := c.getNatGwPod(key) if err != nil { + klog.Error(err) return err } NAT_GW_CREATED_AT = pod.CreationTimestamp.Format("2006-01-02T15:04:05") @@ -906,6 +916,7 @@ func (c *Controller) getNatGw(router, subnet string) (string, error) { selectors := labels.Set{util.VpcNameLabel: router, util.SubnetNameLabel: subnet}.AsSelector() gws, err := c.vpcNatGatewayLister.List(selectors) if err != nil { + klog.Error(err) return "", err } if len(gws) == 1 { @@ -986,6 +997,7 @@ func (c *Controller) patchNatGwStatus(key string) error { if changed { bytes, err := gw.Status.Bytes() if err != nil { + klog.Error(err) return err } if _, err = c.config.KubeOvnClient.KubeovnV1().VpcNatGateways().Patch(context.Background(), gw.Name, types.MergePatchType, diff --git a/pkg/controller/vpc_nat_gw_eip.go b/pkg/controller/vpc_nat_gw_eip.go index d19ba992e34..35927b5cbbd 100644 --- a/pkg/controller/vpc_nat_gw_eip.go +++ b/pkg/controller/vpc_nat_gw_eip.go @@ -215,6 +215,7 @@ func (c *Controller) handleAddIptablesEip(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if cachedEip.Status.Ready && cachedEip.Status.IP != "" { @@ -293,6 +294,7 @@ func (c *Controller) handleUpdateIptablesEip(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } externalNetwork := util.GetExternalNetwork(cachedEip.Spec.ExternalSubnet) @@ -423,6 +425,7 @@ func (c *Controller) GetEip(eipName string) (*kubeovnv1.IptablesEIP, error) { func (c *Controller) createEipInPod(dp, gw, v4Cidr string) error { gwPod, err := c.getNatGwPod(dp) if err != nil { + klog.Error(err) return err } var addRules []string @@ -440,12 +443,14 @@ func (c *Controller) deleteEipInPod(dp, v4Cidr string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } var delRules []string rule := v4Cidr delRules = append(delRules, rule) if err = c.execNatGwRules(gwPod, natGwEipDel, delRules); err != nil { + klog.Error(err) return err } return nil @@ -518,6 +523,7 @@ func (c *Controller) addEipQoSInPod( var operation string gwPod, err := c.getNatGwPod(dp) if err != nil { + klog.Error(err) return err } var addRules []string @@ -541,6 +547,7 @@ func (c *Controller) delEipQoSInPod(dp string, v4ip string, direction kubeovnv1. var operation string gwPod, err := c.getNatGwPod(dp) if err != nil { + klog.Error(err) return err } var delRules []string @@ -581,11 +588,13 @@ func (c *Controller) acquireEip(name, namespace, nicName, externalSubnet string) for { ipv4, ipv6, mac, err := c.ipam.GetRandomAddress(name, nicName, nil, externalSubnet, "", skippedAddrs, true) if err != nil { + klog.Error(err) return "", "", "", err } ipv4OK, ipv6OK, err := c.validatePodIP(name, externalSubnet, ipv4, ipv6) if err != nil { + klog.Error(err) return "", "", "", err } if ipv4OK && ipv6OK { @@ -684,6 +693,7 @@ func (c *Controller) createOrUpdateCrdEip(key, v4ip, v6ip, mac, natGwDp, qos, ex eip.Status.QoSPolicy = qos bytes, err := eip.Status.Bytes() if err != nil { + klog.Error(err) return err } if _, err = c.config.KubeOvnClient.KubeovnV1().IptablesEIPs().Patch(context.Background(), key, types.MergePatchType, @@ -735,6 +745,7 @@ func (c *Controller) handleAddIptablesEipFinalizer(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if cachedIptablesEip.DeletionTimestamp.IsZero() { @@ -766,6 +777,7 @@ func (c *Controller) handleDelIptablesEipFinalizer(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if len(cachedIptablesEip.Finalizers) == 0 { @@ -796,6 +808,7 @@ func (c *Controller) patchEipQoSStatus(key, qos string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } eip := oriEip.DeepCopy() @@ -809,6 +822,7 @@ func (c *Controller) patchEipQoSStatus(key, qos string) error { if changed { bytes, err := eip.Status.Bytes() if err != nil { + klog.Error(err) return err } if _, err = c.config.KubeOvnClient.KubeovnV1().IptablesEIPs().Patch(context.Background(), key, types.MergePatchType, @@ -860,6 +874,7 @@ func (c *Controller) patchEipStatus(key, v4ip, redo, qos string, ready bool) err if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } eip := oriEip.DeepCopy() @@ -900,6 +915,7 @@ func (c *Controller) patchEipStatus(key, v4ip, redo, qos string, ready bool) err if changed { bytes, err := eip.Status.Bytes() if err != nil { + klog.Error(err) return err } if _, err = c.config.KubeOvnClient.KubeovnV1().IptablesEIPs().Patch(context.Background(), key, types.MergePatchType, @@ -920,6 +936,7 @@ func (c *Controller) patchEipLabel(eipName string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } externalNetwork := util.GetExternalNetwork(oriEip.Spec.ExternalSubnet) diff --git a/pkg/controller/vpc_nat_gw_nat.go b/pkg/controller/vpc_nat_gw_nat.go index c1876d373d7..90a5c24014f 100644 --- a/pkg/controller/vpc_nat_gw_nat.go +++ b/pkg/controller/vpc_nat_gw_nat.go @@ -500,6 +500,7 @@ func (c *Controller) handleAddIptablesFip(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if fip.Status.Ready && fip.Status.V4ip != "" { @@ -578,6 +579,7 @@ func (c *Controller) handleUpdateIptablesFip(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } // should delete @@ -686,6 +688,7 @@ func (c *Controller) handleAddIptablesDnatRule(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if dnat.Status.Ready && dnat.Status.V4ip != "" { @@ -744,6 +747,7 @@ func (c *Controller) handleUpdateIptablesDnatRule(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } // should delete @@ -857,6 +861,7 @@ func (c *Controller) handleAddIptablesSnatRule(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if snat.Status.Ready && snat.Status.V4ip != "" { @@ -915,6 +920,7 @@ func (c *Controller) handleUpdateIptablesSnatRule(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } v4Cidr, _ := util.SplitStringIP(cachedSnat.Status.InternalCIDR) @@ -1017,6 +1023,7 @@ func (c *Controller) handleAddIptablesFipFinalizer(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if cachedIptablesFip.DeletionTimestamp.IsZero() { @@ -1048,6 +1055,7 @@ func (c *Controller) handleDelIptablesFipFinalizer(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if len(cachedIptablesFip.Finalizers) == 0 { @@ -1077,6 +1085,7 @@ func (c *Controller) handleAddIptablesDnatFinalizer(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if cachedIptablesDnat.DeletionTimestamp.IsZero() { @@ -1108,6 +1117,7 @@ func (c *Controller) handleDelIptablesDnatFinalizer(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if len(cachedIptablesDnat.Finalizers) == 0 { @@ -1137,6 +1147,7 @@ func (c *Controller) patchFipLabel(key string, eip *kubeovnv1.IptablesEIP) error if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } fip := oriFip.DeepCopy() @@ -1187,6 +1198,7 @@ func (c *Controller) handleAddIptablesSnatFinalizer(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if cachedIptablesSnat.DeletionTimestamp.IsZero() { @@ -1218,6 +1230,7 @@ func (c *Controller) handleDelIptablesSnatFinalizer(key string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } if len(cachedIptablesSnat.Finalizers) == 0 { @@ -1247,6 +1260,7 @@ func (c *Controller) patchFipStatus(key, v4ip, v6ip, natGwDp, redo string, ready if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } fip := oriFip.DeepCopy() @@ -1274,6 +1288,7 @@ func (c *Controller) patchFipStatus(key, v4ip, v6ip, natGwDp, redo string, ready if changed { bytes, err := fip.Status.Bytes() if err != nil { + klog.Error(err) return err } if _, err = c.config.KubeOvnClient.KubeovnV1().IptablesFIPRules().Patch(context.Background(), fip.Name, @@ -1325,6 +1340,7 @@ func (c *Controller) patchDnatLabel(key string, eip *kubeovnv1.IptablesEIP) erro if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } dnat := oriDnat.DeepCopy() @@ -1377,6 +1393,7 @@ func (c *Controller) patchDnatStatus(key, v4ip, v6ip, natGwDp, redo string, read if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } var changed bool @@ -1415,6 +1432,7 @@ func (c *Controller) patchDnatStatus(key, v4ip, v6ip, natGwDp, redo string, read if changed { bytes, err := dnat.Status.Bytes() if err != nil { + klog.Error(err) return err } if _, err = c.config.KubeOvnClient.KubeovnV1().IptablesDnatRules().Patch(context.Background(), dnat.Name, @@ -1461,6 +1479,7 @@ func (c *Controller) patchSnatLabel(key string, eip *kubeovnv1.IptablesEIP) erro if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } snat := oriSnat.DeepCopy() @@ -1482,6 +1501,7 @@ func (c *Controller) patchSnatLabel(key string, eip *kubeovnv1.IptablesEIP) erro } if needUpdateLabel { if err := c.updateIptableLabels(snat.Name, op, util.SnatUsingEip, snat.Labels); err != nil { + klog.Error(err) return err } } @@ -1511,6 +1531,7 @@ func (c *Controller) patchSnatStatus(key, v4ip, v6ip, natGwDp, redo string, read if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } snat := oriSnat.DeepCopy() @@ -1543,6 +1564,7 @@ func (c *Controller) patchSnatStatus(key, v4ip, v6ip, natGwDp, redo string, read if changed { bytes, err := snat.Status.Bytes() if err != nil { + klog.Error(err) return err } if _, err = c.config.KubeOvnClient.KubeovnV1().IptablesSnatRules().Patch(context.Background(), snat.Name, @@ -1586,6 +1608,7 @@ func (c *Controller) redoSnat(key, redo string, eipReady bool) error { func (c *Controller) createFipInPod(dp, v4ip, internalIP string) error { gwPod, err := c.getNatGwPod(dp) if err != nil { + klog.Error(err) return err } var addRules []string @@ -1604,6 +1627,7 @@ func (c *Controller) deleteFipInPod(dp, v4ip, internalIP string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } // del nat @@ -1640,6 +1664,7 @@ func (c *Controller) deleteDnatInPod(dp, protocol, v4ip, internalIp, externalPor if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } @@ -1686,6 +1711,7 @@ func (c *Controller) deleteSnatInPod(dp, v4ip, internalCIDR string) error { if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } // del nat @@ -1843,6 +1869,7 @@ func (c *Controller) patchIptableInfo(name, natType, patchPayload string) error if k8serrors.IsNotFound(err) { return nil } + klog.Error(err) return err } return nil diff --git a/pkg/ipam/ipam.go b/pkg/ipam/ipam.go index 2450d603cb3..5e0f17cbc57 100644 --- a/pkg/ipam/ipam.go +++ b/pkg/ipam/ipam.go @@ -72,10 +72,12 @@ func (ipam *IPAM) GetStaticAddress(podName, nicName, ip string, mac *string, sub for _, ipStr := range strings.Split(ip, ",") { ip, err := NewIP(ipStr) if err != nil { + klog.Errorf("failed to parse ip %s", ipStr) return "", "", "", err } ipAddr, macStr, err = subnet.GetStaticAddress(podName, nicName, ip, mac, false, checkConflict) if err != nil { + klog.Errorf("failed to allocate static ip %s for %s", ipStr, podName) return "", "", "", err } ips = append(ips, ipAddr) @@ -169,10 +171,12 @@ func (ipam *IPAM) AddOrUpdateSubnet(name, cidrStr, gw string, excludeIps []strin subnet.Protocol = protocol v4Reserved, err := NewIPRangeListFrom(v4ExcludeIps...) if err != nil { + klog.Errorf("failed to parse v4 exclude ips %v", v4ExcludeIps) return err } v6Reserved, err := NewIPRangeListFrom(v6ExcludeIps...) if err != nil { + klog.Errorf("failed to parse v6 exclude ips %v", v6ExcludeIps) return err } if (protocol == kubeovnv1.ProtocolDual || protocol == kubeovnv1.ProtocolIPv4) && @@ -273,6 +277,7 @@ func (ipam *IPAM) AddOrUpdateSubnet(name, cidrStr, gw string, excludeIps []strin subnet, err := NewSubnet(name, cidrStr, excludeIps) if err != nil { + klog.Errorf("failed to create subnet %s, %v", name, err) return err } subnet.V4Gw = v4Gw diff --git a/pkg/ovn_leader_checker/ovn.go b/pkg/ovn_leader_checker/ovn.go index 3870a3b03b7..b9697ec1b43 100755 --- a/pkg/ovn_leader_checker/ovn.go +++ b/pkg/ovn_leader_checker/ovn.go @@ -258,6 +258,7 @@ func patchPodLabels(cfg *Configuration, cachedPod *corev1.Pod, labels map[string pod.Labels = labels patch, err := util.GenerateStrategicMergePatchPayload(cachedPod, pod) if err != nil { + klog.Errorf("failed to generate patch payload, %v", err) return err } _, err = cfg.KubeClient.CoreV1().Pods(pod.Namespace).Patch(context.Background(), pod.Name, diff --git a/pkg/ovnmonitor/util.go b/pkg/ovnmonitor/util.go index 80e95c9ba30..a39d6b370e5 100644 --- a/pkg/ovnmonitor/util.go +++ b/pkg/ovnmonitor/util.go @@ -76,6 +76,7 @@ func getClusterEnableState(dbName string) (bool, error) { cmd := exec.Command("sh", "-c", cmdstr) _, err := cmd.CombinedOutput() if err != nil { + klog.Error(err) return false, err } return true, nil diff --git a/pkg/ovs/ovn-ic-nbctl.go b/pkg/ovs/ovn-ic-nbctl.go index 2b4ebd51563..75292a4baa8 100644 --- a/pkg/ovs/ovn-ic-nbctl.go +++ b/pkg/ovs/ovn-ic-nbctl.go @@ -40,6 +40,7 @@ func (c LegacyClient) ovnIcNbCommand(cmdArgs ...string) (string, error) { func (c LegacyClient) GetTsSubnet(ts string) (string, error) { subnet, err := c.ovnIcNbCommand("get", "Transit_Switch", ts, "external_ids:subnet") if err != nil { + klog.Error(err) return "", fmt.Errorf("failed to get ts subnet, %v", err) } return subnet, nil diff --git a/pkg/ovs/ovn-ic-sbctl.go b/pkg/ovs/ovn-ic-sbctl.go index 63db80223c1..b36f6cbcbab 100644 --- a/pkg/ovs/ovn-ic-sbctl.go +++ b/pkg/ovs/ovn-ic-sbctl.go @@ -41,7 +41,9 @@ func (c LegacyClient) FindUUIDWithAttrInTable(attribute, value, table string) ([ key := attribute + "=" + value output, err := c.ovnIcSbCommand("--format=csv", "--no-heading", "--data=bare", "--columns=_uuid", "find", table, key) if err != nil { - return nil, fmt.Errorf("failed to find ovn-ic-sb db, %v", err) + err := fmt.Errorf("failed to find ovn-ic-sb db, %v", err) + klog.Error(err) + return nil, err } lines := strings.Split(output, "\n") result := make([]string, 0, len(lines)) @@ -57,6 +59,7 @@ func (c LegacyClient) FindUUIDWithAttrInTable(attribute, value, table string) ([ func (c LegacyClient) DestroyTableWithUUID(uuid, table string) error { _, err := c.ovnIcSbCommand("destroy", table, uuid) if err != nil { + klog.Error(err) return fmt.Errorf("failed to destroy record %s in table %s: %v", uuid, table, err) } return nil @@ -65,6 +68,7 @@ func (c LegacyClient) DestroyTableWithUUID(uuid, table string) error { func (c LegacyClient) GetAzUUID(az string) (string, error) { uuids, err := c.FindUUIDWithAttrInTable("name", az, "availability_zone") if err != nil { + klog.Error(err) return "", fmt.Errorf("failed to get ovn-ic-sb availability_zone uuid: %v", err) } if len(uuids) == 1 { @@ -78,6 +82,7 @@ func (c LegacyClient) GetAzUUID(az string) (string, error) { func (c LegacyClient) GetGatewayUUIDsInOneAZ(uuid string) ([]string, error) { gateways, err := c.FindUUIDWithAttrInTable("availability_zone", uuid, "gateway") if err != nil { + klog.Error(err) return nil, fmt.Errorf("failed to get ovn-ic-sb gateways with uuid %v: %v", uuid, err) } return gateways, nil @@ -86,6 +91,7 @@ func (c LegacyClient) GetGatewayUUIDsInOneAZ(uuid string) ([]string, error) { func (c LegacyClient) GetRouteUUIDsInOneAZ(uuid string) ([]string, error) { routes, err := c.FindUUIDWithAttrInTable("availability_zone", uuid, "route") if err != nil { + klog.Error(err) return nil, fmt.Errorf("failed to get ovn-ic-sb routes with uuid %v: %v", uuid, err) } return routes, nil @@ -111,6 +117,7 @@ func (c LegacyClient) DestroyRoutes(uuids []string) { func (c LegacyClient) DestroyChassis(uuid string) error { if err := c.DestroyTableWithUUID(uuid, "availability_zone"); err != nil { + klog.Error(err) return fmt.Errorf("failed to delete chassis %v: %v", uuid, err) } return nil diff --git a/pkg/ovs/ovn-nb-acl.go b/pkg/ovs/ovn-nb-acl.go index d65a81f5754..3ef0b5b658b 100644 --- a/pkg/ovs/ovn-nb-acl.go +++ b/pkg/ovs/ovn-nb-acl.go @@ -93,6 +93,7 @@ func (c *ovnClient) UpdateEgressAclOps(pgName, asEgressName, asExceptName, proto defaultDropAcl, err := c.newAclWithoutCheck(pgName, ovnnb.ACLDirectionFromLport, util.EgressDefaultDrop, allIpMatch.String(), ovnnb.ACLActionDrop, options) if err != nil { + klog.Error(err) return nil, fmt.Errorf("new default drop egress acl for port group %s: %v", pgName, err) } @@ -108,6 +109,7 @@ func (c *ovnClient) UpdateEgressAclOps(pgName, asEgressName, asExceptName, proto acl.Options["apply-after-lb"] = "true" }) if err != nil { + klog.Error(err) return nil, fmt.Errorf("new allow egress acl for port group %s: %v", pgName, err) } @@ -116,6 +118,7 @@ func (c *ovnClient) UpdateEgressAclOps(pgName, asEgressName, asExceptName, proto ops, err := c.CreateAclsOps(pgName, portGroupKey, acls...) if err != nil { + klog.Error(err) return nil, err } @@ -144,6 +147,7 @@ func (c *ovnClient) CreateGatewayAcl(lsName, pgName, gateway string) error { allowIngressAcl, err := c.newAcl(parentName, ovnnb.ACLDirectionToLport, util.IngressAllowPriority, fmt.Sprintf("%s.src == %s", ipSuffix, gw), ovnnb.ACLActionAllowStateless) if err != nil { + klog.Error(err) return fmt.Errorf("new allow ingress acl for %s: %v", parentName, err) } @@ -156,6 +160,7 @@ func (c *ovnClient) CreateGatewayAcl(lsName, pgName, gateway string) error { allowEgressAcl, err := c.newAcl(parentName, ovnnb.ACLDirectionFromLport, util.EgressAllowPriority, fmt.Sprintf("%s.dst == %s", ipSuffix, gw), ovnnb.ACLActionAllowStateless, options) if err != nil { + klog.Error(err) return fmt.Errorf("new allow egress acl for %s: %v", parentName, err) } @@ -164,6 +169,7 @@ func (c *ovnClient) CreateGatewayAcl(lsName, pgName, gateway string) error { if ipSuffix == "ip6" { ndAcl, err := c.newAcl(parentName, ovnnb.ACLDirectionFromLport, util.EgressAllowPriority, "nd || nd_ra || nd_rs", ovnnb.ACLActionAllowStateless, options) if err != nil { + klog.Error(err) return fmt.Errorf("new nd acl for %s: %v", parentName, err) } @@ -193,6 +199,7 @@ func (c *ovnClient) CreateNodeAcl(pgName, nodeIpStr, joinIpStr string) error { allowIngressAcl, err := c.newAcl(pgName, ovnnb.ACLDirectionToLport, util.NodeAllowPriority, fmt.Sprintf("%s.src == %s && %s.dst == $%s", ipSuffix, nodeIP, ipSuffix, pgAs), ovnnb.ACLActionAllowStateless) if err != nil { + klog.Error(err) return fmt.Errorf("new allow ingress acl for port group %s: %v", pgName, err) } @@ -205,6 +212,7 @@ func (c *ovnClient) CreateNodeAcl(pgName, nodeIpStr, joinIpStr string) error { allowEgressAcl, err := c.newAcl(pgName, ovnnb.ACLDirectionFromLport, util.NodeAllowPriority, fmt.Sprintf("%s.dst == %s && %s.src == $%s", ipSuffix, nodeIP, ipSuffix, pgAs), ovnnb.ACLActionAllowStateless, options) if err != nil { + klog.Error(err) return fmt.Errorf("new allow egress acl for port group %s: %v", pgName, err) } @@ -247,11 +255,13 @@ func (c *ovnClient) CreateSgDenyAllAcl(sgName string) error { ingressAcl, err := c.newAcl(pgName, ovnnb.ACLDirectionToLport, util.SecurityGroupDropPriority, fmt.Sprintf("outport == @%s && ip", pgName), ovnnb.ACLActionDrop) if err != nil { + klog.Error(err) return fmt.Errorf("new deny all ingress acl for security group %s: %v", sgName, err) } egressAcl, err := c.newAcl(pgName, ovnnb.ACLDirectionFromLport, util.SecurityGroupDropPriority, fmt.Sprintf("inport == @%s && ip", pgName), ovnnb.ACLActionDrop) if err != nil { + klog.Error(err) return fmt.Errorf("new deny all egress acl for security group %s: %v", sgName, err) } @@ -280,6 +290,7 @@ func (c *ovnClient) CreateSgBaseACL(sgName string, direction string) error { newAcl := func(match string) { acl, err := c.newAcl(pgName, ovnnb.ACLDirectionToLport, util.SecurityGroupBasePriority, match, ovnnb.ACLActionAllowRelated) if err != nil { + klog.Error(err) klog.Errorf("new base ingress acl for security group %s: %v", sgName, err) return } @@ -360,6 +371,7 @@ func (c *ovnClient) UpdateSgAcl(sg *kubeovnv1.SecurityGroup, direction string) e ) acl, err := c.newAcl(pgName, direction, util.SecurityGroupAllowPriority, match.String(), ovnnb.ACLActionAllowRelated) if err != nil { + klog.Error(err) return fmt.Errorf("new allow acl for security group %s: %v", sg.Name, err) } @@ -371,6 +383,7 @@ func (c *ovnClient) UpdateSgAcl(sg *kubeovnv1.SecurityGroup, direction string) e for _, rule := range sgRules { acl, err := c.newSgRuleACL(sg.Name, direction, rule) if err != nil { + klog.Error(err) return fmt.Errorf("new rule acl for security group %s: %v", sg.Name, err) } acls = append(acls, acl) @@ -404,6 +417,7 @@ func (c *ovnClient) UpdateLogicalSwitchAcl(lsName string, subnetAcls []kubeovnv1 for _, subnetAcl := range subnetAcls { acl, err := c.newAcl(lsName, subnetAcl.Direction, strconv.Itoa(subnetAcl.Priority), subnetAcl.Match, subnetAcl.Action, options) if err != nil { + klog.Error(err) return fmt.Errorf("new acl for logical switch %s: %v", lsName, err) } acls = append(acls, acl) @@ -424,6 +438,7 @@ func (c *ovnClient) UpdateAcl(acl *ovnnb.ACL, fields ...interface{}) error { op, err := c.Where(acl).Update(acl, fields...) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for updating acl with 'direction %s priority %d match %s': %v", acl.Direction, acl.Priority, acl.Match, err) } @@ -454,6 +469,7 @@ func (c *ovnClient) SetLogicalSwitchPrivate(lsName, cidrBlock string, allowSubne defaultDropAcl, err := c.newAcl(lsName, ovnnb.ACLDirectionToLport, util.DefaultDropPriority, allIpMatch.String(), ovnnb.ACLActionDrop, options) if err != nil { + klog.Error(err) return fmt.Errorf("new default drop ingress acl for logical switch %s: %v", lsName, err) } @@ -470,6 +486,7 @@ func (c *ovnClient) SetLogicalSwitchPrivate(lsName, cidrBlock string, allowSubne acl, err := c.newAcl(lsName, ovnnb.ACLDirectionToLport, util.NodeAllowPriority, match.String(), ovnnb.ACLActionAllowRelated) if err != nil { + klog.Error(err) return fmt.Errorf("new node subnet ingress acl for logical switch %s: %v", lsName, err) } @@ -505,6 +522,7 @@ func (c *ovnClient) SetLogicalSwitchPrivate(lsName, cidrBlock string, allowSubne acl, err := c.newAcl(lsName, ovnnb.ACLDirectionToLport, util.SubnetAllowPriority, match.String(), ovnnb.ACLActionAllowRelated) if err != nil { + klog.Error(err) return fmt.Errorf("new allow subnet ingress acl for logical switch %s: %v", lsName, err) } @@ -529,6 +547,7 @@ func (c *ovnClient) SetLogicalSwitchPrivate(lsName, cidrBlock string, allowSubne sameSubnetAcl, err := c.newAcl(lsName, ovnnb.ACLDirectionToLport, util.SubnetAllowPriority, sameSubnetMatch.String(), ovnnb.ACLActionAllowRelated) if err != nil { + klog.Error(err) return fmt.Errorf("new same subnet ingress acl for logical switch %s: %v", lsName, err) } @@ -536,16 +555,19 @@ func (c *ovnClient) SetLogicalSwitchPrivate(lsName, cidrBlock string, allowSubne // node subnet acl if err := nodeSubnetAclFunc(protocol, ipSuffix); err != nil { + klog.Error(err) return err } // allow subnet acl if err := allowSubnetAclFunc(protocol, ipSuffix, cidr); err != nil { + klog.Error(err) return err } } if err := c.CreateAcls(lsName, logicalSwitchKey, acls...); err != nil { + klog.Error(err) return fmt.Errorf("add ingress acls to logical switch %s: %v", lsName, err) } @@ -573,6 +595,7 @@ func (c *ovnClient) SetAclLog(pgName, protocol string, logEnable, isIngress bool acl, err := c.GetAcl(pgName, direction, util.IngressDefaultDrop, allIpMatch.String(), true) if err != nil { + klog.Error(err) return err } @@ -584,6 +607,7 @@ func (c *ovnClient) SetAclLog(pgName, protocol string, logEnable, isIngress bool err = c.UpdateAcl(acl, &acl.Log) if err != nil { + klog.Error(err) return fmt.Errorf("update acl: %v", err) } @@ -595,6 +619,7 @@ func (c *ovnClient) SetAclLog(pgName, protocol string, logEnable, isIngress bool func (c *ovnClient) CreateAcls(parentName, parentType string, acls ...*ovnnb.ACL) error { ops, err := c.CreateAclsOps(parentName, parentType, acls...) if err != nil { + klog.Error(err) return err } @@ -608,11 +633,13 @@ func (c *ovnClient) CreateAcls(parentName, parentType string, acls ...*ovnnb.ACL func (c *ovnClient) CreateBareAcl(parentName, direction, priority, match, action string) error { acl, err := c.newAcl(parentName, direction, priority, match, action) if err != nil { + klog.Error(err) return fmt.Errorf("new acl direction %s priority %s match %s action %s: %v", direction, priority, match, action, err) } op, err := c.ovnNbClient.Create(acl) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for creating acl direction %s priority %s match %s action %s: %v", direction, priority, match, action, err) } @@ -629,6 +656,7 @@ func (c *ovnClient) CreateBareAcl(parentName, direction, priority, match, action func (c *ovnClient) DeleteAcls(parentName, parentType string, direction string, externalIDs map[string]string) error { ops, err := c.DeleteAclsOps(parentName, parentType, direction, externalIDs) if err != nil { + klog.Error(err) return err } @@ -642,6 +670,7 @@ func (c *ovnClient) DeleteAcls(parentName, parentType string, direction string, func (c *ovnClient) DeleteAcl(parentName, parentType, direction, priority, match string) error { acl, err := c.GetAcl(parentName, direction, priority, match, true) if err != nil { + klog.Error(err) return err } @@ -654,16 +683,19 @@ func (c *ovnClient) DeleteAcl(parentName, parentType, direction, priority, match if parentType == portGroupKey { // remove acl from port group removeAclOp, err = c.portGroupUpdateAclOp(parentName, []string{acl.UUID}, ovsdb.MutateOperationDelete) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for deleting acl from port group %s: %v", parentName, err) } } else { // remove acl from logical switch removeAclOp, err = c.logicalSwitchUpdateAclOp(parentName, []string{acl.UUID}, ovsdb.MutateOperationDelete) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for deleting acl from logical switch %s: %v", parentName, err) } } if err = c.Transact("acls-del", removeAclOp); err != nil { + klog.Error(err) return fmt.Errorf("del acls from type %s %s: %v", parentType, parentName, err) } @@ -717,6 +749,7 @@ func (c *ovnClient) ListAcls(direction string, externalIDs map[string]string) ([ aclList := make([]ovnnb.ACL, 0) if err := c.WhereCache(aclFilter(direction, externalIDs)).List(ctx, &aclList); err != nil { + klog.Error(err) return nil, fmt.Errorf("list acls: %v", err) } @@ -740,6 +773,7 @@ func (c *ovnClient) newAcl(parent, direction, priority, match, action string, op exists, err := c.AclExists(parent, direction, priority, match) if err != nil { + klog.Error(err) return nil, fmt.Errorf("get parent %s acl: %v", parent, err) } @@ -875,6 +909,7 @@ func (c *ovnClient) newSgRuleACL(sgName string, direction string, rule *kubeovnv acl, err := c.newAcl(pgName, direction, strconv.Itoa(highestPriority-rule.Priority), match.String(), action) if err != nil { + klog.Error(err) return nil, fmt.Errorf("new security group acl for port group %s: %v", pgName, err) } @@ -1029,6 +1064,7 @@ func (c *ovnClient) CreateAclsOps(parentName, parentType string, acls ...*ovnnb. createAclsOp, err := c.ovnNbClient.Create(models...) if err != nil { + klog.Error(err) return nil, fmt.Errorf("generate operations for creating acls: %v", err) } @@ -1036,11 +1072,13 @@ func (c *ovnClient) CreateAclsOps(parentName, parentType string, acls ...*ovnnb. if parentType == portGroupKey { // acl attach to port group aclAddOp, err = c.portGroupUpdateAclOp(parentName, aclUUIDs, ovsdb.MutateOperationInsert) if err != nil { + klog.Error(err) return nil, fmt.Errorf("generate operations for adding acls to port group %s: %v", parentName, err) } } else { // acl attach to logical switch aclAddOp, err = c.logicalSwitchUpdateAclOp(parentName, aclUUIDs, ovsdb.MutateOperationInsert) if err != nil { + klog.Error(err) return nil, fmt.Errorf("generate operations for adding acls to logical switch %s: %v", parentName, err) } } @@ -1065,6 +1103,7 @@ func (c *ovnClient) DeleteAclsOps(parentName, parentType string, direction strin /* delete acls from port group or logical switch */ acls, err := c.ListAcls(direction, externalIDs) if err != nil { + klog.Error(err) return nil, fmt.Errorf("list type %s %s acls: %v", parentType, parentName, err) } @@ -1078,11 +1117,13 @@ func (c *ovnClient) DeleteAclsOps(parentName, parentType string, direction strin if parentType == portGroupKey { // remove acl from port group removeAclOp, err = c.portGroupUpdateAclOp(parentName, aclUUIDs, ovsdb.MutateOperationDelete) if err != nil { + klog.Error(err) return nil, fmt.Errorf("generate operations for deleting acls from port group %s: %v", parentName, err) } } else { // remove acl from logical switch removeAclOp, err = c.logicalSwitchUpdateAclOp(parentName, aclUUIDs, ovsdb.MutateOperationDelete) if err != nil { + klog.Error(err) return nil, fmt.Errorf("generate operations for deleting acls from logical switch %s: %v", parentName, err) } } diff --git a/pkg/ovs/ovn-nb-address_set.go b/pkg/ovs/ovn-nb-address_set.go index c7a74add69d..c06cf51a0b1 100644 --- a/pkg/ovs/ovn-nb-address_set.go +++ b/pkg/ovs/ovn-nb-address_set.go @@ -22,6 +22,7 @@ func (c *ovnClient) CreateAddressSet(asName string, externalIDs map[string]strin exists, err := c.AddressSetExists(asName) if err != nil { + klog.Error(err) return err } @@ -37,6 +38,7 @@ func (c *ovnClient) CreateAddressSet(asName string, externalIDs map[string]strin ops, err := c.ovnNbClient.Create(as) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for creating address set %s: %v", asName, err) } @@ -52,6 +54,7 @@ func (c *ovnClient) CreateAddressSet(asName string, externalIDs map[string]strin func (c *ovnClient) AddressSetUpdateAddress(asName string, addresses ...string) error { as, err := c.GetAddressSet(asName, false) if err != nil { + klog.Error(err) return fmt.Errorf("get address set %s: %v", asName, err) } @@ -88,10 +91,12 @@ func (c *ovnClient) UpdateAddressSet(as *ovnnb.AddressSet, fields ...interface{} op, err := c.Where(as).Update(as, fields...) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for updating address set %s: %v", as.Name, err) } if err = c.Transact("as-update", op); err != nil { + klog.Error(err) return fmt.Errorf("update address set %s: %v", as.Name, err) } @@ -101,6 +106,7 @@ func (c *ovnClient) UpdateAddressSet(as *ovnnb.AddressSet, fields ...interface{} func (c *ovnClient) DeleteAddressSet(asName string) error { as, err := c.GetAddressSet(asName, true) if err != nil { + klog.Error(err) return fmt.Errorf("get address set %s: %v", asName, err) } @@ -111,6 +117,7 @@ func (c *ovnClient) DeleteAddressSet(asName string) error { op, err := c.Where(as).Delete() if err != nil { + klog.Error(err) return err } @@ -130,6 +137,7 @@ func (c *ovnClient) DeleteAddressSets(externalIDs map[string]string) error { op, err := c.WhereCache(addressSetFilter(externalIDs)).Delete() if err != nil { + klog.Error(err) return fmt.Errorf("generate operation for deleting address sets with external IDs %v: %v", externalIDs, err) } @@ -150,6 +158,7 @@ func (c *ovnClient) GetAddressSet(asName string, ignoreNotFound bool) (*ovnnb.Ad if ignoreNotFound && err == client.ErrNotFound { return nil, nil } + klog.Error(err) return nil, fmt.Errorf("get address set %s: %v", asName, err) } diff --git a/pkg/ovs/ovn-nb-bfd.go b/pkg/ovs/ovn-nb-bfd.go index f37f89d2057..4dc7c841c45 100644 --- a/pkg/ovs/ovn-nb-bfd.go +++ b/pkg/ovs/ovn-nb-bfd.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/kubeovn/kube-ovn/pkg/ovsdb/ovnnb" + "k8s.io/klog/v2" ) func (c *ovnClient) ListBFD(lrpName, dstIP string) ([]ovnnb.BFD, error) { @@ -27,6 +28,7 @@ func (c *ovnClient) ListBFD(lrpName, dstIP string) ([]ovnnb.BFD, error) { func (c *ovnClient) CreateBFD(lrpName, dstIP string, minRx, minTx, detectMult int) (*ovnnb.BFD, error) { bfdList, err := c.ListBFD(lrpName, dstIP) if err != nil { + klog.Error(err) return nil, err } if len(bfdList) != 0 { @@ -60,6 +62,7 @@ func (c *ovnClient) CreateBFD(lrpName, dstIP string, minRx, minTx, detectMult in func (c *ovnClient) DeleteBFD(lrpName, dstIP string) error { bfdList, err := c.ListBFD(lrpName, dstIP) if err != nil { + klog.Error(err) return err } if len(bfdList) == 0 { diff --git a/pkg/ovs/ovn-nb-dhcp_options.go b/pkg/ovs/ovn-nb-dhcp_options.go index e0e93b19789..96b98060cf1 100644 --- a/pkg/ovs/ovn-nb-dhcp_options.go +++ b/pkg/ovs/ovn-nb-dhcp_options.go @@ -6,6 +6,7 @@ import ( "strings" "github.com/ovn-org/libovsdb/ovsdb" + "k8s.io/klog/v2" kubeovnv1 "github.com/kubeovn/kube-ovn/pkg/apis/kubeovn/v1" "github.com/kubeovn/kube-ovn/pkg/ovsdb/ovnnb" @@ -20,15 +21,18 @@ type DHCPOptionsUUIDs struct { func (c *ovnClient) CreateDHCPOptions(lsName, cidr, options string) error { dhcpOpt, err := newDHCPOptions(lsName, cidr, options) if err != nil { + klog.Error(err) return err } op, err := c.ovnNbClient.Create(dhcpOpt) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for creating dhcp options 'cidr %s options %s': %v", cidr, options, err) } if err = c.Transact("dhcp-create", op); err != nil { + klog.Error(err) return fmt.Errorf("create dhcp options with cidr %q options %q: %v", cidr, options, err) } @@ -67,11 +71,13 @@ func (c *ovnClient) UpdateDHCPOptions(subnet *kubeovnv1.Subnet, mtu int) (*DHCPO dhcpV4OptUUID, err := c.updateDHCPv4Options(lsName, v4CIDR, v4Gateway, subnet.Spec.DHCPv4Options, mtu) if err != nil { + klog.Error(err) return nil, fmt.Errorf("update IPv4 dhcp options for logical switch %s: %v", lsName, err) } dhcpV6OptUUID, err := c.updateDHCPv6Options(lsName, v6CIDR, subnet.Spec.DHCPv6Options) if err != nil { + klog.Error(err) return nil, fmt.Errorf("update IPv6 dhcp options for logical switch %s: %v", lsName, err) } @@ -89,6 +95,7 @@ func (c *ovnClient) updateDHCPv4Options(lsName, cidr, gateway, options string, m dhcpOpt, err := c.GetDHCPOptions(lsName, protocol, true) if err != nil { + klog.Error(err) return } @@ -115,6 +122,7 @@ func (c *ovnClient) updateDHCPv4Options(lsName, cidr, gateway, options string, m dhcpOpt, err = c.GetDHCPOptions(lsName, protocol, false) if err != nil { + klog.Error(err) return "", err } @@ -129,6 +137,7 @@ func (c *ovnClient) updateDHCPv6Options(lsName, cidr, options string) (uuid stri dhcpOpt, err := c.GetDHCPOptions(lsName, protocol, true) if err != nil { + klog.Error(err) return } @@ -155,6 +164,7 @@ func (c *ovnClient) updateDHCPv6Options(lsName, cidr, options string) (uuid stri dhcpOpt, err = c.GetDHCPOptions(lsName, protocol, false) if err != nil { + klog.Error(err) return "", err } @@ -169,6 +179,7 @@ func (c *ovnClient) updateDHCPOptions(dhcpOpt *ovnnb.DHCPOptions, fields ...inte op, err := c.ovnNbClient.Where(dhcpOpt).Update(dhcpOpt, fields...) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for updating dhcp options %s: %v", dhcpOpt.UUID, err) } @@ -189,6 +200,7 @@ func (c *ovnClient) DeleteDHCPOptionsByUUIDs(uuidList ...string) error { op, err := c.Where(dhcpOptions).Delete() if err != nil { + klog.Error(err) return err } ops = append(ops, op...) @@ -213,10 +225,12 @@ func (c *ovnClient) DeleteDHCPOptions(lsName string, protocol string) error { op, err := c.WhereCache(dhcpOptionsFilter(true, externalIDs)).Delete() if err != nil { + klog.Error(err) return fmt.Errorf("generate operation for deleting dhcp options: %v", err) } if err = c.Transact("dhcp-options-del", op); err != nil { + klog.Error(err) return fmt.Errorf("delete logical switch %s dhcp options: %v", lsName, err) } @@ -240,6 +254,7 @@ func (c *ovnClient) GetDHCPOptions(lsName, protocol string, ignoreNotFound bool) }) if err != nil { + klog.Error(err) return nil, fmt.Errorf("get logical switch %s %s dhcp options: %v", lsName, protocol, err) } diff --git a/pkg/ovs/ovn-nb-gateway_chassis.go b/pkg/ovs/ovn-nb-gateway_chassis.go index 848c7ac3b0a..489b1917c52 100644 --- a/pkg/ovs/ovn-nb-gateway_chassis.go +++ b/pkg/ovs/ovn-nb-gateway_chassis.go @@ -7,6 +7,7 @@ import ( "github.com/ovn-org/libovsdb/client" "github.com/ovn-org/libovsdb/model" "github.com/ovn-org/libovsdb/ovsdb" + "k8s.io/klog/v2" ovsclient "github.com/kubeovn/kube-ovn/pkg/ovsdb/client" "github.com/kubeovn/kube-ovn/pkg/ovsdb/ovnnb" @@ -38,6 +39,7 @@ func (c *ovnClient) DeleteGatewayChassises(lrpName string, chassises []string) e gwChassisName := lrpName + "-" + chassisName op, err := c.DeleteGatewayChassisOp(gwChassisName) if err != nil { + klog.Error(err) return nil } @@ -82,6 +84,7 @@ func (c *ovnClient) GatewayChassisExist(name string) (bool, error) { func (c *ovnClient) newGatewayChassis(gwChassisName, chassisName string, priority int) (*ovnnb.GatewayChassis, error) { exists, err := c.GatewayChassisExist(gwChassisName) if err != nil { + klog.Error(err) return nil, err } @@ -113,6 +116,7 @@ func (c *ovnClient) CreateGatewayChassisesOp(lrpName string, chassises []string) gwChassisName := lrpName + "-" + chassisName gwChassis, err := c.newGatewayChassis(gwChassisName, chassisName, 100-i) if err != nil { + klog.Error(err) return nil, err } @@ -125,12 +129,14 @@ func (c *ovnClient) CreateGatewayChassisesOp(lrpName string, chassises []string) gwChassisCreateop, err := c.Create(models...) if err != nil { + klog.Error(err) return nil, fmt.Errorf("generate operations for creating gateway chassis %v", err) } /* add gateway chassis to logical router port */ gwChassisAddOp, err := c.LogicalRouterPortUpdateGatewayChassisOp(lrpName, uuids, ovsdb.MutateOperationInsert) if err != nil { + klog.Error(err) return nil, err } @@ -146,6 +152,7 @@ func (c *ovnClient) DeleteGatewayChassisOp(chassisName string) ([]ovsdb.Operatio gwChassis, err := c.GetGatewayChassis(chassisName, true) if err != nil { + klog.Error(err) return nil, err } @@ -156,6 +163,7 @@ func (c *ovnClient) DeleteGatewayChassisOp(chassisName string) ([]ovsdb.Operatio op, err := c.Where(gwChassis).Delete() if err != nil { + klog.Error(err) return nil, err } diff --git a/pkg/ovs/ovn-nb-load_balancer.go b/pkg/ovs/ovn-nb-load_balancer.go index 881007bf69c..b21d1ad92ed 100644 --- a/pkg/ovs/ovn-nb-load_balancer.go +++ b/pkg/ovs/ovn-nb-load_balancer.go @@ -9,6 +9,7 @@ import ( "github.com/ovn-org/libovsdb/model" "github.com/ovn-org/libovsdb/ovsdb" + "k8s.io/klog/v2" ovsclient "github.com/kubeovn/kube-ovn/pkg/ovsdb/client" "github.com/kubeovn/kube-ovn/pkg/ovsdb/ovnnb" @@ -18,6 +19,7 @@ import ( func (c *ovnClient) CreateLoadBalancer(lbName, protocol, selectFields string) error { exist, err := c.LoadBalancerExists(lbName) if err != nil { + klog.Error(err) return err } @@ -126,6 +128,7 @@ func (c *ovnClient) LoadBalancerDeleteVip(lbName string, vip string) error { func (c *ovnClient) SetLoadBalancerAffinityTimeout(lbName string, timeout int) error { lb, err := c.GetLoadBalancer(lbName, false) if err != nil { + klog.Error(err) return err } value := strconv.Itoa(timeout) @@ -171,10 +174,12 @@ func (c *ovnClient) DeleteLoadBalancers(filter func(lb *ovnnb.LoadBalancer) bool func (c *ovnClient) DeleteLoadBalancer(lbName string) error { op, err := c.DeleteLoadBalancerOp(lbName) if err != nil { - return nil + klog.Error(err) + return err } if err := c.Transact("lb-del", op); err != nil { + klog.Error(err) return fmt.Errorf("delete load balancer %s: %v", lbName, err) } @@ -236,6 +241,7 @@ func (c *ovnClient) ListLoadBalancers(filter func(lb *ovnnb.LoadBalancer) bool) func (c *ovnClient) LoadBalancerOp(lbName string, mutationsFunc ...func(lb *ovnnb.LoadBalancer) []model.Mutation) ([]ovsdb.Operation, error) { lb, err := c.GetLoadBalancer(lbName, false) if err != nil { + klog.Error(err) return nil, err } @@ -255,6 +261,7 @@ func (c *ovnClient) LoadBalancerOp(lbName string, mutationsFunc ...func(lb *ovnn ops, err := c.ovnNbClient.Where(lb).Mutate(lb, mutations...) if err != nil { + klog.Error(err) return nil, fmt.Errorf("generate operations for mutating load balancer %s: %v", lb.Name, err) } @@ -266,6 +273,7 @@ func (c *ovnClient) DeleteLoadBalancerOp(lbName string) ([]ovsdb.Operation, erro lb, err := c.GetLoadBalancer(lbName, true) if err != nil { + klog.Error(err) return nil, err } @@ -276,6 +284,7 @@ func (c *ovnClient) DeleteLoadBalancerOp(lbName string) ([]ovsdb.Operation, erro op, err := c.Where(lb).Delete() if err != nil { + klog.Error(err) return nil, err } diff --git a/pkg/ovs/ovn-nb-logical_router.go b/pkg/ovs/ovn-nb-logical_router.go index ec3d7077762..80f6550282d 100644 --- a/pkg/ovs/ovn-nb-logical_router.go +++ b/pkg/ovs/ovn-nb-logical_router.go @@ -32,6 +32,7 @@ func (c *ovnClient) CreateLogicalRouter(lrName string) error { op, err := c.ovnNbClient.Create(lr) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for creating logical router %s: %v", lrName, err) } @@ -46,6 +47,7 @@ func (c *ovnClient) CreateLogicalRouter(lrName string) error { func (c *ovnClient) UpdateLogicalRouter(lr *ovnnb.LogicalRouter, fields ...interface{}) error { op, err := c.UpdateLogicalRouterOp(lr, fields...) if err != nil { + klog.Error(err) return err } @@ -60,6 +62,7 @@ func (c *ovnClient) UpdateLogicalRouter(lr *ovnnb.LogicalRouter, fields ...inter func (c *ovnClient) DeleteLogicalRouter(lrName string) error { lr, err := c.GetLogicalRouter(lrName, true) if err != nil { + klog.Error(err) return fmt.Errorf("get logical router %s when delete: %v", lrName, err) } @@ -70,6 +73,7 @@ func (c *ovnClient) DeleteLogicalRouter(lrName string) error { op, err := c.Where(lr).Delete() if err != nil { + klog.Error(err) return err } @@ -148,6 +152,7 @@ func (c *ovnClient) LogicalRouterUpdateLoadBalancers(lrName string, op ovsdb.Mut for _, lbName := range lbNames { lb, err := c.GetLoadBalancer(lbName, true) if err != nil { + klog.Error(err) return err } @@ -169,6 +174,7 @@ func (c *ovnClient) LogicalRouterUpdateLoadBalancers(lrName string, op ovsdb.Mut ops, err := c.LogicalRouterOp(lrName, mutation) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for logical router %s update lbs %v: %v", lrName, lbNames, err) } @@ -188,6 +194,7 @@ func (c *ovnClient) UpdateLogicalRouterOp(lr *ovnnb.LogicalRouter, fields ...int op, err := c.ovnNbClient.Where(lr).Update(lr, fields...) if err != nil { + klog.Error(err) return nil, fmt.Errorf("generate operations for updating logical router %s: %v", lr.Name, err) } @@ -299,6 +306,7 @@ func (c *ovnClient) LogicalRouterUpdateStaticRouteOp(lrName string, routeUUIDs [ func (c *ovnClient) LogicalRouterOp(lrName string, mutationsFunc ...func(lr *ovnnb.LogicalRouter) *model.Mutation) ([]ovsdb.Operation, error) { lr, err := c.GetLogicalRouter(lrName, false) if err != nil { + klog.Error(err) return nil, fmt.Errorf("get logical router %s: %v", lrName, err) } @@ -318,6 +326,7 @@ func (c *ovnClient) LogicalRouterOp(lrName string, mutationsFunc ...func(lr *ovn ops, err := c.ovnNbClient.Where(lr).Mutate(lr, mutations...) if err != nil { + klog.Error(err) return nil, fmt.Errorf("generate operations for mutating logical router %s: %v", lrName, err) } diff --git a/pkg/ovs/ovn-nb-logical_router_policy.go b/pkg/ovs/ovn-nb-logical_router_policy.go index 5c16621b7f7..2e53cc62469 100644 --- a/pkg/ovs/ovn-nb-logical_router_policy.go +++ b/pkg/ovs/ovn-nb-logical_router_policy.go @@ -9,6 +9,7 @@ import ( "github.com/ovn-org/libovsdb/model" "github.com/ovn-org/libovsdb/ovsdb" "github.com/scylladb/go-set/strset" + "k8s.io/klog/v2" ovsclient "github.com/kubeovn/kube-ovn/pkg/ovsdb/client" "github.com/kubeovn/kube-ovn/pkg/ovsdb/ovnnb" @@ -66,11 +67,13 @@ func (c *ovnClient) CreateLogicalRouterPolicies(lrName string, policies ...*ovnn createPoliciesOp, err := c.ovnNbClient.Create(models...) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for creating policies: %v", err) } policyAddOp, err := c.LogicalRouterUpdatePolicyOp(lrName, policyUUIDs, ovsdb.MutateOperationInsert) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for adding policies to logical router %s: %v", lrName, err) } @@ -89,11 +92,13 @@ func (c *ovnClient) CreateLogicalRouterPolicies(lrName string, policies ...*ovnn func (c *ovnClient) DeleteLogicalRouterPolicy(lrName string, priority int, match string) error { policyList, err := c.GetLogicalRouterPolicy(lrName, priority, match, true) if err != nil { + klog.Error(err) return err } for _, p := range policyList { if err := c.DeleteLogicalRouterPolicyByUUID(lrName, p.UUID); err != nil { + klog.Error(err) return err } } @@ -106,6 +111,7 @@ func (c *ovnClient) DeleteLogicalRouterPolicies(lrName string, priority int, ext // remove policies from logical router policies, err := c.ListLogicalRouterPolicies(lrName, priority, externalIDs) if err != nil { + klog.Error(err) return err } if len(policies) == 0 { @@ -147,6 +153,7 @@ func (c *ovnClient) DeleteLogicalRouterPolicyByNexthop(lrName string, priority i return (route.Nexthop != nil && *route.Nexthop == nexthop) || util.ContainsString(route.Nexthops, nexthop) }) if err != nil { + klog.Error(err) return err } for _, policy := range policyList { @@ -290,6 +297,7 @@ func (c *ovnClient) DeleteRouterPolicy(lr *ovnnb.LogicalRouter, uuid string) err func (c *ovnClient) listLogicalRouterPoliciesByFilter(lrName string, filter func(route *ovnnb.LogicalRouterPolicy) bool) ([]*ovnnb.LogicalRouterPolicy, error) { lr, err := c.GetLogicalRouter(lrName, false) if err != nil { + klog.Error(err) return nil, err } diff --git a/pkg/ovs/ovn-nb-logical_router_port.go b/pkg/ovs/ovn-nb-logical_router_port.go index e7f20e0be23..915aaf5b292 100644 --- a/pkg/ovs/ovn-nb-logical_router_port.go +++ b/pkg/ovs/ovn-nb-logical_router_port.go @@ -21,6 +21,7 @@ func (c *ovnClient) CreatePeerRouterPort(localRouter, remoteRouter, localRouterP exist, err := c.LogicalRouterPortExists(localRouterPort) if err != nil { + klog.Error(err) return err } @@ -44,6 +45,7 @@ func (c *ovnClient) CreatePeerRouterPort(localRouter, remoteRouter, localRouterP ops, err := c.CreateLogicalRouterPortOp(lrp, localRouter) if err != nil { + klog.Error(err) return err } @@ -57,6 +59,7 @@ func (c *ovnClient) CreatePeerRouterPort(localRouter, remoteRouter, localRouterP func (c *ovnClient) UpdateLogicalRouterPortRA(lrpName, ipv6RAConfigsStr string, enableIPv6RA bool) error { lrp, err := c.GetLogicalRouterPort(lrpName, false) if err != nil { + klog.Error(err) return err } @@ -84,6 +87,7 @@ func (c *ovnClient) UpdateLogicalRouterPortOptions(lrpName string, options map[s lrp, err := c.GetLogicalRouterPort(lrpName, false) if err != nil { + klog.Error(err) return err } @@ -109,6 +113,7 @@ func (c *ovnClient) UpdateLogicalRouterPort(lrp *ovnnb.LogicalRouterPort, fields op, err := c.Where(lrp).Update(lrp, fields...) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for updating logical router port %s: %v", lrp.Name, err) } @@ -123,6 +128,7 @@ func (c *ovnClient) UpdateLogicalRouterPort(lrp *ovnnb.LogicalRouterPort, fields func (c *ovnClient) CreateLogicalRouterPort(lrName string, lrpName, mac string, networks []string) error { exists, err := c.LogicalRouterPortExists(lrpName) if err != nil { + klog.Error(err) return err } @@ -144,6 +150,7 @@ func (c *ovnClient) CreateLogicalRouterPort(lrName string, lrpName, mac string, op, err := c.CreateLogicalRouterPortOp(lrp, lrName) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for creating logical router port %s: %v", lrp.Name, err) } @@ -158,6 +165,7 @@ func (c *ovnClient) CreateLogicalRouterPort(lrName string, lrpName, mac string, func (c *ovnClient) DeleteLogicalRouterPorts(externalIDs map[string]string, filter func(lrp *ovnnb.LogicalRouterPort) bool) error { lrpList, err := c.ListLogicalRouterPorts(externalIDs, filter) if err != nil { + klog.Error(err) return fmt.Errorf("list logical router ports: %v", err) } @@ -165,6 +173,7 @@ func (c *ovnClient) DeleteLogicalRouterPorts(externalIDs map[string]string, filt for _, lrp := range lrpList { op, err := c.DeleteLogicalRouterPortOp(lrp.Name) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for deleting logical router port %s: %v", lrp.Name, err) } ops = append(ops, op...) @@ -181,6 +190,7 @@ func (c *ovnClient) DeleteLogicalRouterPorts(externalIDs map[string]string, filt func (c *ovnClient) DeleteLogicalRouterPort(lrpName string) error { ops, err := c.DeleteLogicalRouterPortOp(lrpName) if err != nil { + klog.Error(err) return err } @@ -276,12 +286,14 @@ func (c *ovnClient) CreateLogicalRouterPortOp(lrp *ovnnb.LogicalRouterPort, lrNa /* create logical router port */ lrpCreateOp, err := c.Create(lrp) if err != nil { + klog.Error(err) return nil, fmt.Errorf("generate operations for creating logical router port %s: %v", lrp.Name, err) } /* add logical router port to logical router*/ lrpAddOp, err := c.LogicalRouterUpdatePortOp(lrName, lrp.UUID, ovsdb.MutateOperationInsert) if err != nil { + klog.Error(err) return nil, err } @@ -296,6 +308,7 @@ func (c *ovnClient) CreateLogicalRouterPortOp(lrp *ovnnb.LogicalRouterPort, lrNa func (c *ovnClient) DeleteLogicalRouterPortOp(lrpName string) ([]ovsdb.Operation, error) { lrp, err := c.GetLogicalRouterPort(lrpName, true) if err != nil { + klog.Error(err) return nil, fmt.Errorf("get logical router port %s when generate delete operations: %v", lrpName, err) } @@ -313,6 +326,7 @@ func (c *ovnClient) DeleteLogicalRouterPortOp(lrpName string) ([]ovsdb.Operation func (c *ovnClient) LogicalRouterPortOp(lrpName string, mutationsFunc ...func(lrp *ovnnb.LogicalRouterPort) *model.Mutation) ([]ovsdb.Operation, error) { lrp, err := c.GetLogicalRouterPort(lrpName, false) if err != nil { + klog.Error(err) return nil, err } @@ -332,6 +346,7 @@ func (c *ovnClient) LogicalRouterPortOp(lrpName string, mutationsFunc ...func(lr ops, err := c.ovnNbClient.Where(lrp).Mutate(lrp, mutations...) if err != nil { + klog.Error(err) return nil, fmt.Errorf("generate operations for mutating logical router port %s: %v", lrpName, err) } @@ -373,6 +388,7 @@ func logicalRouterPortFilter(externalIDs map[string]string, filter func(lrp *ovn func (c *ovnClient) AddLogicalRouterPort(lr, name, mac, networks string) error { router, err := c.GetLogicalRouter(lr, false) if err != nil { + klog.Error(err) return err } @@ -394,6 +410,7 @@ func (c *ovnClient) AddLogicalRouterPort(lr, name, mac, networks string) error { createOps, err := c.ovnNbClient.Create(lrp) if err != nil { + klog.Error(err) return err } ops = append(ops, createOps...) @@ -408,6 +425,7 @@ func (c *ovnClient) AddLogicalRouterPort(lr, name, mac, networks string) error { }, ) if err != nil { + klog.Error(err) return err } ops = append(ops, mutationOps...) diff --git a/pkg/ovs/ovn-nb-logical_router_route.go b/pkg/ovs/ovn-nb-logical_router_route.go index 0c34ede5c0f..99f4dbe7611 100644 --- a/pkg/ovs/ovn-nb-logical_router_route.go +++ b/pkg/ovs/ovn-nb-logical_router_route.go @@ -9,6 +9,7 @@ import ( "github.com/ovn-org/libovsdb/model" "github.com/ovn-org/libovsdb/ovsdb" "github.com/scylladb/go-set/strset" + "k8s.io/klog/v2" ovsclient "github.com/kubeovn/kube-ovn/pkg/ovsdb/client" "github.com/kubeovn/kube-ovn/pkg/ovsdb/ovnnb" @@ -66,6 +67,7 @@ func (c *ovnClient) AddLogicalRouterStaticRoute(lrName, routeTable, policy, ipPr routes, err := c.ListLogicalRouterStaticRoutes(lrName, &routeTable, &policy, ipPrefix, nil) if err != nil { + klog.Error(err) return err } @@ -83,6 +85,7 @@ func (c *ovnClient) AddLogicalRouterStaticRoute(lrName, routeTable, policy, ipPr if !existing.Has(nexthop) { route, err := c.newLogicalRouterStaticRoute(lrName, routeTable, policy, ipPrefix, nexthop, bfdId) if err != nil { + klog.Error(err) return err } toAdd = append(toAdd, route) @@ -94,9 +97,11 @@ func (c *ovnClient) AddLogicalRouterStaticRoute(lrName, routeTable, policy, ipPr } ops, err := c.LogicalRouterUpdateStaticRouteOp(lrName, toDel, ovsdb.MutateOperationDelete) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for removing static routes from logical router %s: %v", lrName, err) } if err = c.Transact("lr-route-del", ops); err != nil { + klog.Error(err) return fmt.Errorf("failed to delete static routes from logical router %s: %v", lrName, err) } @@ -111,6 +116,7 @@ func (c *ovnClient) UpdateLogicalRouterStaticRoute(route *ovnnb.LogicalRouterSta op, err := c.ovnNbClient.Where(route).Update(route, fields...) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for updating logical router static route 'policy %s ip_prefix %s': %v", *route.Policy, route.IPPrefix, err) } @@ -129,6 +135,7 @@ func (c *ovnClient) DeleteLogicalRouterStaticRoute(lrName string, routeTable, po routes, err := c.ListLogicalRouterStaticRoutes(lrName, routeTable, policy, ipPrefix, nil) if err != nil { + klog.Error(err) return err } @@ -147,9 +154,11 @@ func (c *ovnClient) DeleteLogicalRouterStaticRoute(lrName string, routeTable, po // remove static route from logical router ops, err := c.LogicalRouterUpdateStaticRouteOp(lrName, uuids, ovsdb.MutateOperationDelete) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for removing static routes %v from logical router %s: %v", uuids, lrName, err) } if err = c.Transact("lr-route-del", ops); err != nil { + klog.Error(err) return fmt.Errorf("delete static routes %v from logical router %s: %v", uuids, lrName, err) } @@ -160,6 +169,7 @@ func (c *ovnClient) DeleteLogicalRouterStaticRoute(lrName string, routeTable, po func (c *ovnClient) ClearLogicalRouterStaticRoute(lrName string) error { lr, err := c.GetLogicalRouter(lrName, false) if err != nil { + klog.Error(err) return fmt.Errorf("get logical router %s: %v", lrName, err) } @@ -167,9 +177,11 @@ func (c *ovnClient) ClearLogicalRouterStaticRoute(lrName string) error { lr.StaticRoutes = nil ops, err := c.UpdateLogicalRouterOp(lr, &lr.StaticRoutes) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for clear logical router %s static route: %v", lrName, err) } if err = c.Transact("lr-route-clear", ops); err != nil { + klog.Error(err) return fmt.Errorf("clear logical router %s static routes: %v", lrName, err) } @@ -183,6 +195,7 @@ func (c *ovnClient) GetLogicalRouterStaticRouteByUUID(uuid string) (*ovnnb.Logic route := &ovnnb.LogicalRouterStaticRoute{UUID: uuid} if err := c.Get(ctx, route); err != nil { + klog.Error(err) return nil, err } @@ -203,6 +216,7 @@ func (c *ovnClient) GetLogicalRouterStaticRoute(lrName, routeTable, policy, ipPr } routeList, err := c.listLogicalRouterStaticRoutesByFilter(lrName, fnFilter) if err != nil { + klog.Error(err) return nil, fmt.Errorf("get logical router %s static route 'policy %s ip_prefix %s nexthop %s': %v", lrName, policy, ipPrefix, nexthop, err) } @@ -283,6 +297,7 @@ func (c *ovnClient) newLogicalRouterStaticRoute(lrName, routeTable, policy, ipPr exists, err := c.LogicalRouterStaticRouteExists(lrName, routeTable, policy, ipPrefix, nexthop) if err != nil { + klog.Error(err) return nil, fmt.Errorf("get logical router %s route: %v", lrName, err) } @@ -314,6 +329,7 @@ func (c *ovnClient) newLogicalRouterStaticRoute(lrName, routeTable, policy, ipPr func (c *ovnClient) listLogicalRouterStaticRoutesByFilter(lrName string, filter func(route *ovnnb.LogicalRouterStaticRoute) bool) ([]*ovnnb.LogicalRouterStaticRoute, error) { lr, err := c.GetLogicalRouter(lrName, false) if err != nil { + klog.Error(err) return nil, err } @@ -324,6 +340,7 @@ func (c *ovnClient) listLogicalRouterStaticRoutesByFilter(lrName string, filter if errors.Is(err, client.ErrNotFound) { continue } + klog.Error(err) return nil, err } if filter == nil || filter(route) { diff --git a/pkg/ovs/ovn-nb-logical_switch.go b/pkg/ovs/ovn-nb-logical_switch.go index 57a692e89f3..0a69c56a158 100644 --- a/pkg/ovs/ovn-nb-logical_switch.go +++ b/pkg/ovs/ovn-nb-logical_switch.go @@ -65,6 +65,7 @@ func (c *ovnClient) CreateLogicalSwitch(lsName, lrName, cidrBlock, gateway strin func (c *ovnClient) CreateBareLogicalSwitch(lsName string) error { exist, err := c.LogicalSwitchExists(lsName) if err != nil { + klog.Error(err) return err } @@ -80,6 +81,7 @@ func (c *ovnClient) CreateBareLogicalSwitch(lsName string) error { op, err := c.ovnNbClient.Create(ls) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for creating logical switch %s: %v", lsName, err) } @@ -94,15 +96,18 @@ func (c *ovnClient) CreateBareLogicalSwitch(lsName string) error { func (c *ovnClient) LogicalSwitchAddPort(lsName, lspName string) error { lsp, err := c.GetLogicalSwitchPort(lspName, false) if err != nil { + klog.Error(err) return fmt.Errorf("get logical switch port %s when logical switch add port: %v", lspName, err) } ops, err := c.LogicalSwitchUpdatePortOp(lsName, lsp.UUID, ovsdb.MutateOperationInsert) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for logical switch %s add port %s: %v", lsName, lspName, err) } if err := c.Transact("lsp-add", ops); err != nil { + klog.Error(err) return fmt.Errorf("add port %s to logical switch %s: %v", lspName, lsName, err) } @@ -113,11 +118,13 @@ func (c *ovnClient) LogicalSwitchAddPort(lsName, lspName string) error { func (c *ovnClient) LogicalSwitchDelPort(lsName, lspName string) error { lsp, err := c.GetLogicalSwitchPort(lspName, false) if err != nil { + klog.Error(err) return fmt.Errorf("get logical switch port %s when logical switch del port: %v", lspName, err) } ops, err := c.LogicalSwitchUpdatePortOp(lsName, lsp.UUID, ovsdb.MutateOperationDelete) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for logical switch %s del port %s: %v", lsName, lspName, err) } @@ -139,6 +146,7 @@ func (c *ovnClient) LogicalSwitchUpdateLoadBalancers(lsName string, op ovsdb.Mut for _, lbName := range lbNames { lb, err := c.GetLoadBalancer(lbName, true) if err != nil { + klog.Error(err) return err } @@ -150,6 +158,7 @@ func (c *ovnClient) LogicalSwitchUpdateLoadBalancers(lsName string, op ovsdb.Mut ops, err := c.LogicalSwitchUpdateLoadBalancerOp(lsName, lbUUIDs, op) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for logical switch %s update lbs %v: %v", lsName, lbNames, err) } @@ -165,6 +174,7 @@ func (c *ovnClient) LogicalSwitchUpdateLoadBalancers(lsName string, op ovsdb.Mut func (c *ovnClient) DeleteLogicalSwitch(lsName string) error { op, err := c.DeleteLogicalSwitchOp(lsName) if err != nil { + klog.Error(err) return err } @@ -318,6 +328,7 @@ func (c *ovnClient) logicalSwitchUpdateAclOp(lsName string, aclUUIDs []string, o func (c *ovnClient) LogicalSwitchOp(lsName string, mutationsFunc ...func(ls *ovnnb.LogicalSwitch) *model.Mutation) ([]ovsdb.Operation, error) { ls, err := c.GetLogicalSwitch(lsName, false) if err != nil { + klog.Error(err) return nil, fmt.Errorf("get logical switch %s when generate mutate operations: %v", lsName, err) } @@ -337,6 +348,7 @@ func (c *ovnClient) LogicalSwitchOp(lsName string, mutationsFunc ...func(ls *ovn ops, err := c.ovnNbClient.Where(ls).Mutate(ls, mutations...) if err != nil { + klog.Error(err) return nil, fmt.Errorf("generate operations for mutating logical switch %s: %v", lsName, err) } @@ -347,6 +359,7 @@ func (c *ovnClient) LogicalSwitchOp(lsName string, mutationsFunc ...func(ls *ovn func (c *ovnClient) DeleteLogicalSwitchOp(lsName string) ([]ovsdb.Operation, error) { ls, err := c.GetLogicalSwitch(lsName, true) if err != nil { + klog.Error(err) return nil, fmt.Errorf("get logical switch %s: %v", lsName, err) } @@ -357,6 +370,7 @@ func (c *ovnClient) DeleteLogicalSwitchOp(lsName string) ([]ovsdb.Operation, err op, err := c.Where(ls).Delete() if err != nil { + klog.Error(err) return nil, fmt.Errorf("generate operations for deleting logical switch %s: %v", lsName, err) } diff --git a/pkg/ovs/ovn-nb-logical_switch_port.go b/pkg/ovs/ovn-nb-logical_switch_port.go index 701ac7f51b7..4ba3c89e7ff 100644 --- a/pkg/ovs/ovn-nb-logical_switch_port.go +++ b/pkg/ovs/ovn-nb-logical_switch_port.go @@ -9,6 +9,7 @@ import ( "github.com/ovn-org/libovsdb/client" "github.com/ovn-org/libovsdb/ovsdb" "github.com/scylladb/go-set/strset" + "k8s.io/klog/v2" ovsclient "github.com/kubeovn/kube-ovn/pkg/ovsdb/client" "github.com/kubeovn/kube-ovn/pkg/ovsdb/ovnnb" @@ -18,6 +19,7 @@ import ( func (c *ovnClient) CreateLogicalSwitchPort(lsName, lspName, ip, mac, podName, namespace string, portSecurity bool, securityGroups, vips string, enableDHCP bool, dhcpOptions *DHCPOptionsUUIDs, vpc string) error { exist, err := c.LogicalSwitchPortExists(lspName) if err != nil { + klog.Error(err) return err } @@ -88,6 +90,7 @@ func (c *ovnClient) CreateLogicalSwitchPort(lsName, lspName, ip, mac, podName, n ops, err := c.CreateLogicalSwitchPortOp(lsp, lsName) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for creating logical switch port %s: %v", lspName, err) } @@ -102,6 +105,7 @@ func (c *ovnClient) CreateLogicalSwitchPort(lsName, lspName, ip, mac, podName, n func (c *ovnClient) CreateLocalnetLogicalSwitchPort(lsName, lspName, provider string, vlanID int) error { exist, err := c.LogicalSwitchPortExists(lspName) if err != nil { + klog.Error(err) return err } @@ -127,6 +131,7 @@ func (c *ovnClient) CreateLocalnetLogicalSwitchPort(lsName, lspName, provider st ops, err := c.CreateLogicalSwitchPortOp(lsp, lsName) if err != nil { + klog.Error(err) return err } @@ -146,6 +151,7 @@ func (c *ovnClient) CreateVirtualLogicalSwitchPorts(lsName string, ips ...string exist, err := c.LogicalSwitchPortExists(lspName) if err != nil { + klog.Error(err) return err } @@ -165,6 +171,7 @@ func (c *ovnClient) CreateVirtualLogicalSwitchPorts(lsName string, ips ...string op, err := c.CreateLogicalSwitchPortOp(lsp, lsName) if err != nil { + klog.Error(err) return err } @@ -182,6 +189,7 @@ func (c *ovnClient) CreateVirtualLogicalSwitchPorts(lsName string, ips ...string func (c *ovnClient) CreateBareLogicalSwitchPort(lsName, lspName, ip, mac string) error { exist, err := c.LogicalSwitchPortExists(lspName) if err != nil { + klog.Error(err) return err } @@ -204,6 +212,7 @@ func (c *ovnClient) CreateBareLogicalSwitchPort(lsName, lspName, ip, mac string) ops, err := c.CreateLogicalSwitchPortOp(lsp, lsName) if err != nil { + klog.Error(err) return err } @@ -222,6 +231,7 @@ func (c *ovnClient) SetLogicalSwitchPortVirtualParents(lsName, parents string, i lsp, err := c.GetLogicalSwitchPort(lspName, true) if err != nil { + klog.Error(err) return fmt.Errorf("get logical switch port %s: %v", lspName, err) } @@ -232,6 +242,7 @@ func (c *ovnClient) SetLogicalSwitchPortVirtualParents(lsName, parents string, i op, err := c.UpdateLogicalSwitchPortOp(lsp, &lsp.Options) if err != nil { + klog.Error(err) return err } @@ -259,6 +270,7 @@ func (c *ovnClient) SetLogicalSwitchPortArpProxy(lspName string, enableArpProxy op, err := c.UpdateLogicalSwitchPortOp(lsp, &lsp.Options) if err != nil { + klog.Error(err) return err } if err := c.Transact("lsp-update", op); err != nil { @@ -271,6 +283,7 @@ func (c *ovnClient) SetLogicalSwitchPortArpProxy(lspName string, enableArpProxy func (c *ovnClient) SetLogicalSwitchPortSecurity(portSecurity bool, lspName, mac, ips, vips string) error { lsp, err := c.GetLogicalSwitchPort(lspName, false) if err != nil { + klog.Error(err) return fmt.Errorf("get logical switch port %s: %v", lspName, err) } @@ -315,6 +328,7 @@ func (c *ovnClient) SetLogicalSwitchPortSecurity(portSecurity bool, lspName, mac func (c *ovnClient) SetLogicalSwitchPortExternalIds(lspName string, externalIds map[string]string) error { lsp, err := c.GetLogicalSwitchPort(lspName, false) if err != nil { + klog.Error(err) return fmt.Errorf("get logical switch port %s: %v", lspName, err) } @@ -396,6 +410,7 @@ func (c *ovnClient) SetLogicalSwitchPortsSecurityGroup(sgName string, op string) externalIds := map[string]string{associatedSgKey: associated} lsps, err := c.ListNormalLogicalSwitchPorts(true, externalIds) if err != nil { + klog.Error(err) return fmt.Errorf("list logical switch ports with external_ids %v: %v", externalIds, err) } @@ -413,6 +428,7 @@ func (c *ovnClient) SetLogicalSwitchPortsSecurityGroup(sgName string, op string) func (c *ovnClient) EnablePortLayer2forward(lspName string) error { lsp, err := c.GetLogicalSwitchPort(lspName, false) if err != nil { + klog.Error(err) return fmt.Errorf("get logical switch port %s: %v", lspName, err) } @@ -433,6 +449,7 @@ func (c *ovnClient) SetLogicalSwitchPortVlanTag(lspName string, vlanID int) erro lsp, err := c.GetLogicalSwitchPort(lspName, false) if err != nil { + klog.Error(err) return fmt.Errorf("get logical switch port %s: %v", lspName, err) } @@ -461,6 +478,7 @@ func (c *ovnClient) UpdateLogicalSwitchPort(lsp *ovnnb.LogicalSwitchPort, fields op, err := c.Where(lsp).Update(lsp, fields...) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for updating logical switch port %s: %v", lsp.Name, err) } @@ -475,6 +493,7 @@ func (c *ovnClient) UpdateLogicalSwitchPort(lsp *ovnnb.LogicalSwitchPort, fields func (c *ovnClient) DeleteLogicalSwitchPort(lspName string) error { ops, err := c.DeleteLogicalSwitchPortOp(lspName) if err != nil { + klog.Error(err) return err } @@ -506,6 +525,7 @@ func (c *ovnClient) ListNormalLogicalSwitchPorts(needVendorFilter bool, external return lsp.Type == "" }) if err != nil { + klog.Error(err) return nil, fmt.Errorf("list logical switch ports: %v", err) } @@ -563,12 +583,14 @@ func (c *ovnClient) CreateLogicalSwitchPortOp(lsp *ovnnb.LogicalSwitchPort, lsNa /* create logical switch port */ lspCreateOp, err := c.Create(lsp) if err != nil { + klog.Error(err) return nil, fmt.Errorf("generate operations for creating logical switch port %s: %v", lsp.Name, err) } /* add logical switch port to logical switch*/ lspAddOp, err := c.LogicalSwitchUpdatePortOp(lsName, lsp.UUID, ovsdb.MutateOperationInsert) if err != nil { + klog.Error(err) return nil, err } @@ -583,6 +605,7 @@ func (c *ovnClient) CreateLogicalSwitchPortOp(lsp *ovnnb.LogicalSwitchPort, lsNa func (c *ovnClient) DeleteLogicalSwitchPortOp(lspName string) ([]ovsdb.Operation, error) { lsp, err := c.GetLogicalSwitchPort(lspName, true) if err != nil { + klog.Error(err) return nil, fmt.Errorf("get logical switch port %s when generate delete operations: %v", lspName, err) } diff --git a/pkg/ovs/ovn-nb-nat.go b/pkg/ovs/ovn-nb-nat.go index ff7b317836f..4728e3e1fb3 100644 --- a/pkg/ovs/ovn-nb-nat.go +++ b/pkg/ovs/ovn-nb-nat.go @@ -8,6 +8,7 @@ import ( "github.com/ovn-org/libovsdb/client" "github.com/ovn-org/libovsdb/model" "github.com/ovn-org/libovsdb/ovsdb" + "k8s.io/klog/v2" kubeovnv1 "github.com/kubeovn/kube-ovn/pkg/apis/kubeovn/v1" ovsclient "github.com/kubeovn/kube-ovn/pkg/ovsdb/client" @@ -50,11 +51,13 @@ func (c *ovnClient) CreateNats(lrName string, nats ...*ovnnb.NAT) error { createNatsOp, err := c.ovnNbClient.Create(models...) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for creating nats: %v", err) } natAddOp, err := c.LogicalRouterUpdateNatOp(lrName, natUUIDs, ovsdb.MutateOperationInsert) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for adding nats to logical router %s: %v", lrName, err) } @@ -75,6 +78,7 @@ func (c *ovnClient) UpdateSnat(lrName, externalIP, logicalIP string) error { nat, err := c.GetNat(lrName, natType, "", logicalIP, true) if err != nil { + klog.Error(err) return err } @@ -86,10 +90,12 @@ func (c *ovnClient) UpdateSnat(lrName, externalIP, logicalIP string) error { /* create nat */ if nat, err = c.newNat(lrName, natType, externalIP, logicalIP, "", ""); err != nil { + klog.Error(err) return fmt.Errorf("new logical router %s nat 'type %s external ip %s logical ip %s': %v", lrName, natType, externalIP, logicalIP, err) } if err := c.CreateNats(lrName, nat); err != nil { + klog.Error(err) return fmt.Errorf("add nat 'type %s external ip %s logical ip %s' to logical router %s: %v", natType, externalIP, logicalIP, lrName, err) } @@ -102,6 +108,7 @@ func (c *ovnClient) UpdateDnatAndSnat(lrName, externalIP, logicalIP, lspName, ex nat, err := c.GetNat(lrName, natType, externalIP, "", true) if err != nil { + klog.Error(err) return err } @@ -130,10 +137,12 @@ func (c *ovnClient) UpdateDnatAndSnat(lrName, externalIP, logicalIP, lspName, ex /* create nat */ if nat, err = c.newNat(lrName, natType, externalIP, logicalIP, "", "", options); err != nil { + klog.Error(err) return fmt.Errorf("new logical router %s nat 'type %s external ip %s logical ip %s logical port %s external mac %s': %v", lrName, natType, externalIP, logicalIP, lspName, externalMac, err) } if err := c.CreateNats(lrName, nat); err != nil { + klog.Error(err) return fmt.Errorf("add nat 'type %s external ip %s logical ip %s logical port %s external mac %s' to logical router %s: %v", natType, externalIP, logicalIP, lspName, externalMac, lrName, err) } @@ -148,10 +157,12 @@ func (c *ovnClient) UpdateNat(nat *ovnnb.NAT, fields ...interface{}) error { op, err := c.ovnNbClient.Where(nat).Update(nat, fields...) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for updating nat 'type %s external ip %s logical ip %s': %v", nat.Type, nat.ExternalIP, nat.LogicalIP, err) } if err = c.Transact("net-update", op); err != nil { + klog.Error(err) return fmt.Errorf("update nat 'type %s external ip %s logical ip %s': %v", nat.Type, nat.ExternalIP, nat.LogicalIP, err) } @@ -163,6 +174,7 @@ func (c *ovnClient) DeleteNats(lrName, natType, logicalIP string) error { /* delete nats from logical router */ nats, err := c.ListNats(lrName, natType, logicalIP, nil) if err != nil { + klog.Error(err) return fmt.Errorf("list logical router %s nats 'type %s logical ip %s': %v", lrName, natType, logicalIP, err) } @@ -173,6 +185,7 @@ func (c *ovnClient) DeleteNats(lrName, natType, logicalIP string) error { ops, err := c.LogicalRouterUpdateNatOp(lrName, natsUUIDs, ovsdb.MutateOperationDelete) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for deleting nats from logical router %s: %v", lrName, err) } if err = c.Transact("nats-del", ops); err != nil { @@ -186,12 +199,14 @@ func (c *ovnClient) DeleteNats(lrName, natType, logicalIP string) error { func (c *ovnClient) DeleteNat(lrName, natType, externalIP, logicalIP string) error { nat, err := c.GetNat(lrName, natType, externalIP, logicalIP, false) if err != nil { + klog.Error(err) return err } // remove nat from logical router ops, err := c.LogicalRouterUpdateNatOp(lrName, []string{nat.UUID}, ovsdb.MutateOperationDelete) if err != nil { + klog.Error(err) return fmt.Errorf("generate operations for deleting nat from logical router %s: %v", lrName, err) } if err = c.Transact("lr-nat-del", ops); err != nil { @@ -238,6 +253,7 @@ func (c *ovnClient) GetNat(lrName, natType, externalIP, logicalIP string, ignore } natList, err := c.listLogicalRouterNatByFilter(lrName, fnFilter) if err != nil { + klog.Error(err) return nil, fmt.Errorf("get logical router %s nat 'type %s external ip %s logical ip %s': %v", lrName, natType, externalIP, logicalIP, err) } @@ -282,6 +298,7 @@ func (c *ovnClient) newNat(lrName, natType, externalIP, logicalIP, logicalMac, p exists, err := c.NatExists(lrName, natType, externalIP, logicalIP) if err != nil { + klog.Error(err) return nil, fmt.Errorf("get logical router %s nat: %v", lrName, err) } @@ -351,6 +368,7 @@ func natFilter(natType, logicalIP string, externalIDs map[string]string) func(na func (c *ovnClient) listLogicalRouterNatByFilter(lrName string, filter func(route *ovnnb.NAT) bool) ([]*ovnnb.NAT, error) { lr, err := c.GetLogicalRouter(lrName, false) if err != nil { + klog.Error(err) return nil, err } @@ -361,6 +379,7 @@ func (c *ovnClient) listLogicalRouterNatByFilter(lrName string, filter func(rout if errors.Is(err, client.ErrNotFound) { continue } + klog.Error(err) return nil, err } if filter == nil || filter(nat) { diff --git a/pkg/ovs/ovn-nb-port_group.go b/pkg/ovs/ovn-nb-port_group.go index 40da52ee8e6..cbba9f56672 100644 --- a/pkg/ovs/ovn-nb-port_group.go +++ b/pkg/ovs/ovn-nb-port_group.go @@ -16,6 +16,7 @@ import ( func (c *ovnClient) CreatePortGroup(pgName string, externalIDs map[string]string) error { exist, err := c.PortGroupExists(pgName) if err != nil { + klog.Error(err) return err } @@ -61,6 +62,7 @@ func (c *ovnClient) PortGroupSetPorts(pgName string, ports []string) error { for _, port := range ports { lsp, err := c.GetLogicalSwitchPort(port, true) if err != nil { + klog.Error(err) return err } if lsp != nil { @@ -113,6 +115,7 @@ func (c *ovnClient) PortGroupUpdatePorts(pgName string, op ovsdb.Mutator, lspNam for _, lspName := range lspNames { lsp, err := c.GetLogicalSwitchPort(lspName, true) if err != nil { + klog.Error(err) return err } @@ -147,6 +150,7 @@ func (c *ovnClient) DeletePortGroup(pgName string) error { op, err := c.Where(pg).Delete() if err != nil { + klog.Error(err) return err } diff --git a/pkg/ovs/ovn-nb_global.go b/pkg/ovs/ovn-nb_global.go index c54be3ec5d0..091e424a988 100644 --- a/pkg/ovs/ovn-nb_global.go +++ b/pkg/ovs/ovn-nb_global.go @@ -7,6 +7,7 @@ import ( "strings" "github.com/kubeovn/kube-ovn/pkg/ovsdb/ovnnb" + "k8s.io/klog/v2" ) func (c *ovnClient) CreateNbGlobal(nbGlobal *ovnnb.NBGlobal) error { @@ -21,11 +22,13 @@ func (c *ovnClient) CreateNbGlobal(nbGlobal *ovnnb.NBGlobal) error { func (c *ovnClient) DeleteNbGlobal() error { nbGlobal, err := c.GetNbGlobal() if err != nil { + klog.Error(err) return err } op, err := c.Where(nbGlobal).Delete() if err != nil { + klog.Error(err) return err } @@ -44,6 +47,7 @@ func (c *ovnClient) GetNbGlobal() (*ovnnb.NBGlobal, error) { }).List(ctx, &nbGlobalList) if err != nil { + klog.Error(err) return nil, fmt.Errorf("list nbGlobal: %v", err) } diff --git a/pkg/ovs/ovn-sbctl.go b/pkg/ovs/ovn-sbctl.go index a34a37eb292..0a4721b5ab1 100644 --- a/pkg/ovs/ovn-sbctl.go +++ b/pkg/ovs/ovn-sbctl.go @@ -57,6 +57,7 @@ func (c LegacyClient) GetVersion() (string, error) { } output, err := c.ovnSbCommand("--version") if err != nil { + klog.Error(err) return "", fmt.Errorf("failed to get version,%v", err) } lines := strings.Split(output, "\n") @@ -69,6 +70,7 @@ func (c LegacyClient) GetVersion() (string, error) { func (c LegacyClient) DeleteChassisByNode(node string) error { chassis, err := c.GetChassis(node) if err != nil { + klog.Error(err) return fmt.Errorf("failed to get node chassis %s, %v", node, err) } if chassis == "" { @@ -81,6 +83,7 @@ func (c LegacyClient) DeleteChassisByNode(node string) error { func (c LegacyClient) DeleteChassisByName(chassisName string) error { ovnVersion, err := c.GetVersion() if err != nil { + klog.Error(err) return fmt.Errorf("failed to get ovn version, %v", err) } @@ -97,11 +100,13 @@ func (c LegacyClient) DeleteChassisByName(chassisName string) error { func (c LegacyClient) GetChassis(node string) (string, error) { output, err := c.ovnSbCommand("--format=csv", "--no-heading", "--data=bare", "--columns=name", "find", "chassis", fmt.Sprintf("external_ids:node=%s", node)) if err != nil { + klog.Error(err) return "", fmt.Errorf("failed to find node chassis %s, %v", node, err) } if len(output) == 0 { output, err = c.ovnSbCommand("--format=csv", "--no-heading", "--data=bare", "--columns=name", "find", "chassis", fmt.Sprintf("hostname=%s", node)) if err != nil { + klog.Error(err) return "", fmt.Errorf("failed to find node chassis %s, %v", node, err) } } @@ -111,6 +116,7 @@ func (c LegacyClient) GetChassis(node string) (string, error) { func (c LegacyClient) ChassisExist(chassisName string) (bool, error) { output, err := c.ovnSbCommand("--format=csv", "--no-heading", "--data=bare", "--columns=name", "find", "chassis", fmt.Sprintf("name=%s", chassisName)) if err != nil { + klog.Error(err) return false, fmt.Errorf("failed to find node chassis %s, %v", chassisName, err) } if len(output) == 0 { @@ -122,6 +128,7 @@ func (c LegacyClient) ChassisExist(chassisName string) (bool, error) { func (c LegacyClient) InitChassisNodeTag(chassisName string, nodeName string) error { _, err := c.ovnSbCommand("set", "chassis", chassisName, fmt.Sprintf("external_ids:vendor=%s", util.CniTypeName), fmt.Sprintf("external_ids:node=%s", nodeName)) if err != nil { + klog.Error(err) return fmt.Errorf("failed to set chassis external_ids, %v", err) } return nil @@ -131,6 +138,7 @@ func (c LegacyClient) InitChassisNodeTag(chassisName string, nodeName string) er func (c LegacyClient) GetAllChassis() ([]string, error) { output, err := c.ovnSbCommand("--format=csv", "--no-heading", "--data=bare", "--columns=name", "find", "chassis", fmt.Sprintf("external_ids:vendor=%s", util.CniTypeName)) if err != nil { + klog.Error(err) return nil, fmt.Errorf("failed to find node chassis, %v", err) } lines := strings.Split(output, "\n") diff --git a/pkg/ovs/ovs-vsctl.go b/pkg/ovs/ovs-vsctl.go index 7fe9f9dd19d..3c0afc15ab5 100644 --- a/pkg/ovs/ovs-vsctl.go +++ b/pkg/ovs/ovs-vsctl.go @@ -75,6 +75,7 @@ func ovsFind(table, column string, conditions ...string) ([]string, error) { copy(args[4:], conditions) output, err := Exec(args...) if err != nil { + klog.Error(err) return nil, err } values := strings.Split(output, "\n\n") @@ -121,6 +122,7 @@ func Bridges() ([]string, error) { func BridgeExists(name string) (bool, error) { bridges, err := Bridges() if err != nil { + klog.Error(err) return false, err } return util.ContainsString(bridges, name), nil @@ -143,11 +145,13 @@ func GetQosList(podName, podNamespace, ifaceID string) ([]string, error) { if ifaceID != "" { qosList, err = ovsFind("qos", "_uuid", fmt.Sprintf(`external-ids:iface-id="%s"`, ifaceID)) if err != nil { + klog.Error(err) return qosList, err } } else { qosList, err = ovsFind("qos", "_uuid", fmt.Sprintf(`external-ids:pod="%s/%s"`, podNamespace, podName)) if err != nil { + klog.Error(err) return qosList, err } } @@ -159,12 +163,14 @@ func GetQosList(podName, podNamespace, ifaceID string) ([]string, error) { func ClearPodBandwidth(podName, podNamespace, ifaceID string) error { qosList, err := GetQosList(podName, podNamespace, ifaceID) if err != nil { + klog.Error(err) return err } // https://github.com/kubeovn/kube-ovn/issues/1191 usedQosList, err := ovsFind("port", "qos", "qos!=[]") if err != nil { + klog.Error(err) return err } @@ -255,6 +261,7 @@ func ValidatePortVendor(port string) (bool, error) { func GetInterfacePodNs(iface string) (string, error) { ret, err := ovsFind("interface", "external-ids", fmt.Sprintf("external-ids:iface-id=%s", iface)) if err != nil { + klog.Error(err) return "", err } @@ -279,6 +286,7 @@ func ConfigInterfaceMirror(globalMirror bool, open string, iface string) error { // find interface name for port interfaceList, err := ovsFind("interface", "name", fmt.Sprintf("external-ids:iface-id=%s", iface)) if err != nil { + klog.Error(err) return err } for _, ifName := range interfaceList { @@ -286,6 +294,7 @@ func ConfigInterfaceMirror(globalMirror bool, open string, iface string) error { // find port uuid by interface name portUUIDs, err := ovsFind("port", "_uuid", fmt.Sprintf("name=%s", ifName)) if err != nil { + klog.Error(err) return err } if len(portUUIDs) != 1 { @@ -296,11 +305,13 @@ func ConfigInterfaceMirror(globalMirror bool, open string, iface string) error { // add port to mirror err = ovsAdd("mirror", util.MirrorDefaultName, "select_dst_port", portId) if err != nil { + klog.Error(err) return err } } else { mirrorPorts, err := ovsFind("mirror", "select_dst_port", fmt.Sprintf("name=%s", util.MirrorDefaultName)) if err != nil { + klog.Error(err) return err } if len(mirrorPorts) == 0 { @@ -314,6 +325,7 @@ func ConfigInterfaceMirror(globalMirror bool, open string, iface string) error { // remove port from mirror _, err := Exec("remove", "mirror", util.MirrorDefaultName, "select_dst_port", portId) if err != nil { + klog.Error(err) return err } } @@ -350,6 +362,7 @@ func GetResidualInternalPorts() []string { func ClearPortQosBinding(ifaceID string) error { interfaceList, err := ovsFind("interface", "name", fmt.Sprintf(`external-ids:iface-id="%s"`, ifaceID)) if err != nil { + klog.Error(err) return err } diff --git a/pkg/ovs/ovs-vsctl_linux.go b/pkg/ovs/ovs-vsctl_linux.go index 82df3f41a24..89a57d4695e 100644 --- a/pkg/ovs/ovs-vsctl_linux.go +++ b/pkg/ovs/ovs-vsctl_linux.go @@ -17,16 +17,19 @@ func SetInterfaceBandwidth(podName, podNamespace, iface, ingress, egress string) ingressKPS := ingressMPS * 1000 interfaceList, err := ovsFind("interface", "name", fmt.Sprintf("external-ids:iface-id=%s", iface)) if err != nil { + klog.Error(err) return err } qosIfaceUidMap, err := ListExternalIds("qos") if err != nil { + klog.Error(err) return err } queueIfaceUidMap, err := ListExternalIds("queue") if err != nil { + klog.Error(err) return err } @@ -34,6 +37,7 @@ func SetInterfaceBandwidth(podName, podNamespace, iface, ingress, egress string) // ingress_policing_rate is in Kbps err := ovsSet("interface", ifName, fmt.Sprintf("ingress_policing_rate=%d", ingressKPS), fmt.Sprintf("ingress_policing_burst=%d", ingressKPS*8/10)) if err != nil { + klog.Error(err) return err } @@ -43,6 +47,7 @@ func SetInterfaceBandwidth(podName, podNamespace, iface, ingress, egress string) if egressBPS > 0 { queueUid, err := SetHtbQosQueueRecord(podName, podNamespace, iface, egressBPS, queueIfaceUidMap) if err != nil { + klog.Error(err) return err } @@ -53,6 +58,7 @@ func SetInterfaceBandwidth(podName, podNamespace, iface, ingress, egress string) if qosUid, ok := qosIfaceUidMap[iface]; ok { qosType, err := ovsGet("qos", qosUid, "type", "") if err != nil { + klog.Error(err) return err } if qosType != util.HtbQos { @@ -60,6 +66,7 @@ func SetInterfaceBandwidth(podName, podNamespace, iface, ingress, egress string) } queueId, err := ovsGet("qos", qosUid, "queues", "0") if err != nil { + klog.Error(err) return err } @@ -84,11 +91,13 @@ func ClearHtbQosQueue(podName, podNamespace, iface string) error { if iface != "" { queueList, err = ovsFind("queue", "_uuid", fmt.Sprintf(`external-ids:iface-id="%s"`, iface)) if err != nil { + klog.Error(err) return err } } else { queueList, err = ovsFind("queue", "_uuid", fmt.Sprintf(`external-ids:pod="%s/%s"`, podNamespace, podName)) if err != nil { + klog.Error(err) return err } } @@ -96,6 +105,7 @@ func ClearHtbQosQueue(podName, podNamespace, iface string) error { // https://github.com/kubeovn/kube-ovn/issues/1191 qosQueueMap, err := ListQosQueueIds() if err != nil { + klog.Error(err) return err } @@ -121,6 +131,7 @@ func ClearHtbQosQueue(podName, podNamespace, iface string) error { func IsHtbQos(iface string) (bool, error) { qosType, err := ovsFind("qos", "type", fmt.Sprintf(`external-ids:iface-id="%s"`, iface)) if err != nil { + klog.Error(err) return false, err } @@ -169,16 +180,19 @@ func SetQosQueueBinding(podName, podNamespace, ifName, iface, queueUid string, q } qos, err := ovsCreate("qos", qosCommandValues...) if err != nil { + klog.Error(err) return err } err = ovsSet("port", ifName, fmt.Sprintf("qos=%s", qos)) if err != nil { + klog.Error(err) return err } qosIfaceUidMap[iface] = qos } else { qosType, err := ovsGet("qos", qosUid, "type", "") if err != nil { + klog.Error(err) return err } if qosType != util.HtbQos { @@ -189,6 +203,7 @@ func SetQosQueueBinding(podName, podNamespace, ifName, iface, queueUid string, q if qosType == util.HtbQos { queueId, err := ovsGet("qos", qosUid, "queues", "0") if err != nil { + klog.Error(err) return err } if queueId == queueUid { @@ -214,12 +229,14 @@ func SetNetemQos(podName, podNamespace, iface, latency, limit, loss, jitter stri interfaceList, err := ovsFind("interface", "name", fmt.Sprintf("external-ids:iface-id=%s", iface)) if err != nil { + klog.Error(err) return err } for _, ifName := range interfaceList { qosList, err := GetQosList(podName, podNamespace, iface) if err != nil { + klog.Error(err) return err } @@ -245,16 +262,19 @@ func SetNetemQos(podName, podNamespace, iface, latency, limit, loss, jitter stri qos, err := ovsCreate("qos", qosCommandValues...) if err != nil { + klog.Error(err) return err } if err = ovsSet("port", ifName, fmt.Sprintf("qos=%s", qos)); err != nil { + klog.Error(err) return err } } else { for _, qos := range qosList { qosType, err := ovsGet("qos", qos, "type", "") if err != nil { + klog.Error(err) return err } if qosType != util.NetemQos { @@ -264,6 +284,7 @@ func SetNetemQos(podName, podNamespace, iface, latency, limit, loss, jitter stri latencyVal, lossVal, limitVal, jitterVal, err := getNetemQosConfig(qos) if err != nil { + klog.Error(err) klog.Errorf("failed to get other_config for qos %s: %v", qos, err) return err } @@ -358,6 +379,7 @@ func deleteNetemQosById(qosId, iface, podName, podNamespace string) error { func IsUserspaceDataPath() (is bool, err error) { dp, err := ovsFind("bridge", "datapath_type", "name=br-int") if err != nil { + klog.Error(err) return false, err } return len(dp) > 0 && dp[0] == "netdev", nil diff --git a/pkg/ovsdb/client/client.go b/pkg/ovsdb/client/client.go index 16249681e32..bc5dccb6acb 100644 --- a/pkg/ovsdb/client/client.go +++ b/pkg/ovsdb/client/client.go @@ -40,6 +40,7 @@ func NamedUUID() string { func NewNbClient(addr string) (client.Client, error) { dbModel, err := ovnnb.FullDatabaseModel() if err != nil { + klog.Error(err) return nil, err } @@ -62,10 +63,12 @@ func NewNbClient(addr string) (client.Client, error) { if ssl { cert, err := tls.LoadX509KeyPair("/var/run/tls/cert", "/var/run/tls/key") if err != nil { + klog.Error(err) return nil, fmt.Errorf("failed to load x509 cert key pair: %v", err) } caCert, err := os.ReadFile("/var/run/tls/cacert") if err != nil { + klog.Error(err) return nil, fmt.Errorf("failed to read ca cert: %v", err) } @@ -83,6 +86,7 @@ func NewNbClient(addr string) (client.Client, error) { c, err := client.NewOVSDBClient(dbModel, options...) if err != nil { + klog.Error(err) return nil, err } diff --git a/pkg/pinger/ovn.go b/pkg/pinger/ovn.go index fe18fa11198..dfd6e42ff3b 100644 --- a/pkg/pinger/ovn.go +++ b/pkg/pinger/ovn.go @@ -39,11 +39,13 @@ func checkPortBindings(config *Configuration) error { klog.Infof("start to check port binding") ovsBindings, err := checkOvsBindings() if err != nil { + klog.Error(err) return err } sbBindings, err := checkSBBindings(config) if err != nil { + klog.Error(err) return err } klog.Infof("port in sb is %v", sbBindings) diff --git a/pkg/tproxy/tproxy_tcp_linux.go b/pkg/tproxy/tproxy_tcp_linux.go index 101b57ca31b..35230e71d95 100644 --- a/pkg/tproxy/tproxy_tcp_linux.go +++ b/pkg/tproxy/tproxy_tcp_linux.go @@ -34,6 +34,7 @@ func (listener *Listener) Accept() (net.Conn, error) { func (listener *Listener) AcceptTProxy() (*Conn, error) { tcpConn, err := listener.base.(*net.TCPListener).AcceptTCP() if err != nil { + klog.Error(err) return nil, err } @@ -64,6 +65,7 @@ func ListenTCP(network string, laddr *net.TCPAddr) (net.Listener, error) { func listenTCP(device, network string, laddr *net.TCPAddr) (net.Listener, error) { listener, err := net.ListenTCP(network, laddr) if err != nil { + klog.Error(err) return nil, err } @@ -153,21 +155,25 @@ func dialTCP(device string, laddr, raddr *net.TCPAddr, dontAssumeRemote bool, is remoteSocketAddress, err := tcpAddrToSocketAddr(raddr) if err != nil { + klog.Error(err) return nil, &net.OpError{Op: "dial", Err: fmt.Errorf("build destination socket address: %s", err)} } localSocketAddress, err := tcpAddrToSocketAddr(laddr) if err != nil { + klog.Error(err) return nil, &net.OpError{Op: "dial", Err: fmt.Errorf("build local socket address: %s", err)} } fileDescriptor, err := syscall.Socket(tcpAddrFamily("tcp", raddr, laddr), syscall.SOCK_STREAM, syscall.IPPROTO_TCP) if err != nil { + klog.Error(err) return nil, &net.OpError{Op: "dial", Err: fmt.Errorf("socket open: %s", err)} } if device != "" { if err = syscall.BindToDevice(int(fileDescriptor), device); err != nil { + klog.Error(err) return nil, &net.OpError{Op: "dial", Err: fmt.Errorf("set socket option: SO_BINDTODEVICE(%s): %s", device, err)} } } @@ -176,6 +182,7 @@ func dialTCP(device string, laddr, raddr *net.TCPAddr, dontAssumeRemote bool, is if err := syscall.Close(fileDescriptor); err != nil { klog.Errorf("fileDescriptor %v Close err: %v ", fileDescriptor, err) } + klog.Error(err) return nil, &net.OpError{Op: "dial", Err: fmt.Errorf("set socket option: SO_REUSEADDR: %s", err)} } @@ -183,6 +190,7 @@ func dialTCP(device string, laddr, raddr *net.TCPAddr, dontAssumeRemote bool, is if err := syscall.Close(fileDescriptor); err != nil { klog.Errorf("fileDescriptor %v Close err: %v ", fileDescriptor, err) } + klog.Error(err) return nil, &net.OpError{Op: "dial", Err: fmt.Errorf("set socket option: IP_TRANSPARENT: %s", err)} } @@ -190,6 +198,7 @@ func dialTCP(device string, laddr, raddr *net.TCPAddr, dontAssumeRemote bool, is if err := syscall.Close(fileDescriptor); err != nil { klog.Errorf("fileDescriptor %v Close err: %v ", fileDescriptor, err) } + klog.Error(err) return nil, &net.OpError{Op: "dial", Err: fmt.Errorf("set socket option: SO_NONBLOCK: %s", err)} } @@ -198,6 +207,7 @@ func dialTCP(device string, laddr, raddr *net.TCPAddr, dontAssumeRemote bool, is if err := syscall.Close(fileDescriptor); err != nil { klog.Errorf("fileDescriptor %v Close err: %v ", fileDescriptor, err) } + klog.Error(err) return nil, &net.OpError{Op: "dial", Err: fmt.Errorf("socket bind: %s", err)} } } @@ -206,6 +216,7 @@ func dialTCP(device string, laddr, raddr *net.TCPAddr, dontAssumeRemote bool, is if err := syscall.Close(fileDescriptor); err != nil { klog.Errorf("fileDescriptor %v Close err: %v ", fileDescriptor, err) } + klog.Error(err) return nil, &net.OpError{Op: "dial", Err: fmt.Errorf("socket connect: %s", err)} } @@ -221,7 +232,7 @@ func dialTCP(device string, laddr, raddr *net.TCPAddr, dontAssumeRemote bool, is if err := syscall.Close(fileDescriptor); err != nil { klog.Errorf("fileDescriptor %v Close err: %v ", fileDescriptor, err) } - + klog.Error(err) return nil, &net.OpError{Op: "dial", Err: fmt.Errorf("convert file descriptor to connection: %s", err)} } diff --git a/pkg/util/arp.go b/pkg/util/arp.go index 18bfe4df872..f59b8c3227c 100644 --- a/pkg/util/arp.go +++ b/pkg/util/arp.go @@ -93,16 +93,19 @@ func ArpDetectIPConflict(nic, ip string, mac net.HardwareAddr) (net.HardwareAddr tha := net.HardwareAddr{0, 0, 0, 0, 0, 0} pkt, err := arp.NewPacket(arp.OperationRequest, mac, spa, tha, tpa) if err != nil { + klog.Error(err) return nil, err } ifi, err := net.InterfaceByName(nic) if err != nil { + klog.Error(err) return nil, err } client, err := arp.Dial(ifi) if err != nil { + klog.Error(err) return nil, err } defer client.Close() @@ -210,11 +213,13 @@ func AnnounceArpAddress(nic, ip string, mac net.HardwareAddr, announceNum int, a klog.Infof("announce arp address nic %s , ip %s, with mac %v ", nic, ip, mac) netInterface, err := net.InterfaceByName(nic) if err != nil { + klog.Error(err) return err } client, err := arp.Dial(netInterface) if err != nil { + klog.Error(err) return err } defer client.Close() @@ -227,6 +232,7 @@ func AnnounceArpAddress(nic, ip string, mac net.HardwareAddr, announceNum int, a tha := net.HardwareAddr{0, 0, 0, 0, 0, 0} pkt, err := arp.NewPacket(arp.OperationRequest, mac, tpa, tha, tpa) if err != nil { + klog.Error(err) return err } diff --git a/pkg/util/net.go b/pkg/util/net.go index fdca4239c8d..a800a9519f2 100644 --- a/pkg/util/net.go +++ b/pkg/util/net.go @@ -574,6 +574,7 @@ func UDPConnectivityCheck(address string) error { conn, err := net.DialUDP("udp", nil, udpAddr) if err != nil { + klog.Error(err) return err }