diff --git a/cni/network/network.go b/cni/network/network.go index d117026076..1da16a9efd 100644 --- a/cni/network/network.go +++ b/cni/network/network.go @@ -674,9 +674,8 @@ func (plugin *netPlugin) Add(args *cniSkel.CmdArgs) error { } epPolicies := getPoliciesFromRuntimeCfg(nwCfg) - for _, epPolicy := range epPolicies { - epInfo.Policies = append(epInfo.Policies, epPolicy) - } + + epInfo.Policies = append(epInfo.Policies, epPolicies...) // Populate addresses. for _, ipconfig := range result.IPs { diff --git a/cnm/plugin/main.go b/cnm/plugin/main.go index f372a7792f..99d2832504 100644 --- a/cnm/plugin/main.go +++ b/cnm/plugin/main.go @@ -207,7 +207,7 @@ func main() { // Relay these incoming signals to OS signal channel. osSignalChannel := make(chan os.Signal, 1) - signal.Notify(osSignalChannel, os.Interrupt, os.Kill, syscall.SIGTERM) + signal.Notify(osSignalChannel, os.Interrupt, syscall.SIGTERM) // Wait until receiving a signal. select { diff --git a/cnms/service/networkmonitor.go b/cnms/service/networkmonitor.go index 87f2c9f904..fdb2d89f2c 100644 --- a/cnms/service/networkmonitor.go +++ b/cnms/service/networkmonitor.go @@ -139,7 +139,7 @@ func main() { tb.ConnectToTelemetryService(telemetryNumRetries, telemetryWaitTimeInMilliseconds) defer tb.Close() - for true { + for { config.Store, err = store.NewJsonFileStore(platform.CNIRuntimePath + pluginName + ".json") if err != nil { fmt.Printf("[monitor] Failed to create store: %v\n", err) @@ -178,6 +178,4 @@ func main() { time.Sleep(time.Duration(timeout) * time.Second) nm = nil } - - log.Close() } diff --git a/cns/service/main.go b/cns/service/main.go index 03f6b629ee..17f2f03ef5 100644 --- a/cns/service/main.go +++ b/cns/service/main.go @@ -48,7 +48,6 @@ const ( name = "azure-cns" pluginName = "azure-vnet" defaultCNINetworkConfigFileName = "10-azure.conflist" - configFileName = "config.json" dncApiVersion = "?api-version=2018-03-01" poolIPAMRefreshRateInMilliseconds = 1000 @@ -321,19 +320,14 @@ func sendRegisterNodeRequest( nodeRegisterRequest cns.NodeRegisterRequest, registerURL string) (bool, error) { - var ( - body bytes.Buffer - response *http.Response - err = fmt.Errorf("") - ) - - err = json.NewEncoder(&body).Encode(nodeRegisterRequest) + var body bytes.Buffer + err := json.NewEncoder(&body).Encode(nodeRegisterRequest) if err != nil { log.Errorf("[Azure CNS] Failed to register node while encoding json failed with non-retriable err %v", err) return false, err } - response, err = httpc.Post(registerURL, "application/json", &body) + response, err := httpc.Post(registerURL, "application/json", &body) if err != nil { logger.Errorf("[Azure CNS] Failed to register node with retriable err: %+v", err) return false, nil @@ -610,10 +604,8 @@ func main() { // Periodically poll DNC for node updates tickerChannel := time.Tick(time.Duration(cnsconfig.ManagedSettings.NodeSyncIntervalInSeconds) * time.Second) for { - select { - case <-tickerChannel: - httpRestService.SyncNodeStatus(ep, vnet, node, json.RawMessage{}) - } + <-tickerChannel + httpRestService.SyncNodeStatus(ep, vnet, node, json.RawMessage{}) } }(privateEndpoint, infravnet, nodeID) } diff --git a/network/bridge_endpointclient_linux.go b/network/bridge_endpointclient_linux.go index 05397af117..bc00121a7e 100644 --- a/network/bridge_endpointclient_linux.go +++ b/network/bridge_endpointclient_linux.go @@ -44,9 +44,7 @@ func NewLinuxBridgeEndpointClient( mode: mode, } - for _, ipAddr := range extIf.IPAddresses { - client.hostIPAddresses = append(client.hostIPAddresses, ipAddr) - } + client.hostIPAddresses = append(client.hostIPAddresses, extIf.IPAddresses...) return client } diff --git a/network/endpoint.go b/network/endpoint.go index 71a77f0c42..5b56953527 100644 --- a/network/endpoint.go +++ b/network/endpoint.go @@ -218,13 +218,9 @@ func (ep *endpoint) getInfo() *EndpointInfo { NetworkContainerID: ep.NetworkContainerID, } - for _, route := range ep.Routes { - info.Routes = append(info.Routes, route) - } + info.Routes = append(info.Routes, ep.Routes...) - for _, gw := range ep.Gateways { - info.Gateways = append(info.Gateways, gw) - } + info.Gateways = append(info.Gateways, ep.Gateways...) // Call the platform implementation. ep.getInfoImpl(info) diff --git a/network/endpoint_linux.go b/network/endpoint_linux.go index 0891e35bc8..61df257f06 100644 --- a/network/endpoint_linux.go +++ b/network/endpoint_linux.go @@ -211,10 +211,7 @@ func (nw *network) newEndpointImpl(epInfo *EndpointInfo) (*endpoint, error) { PODNameSpace: epInfo.PODNameSpace, } - for _, route := range epInfo.Routes { - ep.Routes = append(ep.Routes, route) - } - + ep.Routes = append(ep.Routes, epInfo.Routes...) return ep, nil } @@ -381,9 +378,7 @@ func (nw *network) updateEndpointImpl(existingEpInfo *EndpointInfo, targetEpInfo } // Update existing endpoint state with the new routes to persist - for _, route := range targetEpInfo.Routes { - ep.Routes = append(ep.Routes, route) - } + ep.Routes = append(ep.Routes, targetEpInfo.Routes...) return ep, nil } diff --git a/network/epcommon/endpoint_common.go b/network/epcommon/endpoint_common.go index 8c9973fb01..802a1db64e 100644 --- a/network/epcommon/endpoint_common.go +++ b/network/epcommon/endpoint_common.go @@ -189,7 +189,7 @@ func BlockIPAddresses(bridgeName string, action string) error { func EnableIPForwarding(ifName string) error { // Enable ip forwading on linux vm. // sysctl -w net.ipv4.ip_forward=1 - cmd := fmt.Sprintf(enableIPForwardCmd) + cmd := fmt.Sprint(enableIPForwardCmd) _, err := platform.ExecuteCommand(cmd) if err != nil { log.Printf("[net] Enable ipforwarding failed with: %v", err) @@ -206,7 +206,7 @@ func EnableIPForwarding(ifName string) error { } func EnableIPV6Forwarding() error { - cmd := fmt.Sprintf(enableIPV6ForwardCmd) + cmd := fmt.Sprint(enableIPV6ForwardCmd) _, err := platform.ExecuteCommand(cmd) if err != nil { log.Printf("[net] Enable ipv6 forwarding failed with: %v", err) diff --git a/network/manager.go b/network/manager.go index 023f9c1b94..0b910c305f 100644 --- a/network/manager.go +++ b/network/manager.go @@ -27,7 +27,10 @@ const ( ) var ( - Ipv4DefaultRouteDstPrefix = net.IPNet{net.IPv4zero, net.IPv4Mask(0, 0, 0, 0)} + Ipv4DefaultRouteDstPrefix = net.IPNet{ + IP: net.IPv4zero, + Mask: net.IPv4Mask(0, 0, 0, 0), + } ) type NetworkClient interface { diff --git a/network/network_linux.go b/network/network_linux.go index 9b1394f864..384cffca5c 100644 --- a/network/network_linux.go +++ b/network/network_linux.go @@ -68,7 +68,6 @@ func (nm *networkManager) newNetworkImpl(nwInfo *NetworkInfo, extIf *externalInt handleCommonOptions(extIf.BridgeName, nwInfo) case opModeTransparent: handleCommonOptions(extIf.Name, nwInfo) - break default: return nil, errNetworkModeInvalid } diff --git a/npm/ipsm/ipsm.go b/npm/ipsm/ipsm.go index 0dd57e64ca..ddca757425 100644 --- a/npm/ipsm/ipsm.go +++ b/npm/ipsm/ipsm.go @@ -373,7 +373,7 @@ func (ipsMgr *IpsetManager) AddToSet(setName, ip, spec, podKey string) error { exists, _ := ipsMgr.SetExists(setName) if !exists { - if err := ipsMgr.CreateSet(setName, append([]string{spec})); err != nil { + if err := ipsMgr.CreateSet(setName, []string{spec}); err != nil { return err } } @@ -381,9 +381,9 @@ func (ipsMgr *IpsetManager) AddToSet(setName, ip, spec, podKey string) error { var resultSpec []string if strings.Contains(ip, util.IpsetNomatch) { ip = strings.Trim(ip, util.IpsetNomatch) - resultSpec = append([]string{ip, util.IpsetNomatch}) + resultSpec = []string{ip, util.IpsetNomatch} } else { - resultSpec = append([]string{ip}) + resultSpec = []string{ip} } entry := &ipsEntry{ @@ -440,7 +440,7 @@ func (ipsMgr *IpsetManager) DeleteFromSet(setName, ip, podKey string) error { entry := &ipsEntry{ operationFlag: util.IpsetDeletionFlag, set: util.GetHashedName(setName), - spec: append([]string{ip}), + spec: []string{ip}, } if errCode, err := ipsMgr.Run(entry); err != nil { diff --git a/npm/ipsm/ipsm_test.go b/npm/ipsm/ipsm_test.go index 1cec012688..0524f04b7b 100644 --- a/npm/ipsm/ipsm_test.go +++ b/npm/ipsm/ipsm_test.go @@ -86,7 +86,7 @@ func TestAddToList(t *testing.T) { } }() - if err := ipsMgr.CreateSet("test-set", append([]string{util.IpsetNetHashFlag})); err != nil { + if err := ipsMgr.CreateSet("test-set", []string{util.IpsetNetHashFlag}); err != nil { t.Errorf("TestAddToList failed @ ipsMgr.CreateSet") } @@ -116,7 +116,7 @@ func TestDeleteFromList(t *testing.T) { // Create set and validate set is created. setName := "test-set" - if err := ipsMgr.CreateSet(setName, append([]string{util.IpsetNetHashFlag})); err != nil { + if err := ipsMgr.CreateSet(setName, []string{util.IpsetNetHashFlag}); err != nil { t.Errorf("TestDeleteFromList failed @ ipsMgr.CreateSet") } @@ -138,7 +138,7 @@ func TestDeleteFromList(t *testing.T) { entry = &ipsEntry{ operationFlag: util.IpsetTestFlag, set: util.GetHashedName(listName), - spec: append([]string{util.GetHashedName(setName)}), + spec: []string{util.GetHashedName(setName)}, } if _, err := ipsMgr.Run(entry); err != nil { @@ -163,7 +163,7 @@ func TestDeleteFromList(t *testing.T) { entry = &ipsEntry{ operationFlag: util.IpsetTestFlag, set: util.GetHashedName(listName), - spec: append([]string{util.GetHashedName(setName)}), + spec: []string{util.GetHashedName(setName)}, } if _, err := ipsMgr.Run(entry); err == nil { @@ -224,13 +224,13 @@ func TestCreateSet(t *testing.T) { } testSet2Name := "test-set-with-maxelem" - spec := append([]string{util.IpsetNetHashFlag, util.IpsetMaxelemName, util.IpsetMaxelemNum}) + spec := []string{util.IpsetNetHashFlag, util.IpsetMaxelemName, util.IpsetMaxelemNum} if err := ipsMgr.CreateSet(testSet2Name, spec); err != nil { t.Errorf("TestCreateSet failed @ ipsMgr.CreateSet when set maxelem") } testSet3Name := "test-set-with-port" - spec = append([]string{util.IpsetIPPortHashFlag}) + spec = []string{util.IpsetIPPortHashFlag} if err := ipsMgr.CreateSet(testSet3Name, spec); err != nil { t.Errorf("TestCreateSet failed @ ipsMgr.CreateSet when creating port set") } @@ -270,7 +270,7 @@ func TestDeleteSet(t *testing.T) { }() testSetName := "test-delete-set" - if err := ipsMgr.CreateSet(testSetName, append([]string{util.IpsetNetHashFlag})); err != nil { + if err := ipsMgr.CreateSet(testSetName, []string{util.IpsetNetHashFlag}); err != nil { t.Errorf("TestDeleteSet failed @ ipsMgr.CreateSet") } @@ -492,7 +492,7 @@ func TestClean(t *testing.T) { } }() - if err := ipsMgr.CreateSet("test-set", append([]string{util.IpsetNetHashFlag})); err != nil { + if err := ipsMgr.CreateSet("test-set", []string{util.IpsetNetHashFlag}); err != nil { t.Errorf("TestClean failed @ ipsMgr.CreateSet with err %+v", err) } @@ -535,7 +535,7 @@ func TestDestroy(t *testing.T) { entry := &ipsEntry{ operationFlag: util.IpsetTestFlag, set: util.GetHashedName(setName), - spec: append([]string{testIP}), + spec: []string{testIP}, } if _, err := ipsMgr.Run(entry); err == nil { @@ -559,7 +559,7 @@ func TestRun(t *testing.T) { entry := &ipsEntry{ operationFlag: util.IpsetCreationFlag, set: "test-set", - spec: append([]string{util.IpsetNetHashFlag}), + spec: []string{util.IpsetNetHashFlag}, } if _, err := ipsMgr.Run(entry); err != nil { t.Errorf("TestRun failed @ ipsMgr.Run with err %+v", err) @@ -579,7 +579,7 @@ func TestRunError(t *testing.T) { entry := &ipsEntry{ operationFlag: util.IpsetCreationFlag, set: util.GetHashedName(setname), - spec: append([]string{util.IpsetNetHashFlag}), + spec: []string{util.IpsetNetHashFlag}, } if _, err := ipsMgr.Run(entry); err != nil { require.Error(t, err) diff --git a/npm/networkPolicyController.go b/npm/networkPolicyController.go index ea6c7cbfa0..16df8572ac 100644 --- a/npm/networkPolicyController.go +++ b/npm/networkPolicyController.go @@ -282,7 +282,7 @@ func (c *networkPolicyController) initializeDefaultAzureNpmChain() error { ipsMgr := c.npMgr.NsMap[util.KubeAllNamespacesFlag].IpsMgr iptMgr := c.npMgr.NsMap[util.KubeAllNamespacesFlag].iptMgr - if err := ipsMgr.CreateSet(util.KubeSystemFlag, append([]string{util.IpsetNetHashFlag})); err != nil { + if err := ipsMgr.CreateSet(util.KubeSystemFlag, []string{util.IpsetNetHashFlag}); err != nil { return fmt.Errorf("[initializeDefaultAzureNpmChain] Error: failed to initialize kube-system ipset with err %s", err) } if err := iptMgr.InitNpmChains(); err != nil { @@ -341,13 +341,13 @@ func (c *networkPolicyController) syncAddAndUpdateNetPol(netPolObj *networkingv1 sets, namedPorts, lists, ingressIPCidrs, egressIPCidrs, iptEntries := translatePolicy(netPolObj) for _, set := range sets { klog.Infof("Creating set: %v, hashedSet: %v", set, util.GetHashedName(set)) - if err = ipsMgr.CreateSet(set, append([]string{util.IpsetNetHashFlag})); err != nil { + if err = ipsMgr.CreateSet(set, []string{util.IpsetNetHashFlag}); err != nil { return fmt.Errorf("[syncAddAndUpdateNetPol] Error: creating ipset %s with err: %v", set, err) } } for _, set := range namedPorts { klog.Infof("Creating set: %v, hashedSet: %v", set, util.GetHashedName(set)) - if err = ipsMgr.CreateSet(set, append([]string{util.IpsetIPPortHashFlag})); err != nil { + if err = ipsMgr.CreateSet(set, []string{util.IpsetIPPortHashFlag}); err != nil { return fmt.Errorf("[syncAddAndUpdateNetPol] Error: creating ipset named port %s with err: %v", set, err) } } @@ -451,10 +451,10 @@ func (c *networkPolicyController) cleanUpNetworkPolicy(netPolKey string, isSafeC } func (c *networkPolicyController) createCidrsRule(ingressOrEgress, policyName, ns string, ipsetEntries [][]string, ipsMgr *ipsm.IpsetManager) error { - spec := append([]string{util.IpsetNetHashFlag, util.IpsetMaxelemName, util.IpsetMaxelemNum}) + spec := []string{util.IpsetNetHashFlag, util.IpsetMaxelemName, util.IpsetMaxelemNum} for i, ipCidrSet := range ipsetEntries { - if ipCidrSet == nil || len(ipCidrSet) == 0 { + if len(ipCidrSet) == 0 { continue } setName := policyName + "-in-ns-" + ns + "-" + strconv.Itoa(i) + ingressOrEgress @@ -485,7 +485,7 @@ func (c *networkPolicyController) createCidrsRule(ingressOrEgress, policyName, n func (c *networkPolicyController) removeCidrsRule(ingressOrEgress, policyName, ns string, ipsetEntries [][]string, ipsMgr *ipsm.IpsetManager) error { for i, ipCidrSet := range ipsetEntries { - if ipCidrSet == nil || len(ipCidrSet) == 0 { + if len(ipCidrSet) == 0 { continue } setName := policyName + "-in-ns-" + ns + "-" + strconv.Itoa(i) + ingressOrEgress diff --git a/npm/networkPolicyController_test.go b/npm/networkPolicyController_test.go index ad74cd3a3a..778885a536 100644 --- a/npm/networkPolicyController_test.go +++ b/npm/networkPolicyController_test.go @@ -121,14 +121,14 @@ func createNetPol() *networkingv1.NetworkPolicy { }, Spec: networkingv1.NetworkPolicySpec{ Ingress: []networkingv1.NetworkPolicyIngressRule{ - networkingv1.NetworkPolicyIngressRule{ + { From: []networkingv1.NetworkPolicyPeer{ - networkingv1.NetworkPolicyPeer{ + { PodSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{"app": "test"}, }, }, - networkingv1.NetworkPolicyPeer{ + { IPBlock: &networkingv1.IPBlock{ CIDR: "0.0.0.0/0", }, @@ -141,7 +141,7 @@ func createNetPol() *networkingv1.NetworkPolicy { }, }, Egress: []networkingv1.NetworkPolicyEgressRule{ - networkingv1.NetworkPolicyEgressRule{ + { To: []networkingv1.NetworkPolicyPeer{{ PodSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{"app": "test"}, @@ -272,7 +272,7 @@ func TestAddMultipleNetworkPolicies(t *testing.T) { netPolObj2.Namespace = fmt.Sprintf("%s-new", netPolObj1.Namespace) netPolObj2.Name = fmt.Sprintf("%s-new", netPolObj1.Name) // namedPort - netPolObj2.Spec.Ingress[0].Ports[0].Port = &intstr.IntOrString{StrVal: fmt.Sprintf("%s", netPolObj2.Name)} + netPolObj2.Spec.Ingress[0].Ports[0].Port = &intstr.IntOrString{StrVal: netPolObj2.Name} fexec := exec.New() f := newNetPolFixture(t, fexec) diff --git a/npm/npm.go b/npm/npm.go index 01d4a9dcc0..069fd16145 100644 --- a/npm/npm.go +++ b/npm/npm.go @@ -268,7 +268,7 @@ func NewNetworkPolicyManager(clientset *kubernetes.Clientset, informerFactory in // Create ipset for the namespace. kubeSystemNs := util.GetNSNameWithPrefix(util.KubeSystemFlag) - if err := allNs.IpsMgr.CreateSet(kubeSystemNs, append([]string{util.IpsetNetHashFlag})); err != nil { + if err := allNs.IpsMgr.CreateSet(kubeSystemNs, []string{util.IpsetNetHashFlag}); err != nil { metrics.SendErrorLogAndMetric(util.NpmID, "Error: failed to create ipset for namespace %s.", kubeSystemNs) } diff --git a/npm/translatePolicy.go b/npm/translatePolicy.go index 924eb86981..9e0cdbf7e9 100644 --- a/npm/translatePolicy.go +++ b/npm/translatePolicy.go @@ -113,7 +113,7 @@ func craftPartialIptEntrySpecFromOpsAndLabels(ns string, ops, labels []string, s } } - for i, _ := range ops { + for i := range ops { // TODO need to change this logic, create a list of lsts here and have a single match against it spec = append(spec, craftPartialIptEntrySpecFromOpAndLabel(ops[i], labels[i], srcOrDstFlag, isNamespaceSelector)...) } @@ -200,7 +200,7 @@ func craftPartialIptablesCommentFromSelector(ns string, selector *metav1.LabelSe } } - for i, _ := range labelsWithoutOps { + for i := range labelsWithoutOps { comment += prefix + ops[i] + labelsWithoutOps[i] comment += "-AND-" } diff --git a/npm/translatePolicy_test.go b/npm/translatePolicy_test.go index c3b50059e6..04f36b9af0 100644 --- a/npm/translatePolicy_test.go +++ b/npm/translatePolicy_test.go @@ -256,7 +256,7 @@ func TestCraftPartialIptEntryFromSelector(t *testing.T) { "label": "src", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "labelNotIn", Operator: metav1.LabelSelectorOpNotIn, Values: []string{ @@ -327,7 +327,7 @@ func TestCraftPartialIptablesCommentFromSelector(t *testing.T) { "k0": "v0", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "k1", Operator: metav1.LabelSelectorOpIn, Values: []string{ @@ -335,7 +335,7 @@ func TestCraftPartialIptablesCommentFromSelector(t *testing.T) { "v11", }, }, - metav1.LabelSelectorRequirement{ + { Key: "k2", Operator: metav1.LabelSelectorOpDoesNotExist, Values: []string{}, @@ -355,7 +355,7 @@ func TestCraftPartialIptablesCommentFromSelector(t *testing.T) { "k0": "v0", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "k1", Operator: metav1.LabelSelectorOpIn, Values: []string{ @@ -363,7 +363,7 @@ func TestCraftPartialIptablesCommentFromSelector(t *testing.T) { "v11", }, }, - metav1.LabelSelectorRequirement{ + { Key: "k2", Operator: metav1.LabelSelectorOpDoesNotExist, Values: []string{}, @@ -388,7 +388,7 @@ func TestGetDefaultDropEntries(t *testing.T) { "context": "dev", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "testNotIn", Operator: metav1.LabelSelectorOpNotIn, Values: []string{ @@ -401,7 +401,7 @@ func TestGetDefaultDropEntries(t *testing.T) { iptIngressEntries := getDefaultDropEntries(ns, targetSelector, true, false) expectedIptIngressEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -441,7 +441,7 @@ func TestGetDefaultDropEntries(t *testing.T) { iptEgressEntries := getDefaultDropEntries(ns, targetSelector, false, true) expectedIptEgressEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureEgressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -481,7 +481,7 @@ func TestGetDefaultDropEntries(t *testing.T) { iptIngressEgressEntries := getDefaultDropEntries(ns, targetSelector, true, true) expectedIptIngressEgressEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -508,7 +508,7 @@ func TestGetDefaultDropEntries(t *testing.T) { "DROP-ALL-TO-context:dev-AND-!testNotIn:frontend-IN-ns-testnamespace", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureEgressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -554,7 +554,7 @@ func TestTranslateIngress(t *testing.T) { "context": "dev", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "testNotIn", Operator: metav1.LabelSelectorOpNotIn, Values: []string{ @@ -571,7 +571,7 @@ func TestTranslateIngress(t *testing.T) { "app": "db", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "testIn", Operator: metav1.LabelSelectorOpIn, Values: []string{ @@ -585,7 +585,7 @@ func TestTranslateIngress(t *testing.T) { "ns": "dev", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "testIn", Operator: metav1.LabelSelectorOpIn, Values: []string{ @@ -601,7 +601,7 @@ func TestTranslateIngress(t *testing.T) { "region": "northpole", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "k", Operator: metav1.LabelSelectorOpDoesNotExist, }, @@ -612,7 +612,7 @@ func TestTranslateIngress(t *testing.T) { "planet": "earth", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "keyExists", Operator: metav1.LabelSelectorOpExists, }, @@ -621,18 +621,18 @@ func TestTranslateIngress(t *testing.T) { } rules := []networkingv1.NetworkPolicyIngressRule{ - networkingv1.NetworkPolicyIngressRule{ + { Ports: []networkingv1.NetworkPolicyPort{ - networkingv1.NetworkPolicyPort{ + { Protocol: &tcp, Port: &port6783, }, }, From: []networkingv1.NetworkPolicyPeer{ - networkingv1.NetworkPolicyPeer{ + { PodSelector: ingressPodSelector, }, - networkingv1.NetworkPolicyPeer{ + { NamespaceSelector: ingressNamespaceSelector, }, compositeNetworkPolicyPeer, @@ -672,7 +672,7 @@ func TestTranslateIngress(t *testing.T) { } expectedIptEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressPortChain, Specs: []string{ util.IptablesModuleFlag, @@ -720,7 +720,7 @@ func TestTranslateIngress(t *testing.T) { "ALLOW-app:db-AND-testIn:frontend-IN-ns-testnamespace-AND-TCP-PORT-6783-TO-context:dev-AND-!testNotIn:frontend-IN-ns-testnamespace", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressPortChain, Specs: []string{ util.IptablesModuleFlag, @@ -763,7 +763,7 @@ func TestTranslateIngress(t *testing.T) { "ALLOW-ns-ns:dev-AND-ns-testIn:frontendns-AND-TCP-PORT-6783-TO-context:dev-AND-!testNotIn:frontend-IN-ns-testnamespace", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressPortChain, Specs: []string{ util.IptablesModuleFlag, @@ -837,7 +837,7 @@ func TestTranslateEgress(t *testing.T) { "context": "dev", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "testNotIn", Operator: metav1.LabelSelectorOpNotIn, Values: []string{ @@ -854,7 +854,7 @@ func TestTranslateEgress(t *testing.T) { "app": "db", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "testIn", Operator: metav1.LabelSelectorOpIn, Values: []string{ @@ -868,7 +868,7 @@ func TestTranslateEgress(t *testing.T) { "ns": "dev", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "testIn", Operator: metav1.LabelSelectorOpIn, Values: []string{ @@ -884,7 +884,7 @@ func TestTranslateEgress(t *testing.T) { "region": "northpole", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "k", Operator: metav1.LabelSelectorOpDoesNotExist, }, @@ -895,7 +895,7 @@ func TestTranslateEgress(t *testing.T) { "planet": "earth", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "keyExists", Operator: metav1.LabelSelectorOpExists, }, @@ -904,18 +904,18 @@ func TestTranslateEgress(t *testing.T) { } rules := []networkingv1.NetworkPolicyEgressRule{ - networkingv1.NetworkPolicyEgressRule{ + { Ports: []networkingv1.NetworkPolicyPort{ - networkingv1.NetworkPolicyPort{ + { Protocol: &tcp, Port: &port6783, }, }, To: []networkingv1.NetworkPolicyPeer{ - networkingv1.NetworkPolicyPeer{ + { PodSelector: egressPodSelector, }, - networkingv1.NetworkPolicyPeer{ + { NamespaceSelector: egressNamespaceSelector, }, compositeNetworkPolicyPeer, @@ -955,7 +955,7 @@ func TestTranslateEgress(t *testing.T) { } expectedIptEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureEgressPortChain, Specs: []string{ util.IptablesModuleFlag, @@ -1003,7 +1003,7 @@ func TestTranslateEgress(t *testing.T) { "ALLOW-app:db-AND-testIn:frontend-IN-ns-testnamespace-AND-TCP-PORT-6783-FROM-context:dev-AND-!testNotIn:frontend-IN-ns-testnamespace", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureEgressPortChain, Specs: []string{ util.IptablesModuleFlag, @@ -1046,7 +1046,7 @@ func TestTranslateEgress(t *testing.T) { "ALLOW-ns-ns:dev-AND-ns-testIn:frontendns-AND-TCP-PORT-6783-FROM-context:dev-AND-!testNotIn:frontend-IN-ns-testnamespace", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureEgressPortChain, Specs: []string{ util.IptablesModuleFlag, @@ -1185,7 +1185,7 @@ func TestAllowBackendToFrontend(t *testing.T) { expectedIptEntries := []*iptm.IptEntry{} nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressFromChain, Specs: []string{ util.IptablesModuleFlag, @@ -1218,7 +1218,7 @@ func TestAllowBackendToFrontend(t *testing.T) { "ALLOW-app:frontend-IN-ns-testnamespace-TO-app:backend-IN-ns-testnamespace", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -1278,7 +1278,7 @@ func TestAllowAllToAppFrontend(t *testing.T) { expectedIptEntries := []*iptm.IptEntry{} nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressPortChain, Specs: []string{ util.IptablesModuleFlag, @@ -1376,7 +1376,7 @@ func TestNamespaceToFrontend(t *testing.T) { expectedIptEntries := []*iptm.IptEntry{} nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressFromChain, Specs: []string{ util.IptablesModuleFlag, @@ -1404,7 +1404,7 @@ func TestNamespaceToFrontend(t *testing.T) { "ALLOW-ns-testnamespace-TO-app:frontend-IN-ns-testnamespace", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -1465,7 +1465,7 @@ func TestAllowAllNamespacesToAppFrontend(t *testing.T) { expectedIptEntries := []*iptm.IptEntry{} nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressFromChain, Specs: []string{ util.IptablesModuleFlag, @@ -1493,7 +1493,7 @@ func TestAllowAllNamespacesToAppFrontend(t *testing.T) { "ALLOW-all-namespaces-TO-app:frontend-IN-ns-testnamespace", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -1557,7 +1557,7 @@ func TestAllowNamespaceDevToAppFrontend(t *testing.T) { expectedIptEntries := []*iptm.IptEntry{} nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressFromChain, Specs: []string{ util.IptablesModuleFlag, @@ -1591,7 +1591,7 @@ func TestAllowNamespaceDevToAppFrontend(t *testing.T) { "ALLOW-ns-namespace:dev-AND-ns-!namespace:test0-TO-app:frontend-IN-ns-testnamespace", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressFromChain, Specs: []string{ util.IptablesModuleFlag, @@ -1625,7 +1625,7 @@ func TestAllowNamespaceDevToAppFrontend(t *testing.T) { "ALLOW-ns-namespace:dev-AND-ns-!namespace:test1-TO-app:frontend-IN-ns-testnamespace", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -1695,7 +1695,7 @@ func TestAllowAllToK0AndK1AndAppFrontend(t *testing.T) { expectedIptEntries := []*iptm.IptEntry{} nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressFromChain, Specs: []string{ util.IptablesModuleFlag, @@ -1734,7 +1734,7 @@ func TestAllowAllToK0AndK1AndAppFrontend(t *testing.T) { "ALLOW-all-namespaces-TO-app:frontend-AND-!k0-AND-k1:v0:v1-IN-ns-testnamespace", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -1810,7 +1810,7 @@ func TestAllowNsDevAndAppBackendToAppFrontend(t *testing.T) { expectedIptEntries := []*iptm.IptEntry{} nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressFromChain, Specs: []string{ util.IptablesModuleFlag, @@ -1843,7 +1843,7 @@ func TestAllowNsDevAndAppBackendToAppFrontend(t *testing.T) { "ALLOW-ns-ns:dev-AND-app:backend-TO-app:frontend-IN-ns-testnamespace", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -1904,7 +1904,7 @@ func TestAllowInternalAndExternal(t *testing.T) { expectedIptEntries := []*iptm.IptEntry{} nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressPortChain, Specs: []string{ util.IptablesModuleFlag, @@ -1968,7 +1968,7 @@ func TestAllowBackendToFrontendPort8000(t *testing.T) { expectedIptEntries := []*iptm.IptEntry{} nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressPortChain, Specs: []string{ util.IptablesModuleFlag, @@ -2003,7 +2003,7 @@ func TestAllowBackendToFrontendPort8000(t *testing.T) { "ALLOW-app:backend-IN-ns-testnamespace-AND-PORT-8000-TO-app:frontend-IN-ns-testnamespace", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -2065,7 +2065,7 @@ func TestAllowBackendToFrontendWithMissingPort(t *testing.T) { expectedIptEntries := []*iptm.IptEntry{} nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressPortChain, Specs: []string{ util.IptablesModuleFlag, @@ -2098,7 +2098,7 @@ func TestAllowBackendToFrontendWithMissingPort(t *testing.T) { "ALLOW-app:backend-IN-ns-testnamespace-AND--TO-app:frontend-IN-ns-testnamespace", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -2164,7 +2164,7 @@ func TestAllowMultipleLabelsToMultipleLabels(t *testing.T) { expectedIptEntries := []*iptm.IptEntry{} nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressFromChain, Specs: []string{ util.IptablesModuleFlag, @@ -2207,7 +2207,7 @@ func TestAllowMultipleLabelsToMultipleLabels(t *testing.T) { "ALLOW-program:cni-AND-team:acn-IN-ns-acn-TO-app:k8s-AND-team:aks-IN-ns-acn", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressFromChain, Specs: []string{ util.IptablesModuleFlag, @@ -2250,7 +2250,7 @@ func TestAllowMultipleLabelsToMultipleLabels(t *testing.T) { "ALLOW-binary:cns-AND-group:container-IN-ns-acn-TO-app:k8s-AND-team:aks-IN-ns-acn", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -2352,7 +2352,7 @@ func TestAllowAllFromAppBackend(t *testing.T) { expectedIptEntries := []*iptm.IptEntry{} nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureEgressPortChain, Specs: []string{ util.IptablesModuleFlag, @@ -2437,7 +2437,7 @@ func TestAllowMultiplePodSelectors(t *testing.T) { expectedIptEntries := []*iptm.IptEntry{} nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressFromChain, Specs: []string{ util.IptablesModuleFlag, @@ -2476,7 +2476,7 @@ func TestAllowMultiplePodSelectors(t *testing.T) { "ALLOW-ns-!ns:netpol-4537-x-AND-pod:b:c-AND-app:test:int-TO-pod:a:x-IN-ns-netpol-4537-x", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressFromChain, Specs: []string{ util.IptablesModuleFlag, @@ -2590,7 +2590,7 @@ func TestAllowAppFrontendToTCPPort53UDPPort53Policy(t *testing.T) { expectedIptEntries := []*iptm.IptEntry{} nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureEgressPortChain, Specs: []string{ util.IptablesProtFlag, @@ -2617,7 +2617,7 @@ func TestAllowAppFrontendToTCPPort53UDPPort53Policy(t *testing.T) { "ALLOW-ALL-TO-TCP-PORT-53-FROM-app:frontend-IN-ns-testnamespace", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureEgressPortChain, Specs: []string{ util.IptablesProtFlag, @@ -2644,7 +2644,7 @@ func TestAllowAppFrontendToTCPPort53UDPPort53Policy(t *testing.T) { "ALLOW-ALL-TO-UDP-PORT-53-FROM-app:frontend-IN-ns-testnamespace", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureEgressToChain, Specs: []string{ util.IptablesModuleFlag, @@ -2673,7 +2673,7 @@ func TestAllowAppFrontendToTCPPort53UDPPort53Policy(t *testing.T) { util.KubeAllNamespacesFlag, }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureEgressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -2760,7 +2760,7 @@ func TestComplexPolicy(t *testing.T) { cidrEgressIpsetName := "k8s-example-policy" + "-in-ns-" + "default-" + "0" + "out" expectedIptEntries := []*iptm.IptEntry{} nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressPortChain, Specs: []string{ util.IptablesModuleFlag, @@ -2792,7 +2792,7 @@ func TestComplexPolicy(t *testing.T) { "ALLOW-" + cidrIngressIpsetName + "-AND-TCP-PORT-6379-TO-role:db-IN-ns-default", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressPortChain, Specs: []string{ util.IptablesModuleFlag, @@ -2824,7 +2824,7 @@ func TestComplexPolicy(t *testing.T) { "ALLOW-ns-project:myproject-AND-TCP-PORT-6379-TO-role:db-IN-ns-default", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressPortChain, Specs: []string{ util.IptablesModuleFlag, @@ -2861,7 +2861,7 @@ func TestComplexPolicy(t *testing.T) { "ALLOW-role:frontend-IN-ns-default-AND-TCP-PORT-6379-TO-role:db-IN-ns-default", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureEgressPortChain, Specs: []string{ util.IptablesProtFlag, @@ -2893,7 +2893,7 @@ func TestComplexPolicy(t *testing.T) { "ALLOW-" + cidrEgressIpsetName + "-AND-TCP-PORT-5978-FROM-role:db-IN-ns-default", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -2914,7 +2914,7 @@ func TestComplexPolicy(t *testing.T) { "DROP-ALL-TO-role:db-IN-ns-default", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureEgressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -2954,7 +2954,7 @@ func TestDropPrecedenceOverAllow(t *testing.T) { "app": "test", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "testIn", Operator: metav1.LabelSelectorOpIn, Values: []string{ @@ -2989,15 +2989,15 @@ func TestDropPrecedenceOverAllow(t *testing.T) { networkingv1.PolicyTypeEgress, }, Ingress: []networkingv1.NetworkPolicyIngressRule{ - networkingv1.NetworkPolicyIngressRule{ + { From: []networkingv1.NetworkPolicyPeer{ - networkingv1.NetworkPolicyPeer{ + { PodSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "app": "test", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "testIn", Operator: metav1.LabelSelectorOpIn, Values: []string{ @@ -3007,13 +3007,13 @@ func TestDropPrecedenceOverAllow(t *testing.T) { }, }, }, - networkingv1.NetworkPolicyPeer{ + { PodSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "app": "test", }, MatchExpressions: []metav1.LabelSelectorRequirement{ - metav1.LabelSelectorRequirement{ + { Key: "testIn", Operator: metav1.LabelSelectorOpIn, Values: []string{ @@ -3027,9 +3027,9 @@ func TestDropPrecedenceOverAllow(t *testing.T) { }, }, Egress: []networkingv1.NetworkPolicyEgressRule{ - networkingv1.NetworkPolicyEgressRule{ + { To: []networkingv1.NetworkPolicyPeer{ - networkingv1.NetworkPolicyPeer{ + { NamespaceSelector: &metav1.LabelSelector{}, }, }, @@ -3081,7 +3081,7 @@ func TestDropPrecedenceOverAllow(t *testing.T) { iptEntries = append(iptEntries, finalIptEntries...) nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -3099,7 +3099,7 @@ func TestDropPrecedenceOverAllow(t *testing.T) { }, } nonKubeSystemEntries2 := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressFromChain, Specs: []string{ util.IptablesModuleFlag, @@ -3142,7 +3142,7 @@ func TestDropPrecedenceOverAllow(t *testing.T) { "ALLOW-app:test-AND-testIn:pod-B-IN-ns-default-TO-app:test-AND-testIn:pod-A-IN-ns-default", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressFromChain, Specs: []string{ util.IptablesModuleFlag, @@ -3185,7 +3185,7 @@ func TestDropPrecedenceOverAllow(t *testing.T) { "ALLOW-app:test-AND-testIn:pod-C-IN-ns-default-TO-app:test-AND-testIn:pod-A-IN-ns-default", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureEgressToChain, Specs: []string{ util.IptablesModuleFlag, @@ -3218,7 +3218,7 @@ func TestDropPrecedenceOverAllow(t *testing.T) { "ALLOW-app:test-AND-testIn:pod-A-IN-ns-default-TO-all-namespaces", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -3244,7 +3244,7 @@ func TestDropPrecedenceOverAllow(t *testing.T) { "DROP-ALL-TO-app:test-AND-testIn:pod-A-IN-ns-default", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureEgressDropsChain, Specs: []string{ util.IptablesModuleFlag, @@ -3320,7 +3320,7 @@ func TestNamedPorts(t *testing.T) { expectedIptEntries := []*iptm.IptEntry{} nonKubeSystemEntries := []*iptm.IptEntry{ - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressPortChain, Specs: []string{ util.IptablesModuleFlag, @@ -3350,7 +3350,7 @@ func TestNamedPorts(t *testing.T) { "ALLOW-ALL-TCP-PORT-serve-80-TO-app:server-IN-ns-test", }, }, - &iptm.IptEntry{ + { Chain: util.IptablesAzureIngressDropsChain, Specs: []string{ util.IptablesModuleFlag, diff --git a/platform/os_test.go b/platform/os_test.go index 8c1daa77db..bb32a16e00 100644 --- a/platform/os_test.go +++ b/platform/os_test.go @@ -47,8 +47,6 @@ func TestReadFileByLines(t *testing.T) { t.Errorf("Line count %d didn't match expected count", len(lines)) } - lines = nil - lines, err = ReadFileByLines("testfiles/test2") if err != nil { t.Errorf("ReadFileByLines failed: %v", err) @@ -58,8 +56,6 @@ func TestReadFileByLines(t *testing.T) { t.Errorf("Line count %d didn't match expected count", len(lines)) } - lines = nil - lines, err = ReadFileByLines("testfiles/test3") if err != nil { t.Errorf("ReadFileByLines failed: %v", err) diff --git a/telemetry/telemetry_linux.go b/telemetry/telemetry_linux.go index 4f0f908c3b..a1710e0a8a 100644 --- a/telemetry/telemetry_linux.go +++ b/telemetry/telemetry_linux.go @@ -65,9 +65,8 @@ func getDiskInfo(path string) (*DiskInfo, error) { // This function creates a report with system details(memory, disk, cpu). func (report *CNIReport) GetSystemDetails() { var errMsg string - var cpuCount int = 0 - cpuCount = runtime.NumCPU() + cpuCount := runtime.NumCPU() memInfo, err := getMemInfo() if err != nil { diff --git a/telemetry/telemetrybuffer.go b/telemetry/telemetrybuffer.go index af941d2bf3..8101654036 100644 --- a/telemetry/telemetrybuffer.go +++ b/telemetry/telemetrybuffer.go @@ -195,7 +195,9 @@ func read(conn net.Conn) (b []byte, err error) { // Write - write to the file descriptor func (tb *TelemetryBuffer) Write(b []byte) (c int, err error) { - b = append(b, Delimiter) + buf := make([]byte, len(b)) + copy(b, buf) + b = append(buf, Delimiter) w := bufio.NewWriter(tb.client) c, err = w.Write(b) if err == nil { @@ -254,15 +256,13 @@ func push(x interface{}) { kvs.Unlock(true) } - switch x.(type) { + switch y := x.(type) { case CNIReport: - cniReport := x.(CNIReport) - cniReport.Metadata = metadata - SendAITelemetry(cniReport) + y.Metadata = metadata + SendAITelemetry(y) case AIMetric: - aiMetric := x.(AIMetric) - SendAIMetric(aiMetric) + SendAIMetric(y) } } diff --git a/tools/acncli/cmd/logs.go b/tools/acncli/cmd/logs.go index 8be432b970..9b1c6f3dd3 100644 --- a/tools/acncli/cmd/logs.go +++ b/tools/acncli/cmd/logs.go @@ -37,14 +37,14 @@ func LogsCNICmd() *cobra.Command { for line := range t.Lines { fmt.Println(line.Text) } - if viper.GetBool(c.FlagFollow) == false { + if !viper.GetBool(c.FlagFollow) { return nil } } }} - cmd.Flags().BoolP(c.FlagFollow, "f", c.DefaultToggles[c.FlagFollow], fmt.Sprintf("Follow the log file, similar to 'tail -f'")) - cmd.Flags().String(c.FlagLogFilePath, c.Defaults[c.FlagLogFilePath], fmt.Sprintf("Path of the Azure CNI log file")) + cmd.Flags().BoolP(c.FlagFollow, "f", c.DefaultToggles[c.FlagFollow], "Follow the log file, similar to 'tail -f'") + cmd.Flags().String(c.FlagLogFilePath, c.Defaults[c.FlagLogFilePath], "Path of the Azure CNI log file") return cmd }