From 1a51d48589ead3471bd1138de96cb2851f6e640f Mon Sep 17 00:00:00 2001 From: tamanoha Date: Tue, 10 May 2022 16:59:23 -0700 Subject: [PATCH 1/7] removed cni read config log --- cni/network/network.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/cni/network/network.go b/cni/network/network.go index 1fb210ceac..844453738e 100644 --- a/cni/network/network.go +++ b/cni/network/network.go @@ -334,8 +334,6 @@ func (plugin *NetPlugin) Add(args *cniSkel.CmdArgs) error { return err } - log.Printf("[cni-net] Read network configuration %+v.", nwCfg) - iptables.DisableIPTableLock = nwCfg.DisableIPTableLock plugin.setCNIReportDetails(nwCfg, CNI_ADD, "") From 0afaa0e7661b14f95d6d83bdc14b8fa6e2ce6544 Mon Sep 17 00:00:00 2001 From: tamanoha Date: Thu, 12 May 2022 17:37:09 -0700 Subject: [PATCH 2/7] removed duplicated and spam logs --- cni/network/invoker.go | 1 - cni/network/multitenancy.go | 6 ------ cni/network/network.go | 13 ++++--------- cni/plugin.go | 2 +- docs/images/iptables v2 design.png | Bin network/endpoint.go | 10 +++++++--- network/manager.go | 2 -- network/network.go | 8 +++++++- network/policy/policy_windows.go | 4 ++-- 9 files changed, 21 insertions(+), 25 deletions(-) mode change 100755 => 100644 docs/images/iptables v2 design.png diff --git a/cni/network/invoker.go b/cni/network/invoker.go index 81af1975e5..36021a6385 100644 --- a/cni/network/invoker.go +++ b/cni/network/invoker.go @@ -13,7 +13,6 @@ import ( // This interface can be used to call into external binaries, like the azure-vnet-ipam binary, // or simply act as a client to an external ipam, such as azure-cns. type IPAMInvoker interface { - // Add returns two results, one IPv4, the other IPv6. Add(IPAMAddConfig) (IPAMAddResult, error) diff --git a/cni/network/multitenancy.go b/cni/network/multitenancy.go index 1b9047237c..b1c7cc9330 100644 --- a/cni/network/multitenancy.go +++ b/cni/network/multitenancy.go @@ -9,7 +9,6 @@ import ( "net" "net/http" "os" - "strconv" "strings" "time" @@ -262,17 +261,12 @@ func convertToCniResult(networkConfig *cns.GetNetworkContainerResponse, ifName s } } - var sb strings.Builder - sb.WriteString("Adding cnetAddressspace routes ") for _, ipRouteSubnet := range networkConfig.CnetAddressSpace { - sb.WriteString(ipRouteSubnet.IPAddress + "/" + strconv.Itoa((int)(ipRouteSubnet.PrefixLength)) + ", ") routeIPnet := net.IPNet{IP: net.ParseIP(ipRouteSubnet.IPAddress), Mask: net.CIDRMask(int(ipRouteSubnet.PrefixLength), 32)} gwIP := net.ParseIP(ipconfig.GatewayIPAddress) result.Routes = append(result.Routes, &cniTypes.Route{Dst: routeIPnet, GW: gwIP}) } - log.Printf(sb.String()) - iface := &cniTypesCurr.Interface{Name: ifName} result.Interfaces = append(result.Interfaces, iface) diff --git a/cni/network/network.go b/cni/network/network.go index 1fb210ceac..247ae6cbeb 100644 --- a/cni/network/network.go +++ b/cni/network/network.go @@ -376,7 +376,7 @@ func (plugin *NetPlugin) Add(args *cniSkel.CmdArgs) error { res.Print() } - log.Printf("[cni-net] ADD command completed for pod %v with result:%+v err:%v.", k8sPodName, ipamAddResult.ipv4Result, err) + log.Printf("[cni-net] ADD command completed for pod %v with IPs:%+v err:%v.", k8sPodName, ipamAddResult.ipv4Result.IPs, err) }() // Parse Pod arguments. @@ -401,7 +401,6 @@ func (plugin *NetPlugin) Add(args *cniSkel.CmdArgs) error { return plugin.Errorf(errMsg) } - log.Printf("Execution mode :%s", nwCfg.ExecutionMode) if nwCfg.ExecutionMode == string(util.Baremetal) { var res *nnscontracts.ConfigureContainerNetworkingResponse log.Printf("Baremetal mode. Calling vnet agent for ADD") @@ -754,8 +753,7 @@ func (plugin *NetPlugin) createEndpointInternal(opt *createEndpointInternalOpt) } // Create the endpoint. - telemetry.SendCNIEvent(plugin.tb, fmt.Sprintf("[cni-net] Creating endpoint %+v.", epInfo)) - log.Printf("[cni-net] Creating endpoint %v.", epInfo.Id) + telemetry.LogAndSendEvent(plugin.tb, fmt.Sprintf("[cni-net] Creating endpoint %+v.", epInfo.String())) err = plugin.nm.CreateEndpoint(cnsclient, opt.nwInfo.Id, &epInfo) if err != nil { err = plugin.Errorf("Failed to create endpoint: %v", err) @@ -883,8 +881,6 @@ func (plugin *NetPlugin) Delete(args *cniSkel.CmdArgs) error { return err } - log.Printf("[cni-net] Read network configuration %+v.", nwCfg) - // Parse Pod arguments. if k8sPodName, k8sNamespace, err = plugin.getPodInfo(args.Args); err != nil { log.Printf("[cni-net] Failed to get POD info due to error: %v", err) @@ -946,7 +942,7 @@ func (plugin *NetPlugin) Delete(args *cniSkel.CmdArgs) error { // Query the network. if nwInfo, err = plugin.nm.GetNetworkInfo(networkID); err != nil { if !nwCfg.MultiTenancy { - log.Printf("[cni-net] Failed to query network: %v", err) + log.Printf("[cni-net] Failed to query network:%s: %v", networkID, err) // Log the error but return success if the network is not found. // if cni hits this, mostly state file would be missing and it can be reboot scenario where // container runtime tries to delete and create pods which existed before reboot. @@ -962,7 +958,7 @@ func (plugin *NetPlugin) Delete(args *cniSkel.CmdArgs) error { if !nwCfg.MultiTenancy { // attempt to release address associated with this Endpoint id // This is to ensure clean up is done even in failure cases - log.Printf("[cni-net] Failed to query endpoint: %v", err) + log.Printf("[cni-net] Failed to query endpoint %s: %v", endpointID, err) telemetry.LogAndSendEvent(plugin.tb, fmt.Sprintf("Release ip by ContainerID (endpoint not found):%v", args.ContainerID)) if err = plugin.ipamInvoker.Delete(nil, nwCfg, args, nwInfo.Options); err != nil { return plugin.RetriableError(fmt.Errorf("failed to release address(no endpoint): %w", err)) @@ -986,7 +982,6 @@ func (plugin *NetPlugin) Delete(args *cniSkel.CmdArgs) error { } if !nwCfg.MultiTenancy { - log.Printf("epinfo:%+v", epInfo) // Call into IPAM plugin to release the endpoint's addresses. for _, address := range epInfo.IPAddresses { telemetry.LogAndSendEvent(plugin.tb, fmt.Sprintf("Release ip:%s", address.IP.String())) diff --git a/cni/plugin.go b/cni/plugin.go index 4318db53b0..bfefdf9f79 100644 --- a/cni/plugin.go +++ b/cni/plugin.go @@ -95,7 +95,7 @@ func (plugin *Plugin) DelegateAdd(pluginName string, nwCfg *NetworkConfig) (*cni var result *cniTypesCurr.Result var err error - log.Printf("[cni] Calling plugin %v ADD nwCfg:%+v.", pluginName, nwCfg) + log.Printf("[cni] Calling plugin %v ADD", pluginName) defer func() { log.Printf("[cni] Plugin %v returned result:%+v, err:%v.", pluginName, result, err) }() os.Setenv(Cmd, CmdAdd) diff --git a/docs/images/iptables v2 design.png b/docs/images/iptables v2 design.png old mode 100755 new mode 100644 diff --git a/network/endpoint.go b/network/endpoint.go index c664321be7..329aa9b6b8 100644 --- a/network/endpoint.go +++ b/network/endpoint.go @@ -5,6 +5,7 @@ package network import ( "context" + "fmt" "net" "strings" @@ -99,12 +100,17 @@ type apipaClient interface { CreateHostNCApipaEndpoint(ctx context.Context, networkContainerID string) (string, error) } +func (epInfo *EndpointInfo) String() string { + return fmt.Sprintf("Id:%s ContainerID:%s NetNsPath:%s IfName:%s IfIndex:%d MacAddr:%s IPAddrs:%v Gateways:%v", + epInfo.Id, epInfo.ContainerID, epInfo.NetNsPath, epInfo.IfName, epInfo.IfIndex, epInfo.MacAddress.String(), epInfo.IPAddresses, + epInfo.Gateways) +} + // NewEndpoint creates a new endpoint in the network. func (nw *network) newEndpoint(cli apipaClient, nl netlink.NetlinkInterface, plc platform.ExecClient, epInfo *EndpointInfo) (*endpoint, error) { var ep *endpoint var err error - log.Printf("[net] Creating endpoint %+v in network %v.", epInfo, nw.Id) defer func() { if err != nil { log.Printf("[net] Failed to create endpoint %v, err:%v.", epInfo.Id, err) @@ -157,8 +163,6 @@ func (nw *network) deleteEndpoint(nl netlink.NetlinkInterface, plc platform.Exec // GetEndpoint returns the endpoint with the given ID. func (nw *network) getEndpoint(endpointId string) (*endpoint, error) { - log.Printf("Trying to retrieve endpoint id %v", endpointId) - ep := nw.Endpoints[endpointId] if ep == nil { diff --git a/network/manager.go b/network/manager.go index 0a647a20ca..96d636e696 100644 --- a/network/manager.go +++ b/network/manager.go @@ -524,8 +524,6 @@ func (nm *networkManager) GetNumberOfEndpoints(ifName string, networkId string) } } - log.Printf("Get number of endpoints for ifname %v network %v", ifName, networkId) - if nm.ExternalInterfaces != nil { extIf := nm.ExternalInterfaces[ifName] if extIf != nil && extIf.Networks != nil { diff --git a/network/network.go b/network/network.go index bdb5528ff4..7d23c0c7a2 100644 --- a/network/network.go +++ b/network/network.go @@ -4,6 +4,7 @@ package network import ( + "fmt" "net" "strings" @@ -89,6 +90,11 @@ type DNSInfo struct { Options []string } +func (nwInfo *NetworkInfo) String() string { + return fmt.Sprintf("Id:%s MasterIfName:%s AdapterName:%s Mode:%s Subnets:%v podsubnet:%v Enablesnatonhost:%t", nwInfo.Id, nwInfo.MasterIfName, + nwInfo.AdapterName, nwInfo.Mode, nwInfo.Subnets, nwInfo.PodSubnet, nwInfo.EnableSnatOnHost) +} + // NewExternalInterface adds a host interface to the list of available external interfaces. func (nm *networkManager) newExternalInterface(ifName string, subnet string) error { // Check whether the external interface is already configured. @@ -156,7 +162,7 @@ func (nm *networkManager) newNetwork(nwInfo *NetworkInfo) (*network, error) { var nw *network var err error - log.Printf("[net] Creating network %+v.", nwInfo) + log.Printf("[net] Creating network %s.", nwInfo.String()) defer func() { if err != nil { log.Printf("[net] Failed to create network %v, err:%v.", nwInfo.Id, err) diff --git a/network/policy/policy_windows.go b/network/policy/policy_windows.go index 0782637dd8..ee5500d459 100644 --- a/network/policy/policy_windows.go +++ b/network/policy/policy_windows.go @@ -506,7 +506,7 @@ func GetHcnEndpointPolicies(policyType CNIPolicyType, policies []Policy, epInfoD if !(isOutboundNatPolicy && enableMultiTenancy && !enableSnatForDns) { hcnEndPointPolicies = append(hcnEndPointPolicies, endpointPolicy) - log.Printf("Successfully set the policy: %+v", endpointPolicy) + log.Printf("Successfully retrieve endpoint policy: %s", endpointPolicy.Type) } } } @@ -520,7 +520,7 @@ func GetHcnEndpointPolicies(policyType CNIPolicyType, policies []Policy, epInfoD } hcnEndPointPolicies = append(hcnEndPointPolicies, natPolicy) - log.Printf("Successfully set the policy: %+v", natPolicy) + log.Printf("Successfully retrieve natInfo policy: %s", natPolicy.Type) } } From 416ada089cf40f38da0bd5abd26f2beaec10865d Mon Sep 17 00:00:00 2001 From: tamanoha Date: Mon, 16 May 2022 17:42:37 -0700 Subject: [PATCH 3/7] addressed comment --- cni/network/network.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cni/network/network.go b/cni/network/network.go index a25138159b..7a5161b569 100644 --- a/cni/network/network.go +++ b/cni/network/network.go @@ -751,7 +751,7 @@ func (plugin *NetPlugin) createEndpointInternal(opt *createEndpointInternalOpt) } // Create the endpoint. - telemetry.LogAndSendEvent(plugin.tb, fmt.Sprintf("[cni-net] Creating endpoint %+v.", epInfo.String())) + telemetry.LogAndSendEvent(plugin.tb, fmt.Sprintf("[cni-net] Creating endpoint %s.", epInfo.String())) err = plugin.nm.CreateEndpoint(cnsclient, opt.nwInfo.Id, &epInfo) if err != nil { err = plugin.Errorf("Failed to create endpoint: %v", err) From 361fcc766b8d30de6b7901fb7dce842a7cc52d6e Mon Sep 17 00:00:00 2001 From: tamanoha Date: Tue, 17 May 2022 10:24:35 -0700 Subject: [PATCH 4/7] commit --- .hooks/pre-push | 0 npm/iptm/helper.go | 0 npm/scripts/generate_certs.sh | 0 scripts/docker-run.sh | 0 scripts/install-cni-plugin.sh | 0 scripts/install-protoc.sh | 0 scripts/semver-release.sh | 0 test/cyclonus/test-cyclonus.sh | 0 test/kubemark/aks-e/configure-hollowNode-on-external-cluster.sh | 0 test/kubemark/aks-e/hollownodes.sh | 0 test/kubemark/aks-e/npm.sh | 0 test/kubemark/aks-e/pods.sh | 0 12 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 .hooks/pre-push mode change 100755 => 100644 npm/iptm/helper.go mode change 100755 => 100644 npm/scripts/generate_certs.sh mode change 100755 => 100644 scripts/docker-run.sh mode change 100755 => 100644 scripts/install-cni-plugin.sh mode change 100755 => 100644 scripts/install-protoc.sh mode change 100755 => 100644 scripts/semver-release.sh mode change 100755 => 100644 test/cyclonus/test-cyclonus.sh mode change 100755 => 100644 test/kubemark/aks-e/configure-hollowNode-on-external-cluster.sh mode change 100755 => 100644 test/kubemark/aks-e/hollownodes.sh mode change 100755 => 100644 test/kubemark/aks-e/npm.sh mode change 100755 => 100644 test/kubemark/aks-e/pods.sh diff --git a/.hooks/pre-push b/.hooks/pre-push old mode 100755 new mode 100644 diff --git a/npm/iptm/helper.go b/npm/iptm/helper.go old mode 100755 new mode 100644 diff --git a/npm/scripts/generate_certs.sh b/npm/scripts/generate_certs.sh old mode 100755 new mode 100644 diff --git a/scripts/docker-run.sh b/scripts/docker-run.sh old mode 100755 new mode 100644 diff --git a/scripts/install-cni-plugin.sh b/scripts/install-cni-plugin.sh old mode 100755 new mode 100644 diff --git a/scripts/install-protoc.sh b/scripts/install-protoc.sh old mode 100755 new mode 100644 diff --git a/scripts/semver-release.sh b/scripts/semver-release.sh old mode 100755 new mode 100644 diff --git a/test/cyclonus/test-cyclonus.sh b/test/cyclonus/test-cyclonus.sh old mode 100755 new mode 100644 diff --git a/test/kubemark/aks-e/configure-hollowNode-on-external-cluster.sh b/test/kubemark/aks-e/configure-hollowNode-on-external-cluster.sh old mode 100755 new mode 100644 diff --git a/test/kubemark/aks-e/hollownodes.sh b/test/kubemark/aks-e/hollownodes.sh old mode 100755 new mode 100644 diff --git a/test/kubemark/aks-e/npm.sh b/test/kubemark/aks-e/npm.sh old mode 100755 new mode 100644 diff --git a/test/kubemark/aks-e/pods.sh b/test/kubemark/aks-e/pods.sh old mode 100755 new mode 100644 From a0ac2c70b7be842db3acd29d8df2a39bb8fbb8aa Mon Sep 17 00:00:00 2001 From: tamanoha Date: Tue, 17 May 2022 10:34:07 -0700 Subject: [PATCH 5/7] reverting back to old permission --- npm/iptm/helper.go | 0 npm/scripts/generate_certs.sh | 0 scripts/docker-run.sh | 0 scripts/install-cni-plugin.sh | 0 scripts/install-protoc.sh | 0 scripts/semver-release.sh | 0 test/cyclonus/test-cyclonus.sh | 0 test/kubemark/aks-e/configure-hollowNode-on-external-cluster.sh | 0 test/kubemark/aks-e/hollownodes.sh | 0 test/kubemark/aks-e/npm.sh | 0 test/kubemark/aks-e/pods.sh | 0 11 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 npm/iptm/helper.go mode change 100644 => 100755 npm/scripts/generate_certs.sh mode change 100644 => 100755 scripts/docker-run.sh mode change 100644 => 100755 scripts/install-cni-plugin.sh mode change 100644 => 100755 scripts/install-protoc.sh mode change 100644 => 100755 scripts/semver-release.sh mode change 100644 => 100755 test/cyclonus/test-cyclonus.sh mode change 100644 => 100755 test/kubemark/aks-e/configure-hollowNode-on-external-cluster.sh mode change 100644 => 100755 test/kubemark/aks-e/hollownodes.sh mode change 100644 => 100755 test/kubemark/aks-e/npm.sh mode change 100644 => 100755 test/kubemark/aks-e/pods.sh diff --git a/npm/iptm/helper.go b/npm/iptm/helper.go old mode 100644 new mode 100755 diff --git a/npm/scripts/generate_certs.sh b/npm/scripts/generate_certs.sh old mode 100644 new mode 100755 diff --git a/scripts/docker-run.sh b/scripts/docker-run.sh old mode 100644 new mode 100755 diff --git a/scripts/install-cni-plugin.sh b/scripts/install-cni-plugin.sh old mode 100644 new mode 100755 diff --git a/scripts/install-protoc.sh b/scripts/install-protoc.sh old mode 100644 new mode 100755 diff --git a/scripts/semver-release.sh b/scripts/semver-release.sh old mode 100644 new mode 100755 diff --git a/test/cyclonus/test-cyclonus.sh b/test/cyclonus/test-cyclonus.sh old mode 100644 new mode 100755 diff --git a/test/kubemark/aks-e/configure-hollowNode-on-external-cluster.sh b/test/kubemark/aks-e/configure-hollowNode-on-external-cluster.sh old mode 100644 new mode 100755 diff --git a/test/kubemark/aks-e/hollownodes.sh b/test/kubemark/aks-e/hollownodes.sh old mode 100644 new mode 100755 diff --git a/test/kubemark/aks-e/npm.sh b/test/kubemark/aks-e/npm.sh old mode 100644 new mode 100755 diff --git a/test/kubemark/aks-e/pods.sh b/test/kubemark/aks-e/pods.sh old mode 100644 new mode 100755 From 1cda169f76f8580c84808076d0a72ad7b8ebd2aa Mon Sep 17 00:00:00 2001 From: tamanoha Date: Tue, 17 May 2022 10:36:24 -0700 Subject: [PATCH 6/7] revert files baxck to original state --- .hooks/pre-push | 0 docs/images/iptables v2 design.png | Bin 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 .hooks/pre-push mode change 100644 => 100755 docs/images/iptables v2 design.png diff --git a/.hooks/pre-push b/.hooks/pre-push old mode 100644 new mode 100755 diff --git a/docs/images/iptables v2 design.png b/docs/images/iptables v2 design.png old mode 100644 new mode 100755 From 3a636ed9131d93c7f4c885ed67744284af7a0b02 Mon Sep 17 00:00:00 2001 From: tamanoha Date: Wed, 18 May 2022 10:24:27 -0700 Subject: [PATCH 7/7] addressing hunter comments --- cni/network/network.go | 2 +- network/endpoint.go | 2 +- network/network.go | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cni/network/network.go b/cni/network/network.go index 7a5161b569..9ac535e79c 100644 --- a/cni/network/network.go +++ b/cni/network/network.go @@ -751,7 +751,7 @@ func (plugin *NetPlugin) createEndpointInternal(opt *createEndpointInternalOpt) } // Create the endpoint. - telemetry.LogAndSendEvent(plugin.tb, fmt.Sprintf("[cni-net] Creating endpoint %s.", epInfo.String())) + telemetry.LogAndSendEvent(plugin.tb, fmt.Sprintf("[cni-net] Creating endpoint %s.", epInfo.PrettyString())) err = plugin.nm.CreateEndpoint(cnsclient, opt.nwInfo.Id, &epInfo) if err != nil { err = plugin.Errorf("Failed to create endpoint: %v", err) diff --git a/network/endpoint.go b/network/endpoint.go index 329aa9b6b8..b48cdf0262 100644 --- a/network/endpoint.go +++ b/network/endpoint.go @@ -100,7 +100,7 @@ type apipaClient interface { CreateHostNCApipaEndpoint(ctx context.Context, networkContainerID string) (string, error) } -func (epInfo *EndpointInfo) String() string { +func (epInfo *EndpointInfo) PrettyString() string { return fmt.Sprintf("Id:%s ContainerID:%s NetNsPath:%s IfName:%s IfIndex:%d MacAddr:%s IPAddrs:%v Gateways:%v", epInfo.Id, epInfo.ContainerID, epInfo.NetNsPath, epInfo.IfName, epInfo.IfIndex, epInfo.MacAddress.String(), epInfo.IPAddresses, epInfo.Gateways) diff --git a/network/network.go b/network/network.go index 7d23c0c7a2..269b0a5064 100644 --- a/network/network.go +++ b/network/network.go @@ -90,7 +90,7 @@ type DNSInfo struct { Options []string } -func (nwInfo *NetworkInfo) String() string { +func (nwInfo *NetworkInfo) PrettyString() string { return fmt.Sprintf("Id:%s MasterIfName:%s AdapterName:%s Mode:%s Subnets:%v podsubnet:%v Enablesnatonhost:%t", nwInfo.Id, nwInfo.MasterIfName, nwInfo.AdapterName, nwInfo.Mode, nwInfo.Subnets, nwInfo.PodSubnet, nwInfo.EnableSnatOnHost) } @@ -162,7 +162,7 @@ func (nm *networkManager) newNetwork(nwInfo *NetworkInfo) (*network, error) { var nw *network var err error - log.Printf("[net] Creating network %s.", nwInfo.String()) + log.Printf("[net] Creating network %s.", nwInfo.PrettyString()) defer func() { if err != nil { log.Printf("[net] Failed to create network %v, err:%v.", nwInfo.Id, err)