diff --git a/cni/ipam/ipam.go b/cni/ipam/ipam.go index b0fe1d2c57..e5be7508ed 100644 --- a/cni/ipam/ipam.go +++ b/cni/ipam/ipam.go @@ -62,29 +62,25 @@ func (plugin *ipamPlugin) Start(config *common.PluginConfig) error { // Initialize base plugin. err := plugin.Initialize(config) if err != nil { - log.Logger.Error("Failed to initialize base plugin.", - zap.Error(err), zap.String("component", "cni-ipam")) + log.Logger.Error("Failed to initialize base plugin.", zap.Error(err)) return err } // Log platform information. log.Logger.Info("Plugin version.", zap.String("name", plugin.Name), - zap.String("version", plugin.Version), - zap.String("component", "cni-ipam")) + zap.String("version", plugin.Version)) log.Logger.Info("Running on", - zap.String("platform", platform.GetOSInfo()), - zap.String("component", "cni-ipam")) + zap.String("platform", platform.GetOSInfo())) // Initialize address manager. rehyrdration not required on reboot for cni ipam plugin err = plugin.am.Initialize(config, false, plugin.Options) if err != nil { log.Logger.Error("Failed to initialize address manager", - zap.String("error", err.Error()), - zap.String("component", "cni-ipam")) + zap.String("error", err.Error())) return err } - log.Logger.Info("Plugin started", zap.String("component", "cni-ipam")) + log.Logger.Info("Plugin started") return nil } @@ -93,7 +89,7 @@ func (plugin *ipamPlugin) Start(config *common.PluginConfig) error { func (plugin *ipamPlugin) Stop() { plugin.am.Uninitialize() plugin.Uninitialize() - log.Logger.Info("Plugin stopped", zap.String("component", "cni-ipam")) + log.Logger.Info("Plugin stopped") } // Configure parses and applies the given network configuration. @@ -105,8 +101,7 @@ func (plugin *ipamPlugin) Configure(stdinData []byte) (*cni.NetworkConfig, error } log.Logger.Info("Read network configuration", - zap.Any("config", nwCfg), - zap.String("component", "cni-ipam")) + zap.Any("config", nwCfg)) // Apply IPAM configuration. @@ -151,14 +146,12 @@ func (plugin *ipamPlugin) Add(args *cniSkel.CmdArgs) error { zap.String("IfName", args.IfName), zap.String("Args", args.Args), zap.String("Path", args.Path), - zap.ByteString("StdinData", args.StdinData), - zap.String("component", "cni-ipam")) + zap.ByteString("StdinData", args.StdinData)) defer func() { log.Logger.Info("ADD command completed", zap.Any("result", result), - zap.Any("error:", err), - zap.String("component", "cni-ipam")) + zap.Any("error:", err)) }() // Parse network configuration from stdin. @@ -196,8 +189,7 @@ func (plugin *ipamPlugin) Add(args *cniSkel.CmdArgs) error { defer func() { if err != nil && poolID != "" { log.Logger.Info("Releasing pool", - zap.String("poolId", poolID), - zap.String("component", "cni-ipam")) + zap.String("poolId", poolID)) _ = plugin.am.ReleasePool(nwCfg.IPAM.AddrSpace, poolID) } }() @@ -205,8 +197,7 @@ func (plugin *ipamPlugin) Add(args *cniSkel.CmdArgs) error { nwCfg.IPAM.Subnet = subnet log.Logger.Info("Allocated address with subnet", zap.String("poolId", poolID), - zap.String("subnet", subnet), - zap.String("component", "cni-ipam")) + zap.String("subnet", subnet)) } // Allocate an address for the endpoint. @@ -219,16 +210,12 @@ func (plugin *ipamPlugin) Add(args *cniSkel.CmdArgs) error { // On failure, release the address. defer func() { if err != nil && address != "" { - log.Logger.Info("Releasing address", - zap.String("address", address), - zap.String("component", "cni-ipam")) + log.Logger.Info("Releasing address", zap.String("address", address)) _ = plugin.am.ReleaseAddress(nwCfg.IPAM.AddrSpace, nwCfg.IPAM.Subnet, address, options) } }() - log.Logger.Info("Allocated address", - zap.String("address", address), - zap.String("component", "cni-ipam")) + log.Logger.Info("Allocated address", zap.String("address", address)) // Parse IP address. ipAddress, err := platform.ConvertStringToIPNet(address) diff --git a/cni/ipam/plugin/main.go b/cni/ipam/plugin/main.go index 27323ce7c0..640938bd1c 100644 --- a/cni/ipam/plugin/main.go +++ b/cni/ipam/plugin/main.go @@ -20,6 +20,7 @@ const ( name = "azure-vnet-ipam" maxLogFileSizeInMb = 5 maxLogFileCount = 8 + component = "cni" ) // Version is populated by make during build. @@ -48,6 +49,7 @@ func main() { MaxSizeInMB: maxLogFileSizeInMb, MaxBackups: maxLogFileCount, Name: name, + Component: component, } zaplog.Initialize(ctx, loggerCfg) diff --git a/cni/ipam/pluginv6/main.go b/cni/ipam/pluginv6/main.go index 86a78182bc..35432e85eb 100644 --- a/cni/ipam/pluginv6/main.go +++ b/cni/ipam/pluginv6/main.go @@ -20,6 +20,7 @@ const ( name = "azure-vnet-ipamv6" maxLogFileSizeInMb = 5 maxLogFileCount = 8 + component = "cni" ) // Version is populated by make during build. @@ -48,6 +49,7 @@ func main() { MaxSizeInMB: maxLogFileSizeInMb, MaxBackups: maxLogFileCount, Name: name, + Component: component, } zaplog.Initialize(ctx, loggerCfg) diff --git a/cni/log/logger.go b/cni/log/logger.go index f619b25a54..2368b6c745 100644 --- a/cni/log/logger.go +++ b/cni/log/logger.go @@ -16,6 +16,7 @@ type Config struct { MaxSizeInMB int MaxBackups int Name string + Component string } var Logger *zap.Logger @@ -48,6 +49,7 @@ func newFileLogger(cfg *Config) *zap.Logger { core := zapcore.NewCore(jsonEncoder, logFileWriter, logLevel) Logger = zap.New(core) Logger = Logger.With(zap.Int("pid", os.Getpid())) + Logger = Logger.With(zap.String("component", cfg.Component)) return Logger } diff --git a/cni/network/invoker_azure.go b/cni/network/invoker_azure.go index e0f653a993..86a1f12c15 100644 --- a/cni/network/invoker_azure.go +++ b/cni/network/invoker_azure.go @@ -104,9 +104,7 @@ func (invoker *AzureIPAMInvoker) Add(addConfig IPAMAddConfig) (IPAMAddResult, er func (invoker *AzureIPAMInvoker) deleteIpamState() { cniStateExists, err := platform.CheckIfFileExists(platform.CNIStateFilePath) if err != nil { - log.Logger.Error("Error checking CNI state exist", - zap.Error(err), - zap.String("component", "cni")) + log.Logger.Error("Error checking CNI state exist", zap.Error(err)) return } @@ -116,15 +114,15 @@ func (invoker *AzureIPAMInvoker) deleteIpamState() { ipamStateExists, err := platform.CheckIfFileExists(platform.CNIIpamStatePath) if err != nil { - log.Logger.Error("Error checking IPAM state exist", zap.Error(err), zap.String("component", "cni")) + log.Logger.Error("Error checking IPAM state exist", zap.Error(err)) return } if ipamStateExists { - log.Logger.Info("Deleting IPAM state file", zap.String("component", "cni")) + log.Logger.Info("Deleting IPAM state file") err = os.Remove(platform.CNIIpamStatePath) if err != nil { - log.Logger.Error("Error deleting state file", zap.Error(err), zap.String("component", "cni")) + log.Logger.Error("Error deleting state file", zap.Error(err)) return } } diff --git a/cni/network/invoker_cns.go b/cni/network/invoker_cns.go index 1734b09749..ba88fb7b71 100644 --- a/cni/network/invoker_cns.go +++ b/cni/network/invoker_cns.go @@ -137,8 +137,7 @@ func (invoker *CNSIPAMInvoker) Add(addConfig IPAMAddConfig) (IPAMAddResult, erro log.Logger.Info("Received info for pod", zap.Any("ipv4info", info), - zap.Any("podInfo", podInfo), - zap.String("component", "cni-invoker-cns")) + zap.Any("podInfo", podInfo)) ip, ncIPNet, err := net.ParseCIDR(info.podIPAddress + "/" + fmt.Sprint(info.ncSubnetPrefix)) if ip == nil { return IPAMAddResult{}, errors.Wrap(err, "Unable to parse IP from response: "+info.podIPAddress+" with err %w") diff --git a/cni/network/multitenancy.go b/cni/network/multitenancy.go index 0f9d6a0711..8078228da4 100644 --- a/cni/network/multitenancy.go +++ b/cni/network/multitenancy.go @@ -89,8 +89,7 @@ func (m *Multitenancy) DetermineSnatFeatureOnHost(snatFile, nmAgentSupportedApis jsonFile.Close() if retrieveSnatConfigErr = json.Unmarshal(bytes, &snatConfig); retrieveSnatConfigErr != nil { log.Logger.Error("failed to unmarshal to snatConfig with error %v", - zap.Error(retrieveSnatConfigErr), - zap.String("component", "cni-net")) + zap.Error(retrieveSnatConfigErr)) } } @@ -128,8 +127,7 @@ func (m *Multitenancy) DetermineSnatFeatureOnHost(snatFile, nmAgentSupportedApis } else { log.Logger.Error("failed to save snat settings", zap.String("snatConfgFile", snatConfigFile), - zap.Error(err), - zap.String("component", "cni-net")) + zap.Error(err)) } } } else { @@ -141,26 +139,21 @@ func (m *Multitenancy) DetermineSnatFeatureOnHost(snatFile, nmAgentSupportedApis // Log and return the error when we fail acquire snat configuration for host and dns if retrieveSnatConfigErr != nil { log.Logger.Error("failed to acquire SNAT configuration with error %v", - zap.Error(retrieveSnatConfigErr), - zap.String("component", "cni-net")) + zap.Error(retrieveSnatConfigErr)) return snatConfig.EnableSnatForDns, snatConfig.EnableSnatOnHost, retrieveSnatConfigErr } log.Logger.Info("saved snat settings", zap.Any("snatConfig", snatConfig), - zap.String("snatConfigfile", snatConfigFile), - zap.String("component", "cni-net")) + zap.String("snatConfigfile", snatConfigFile)) if snatConfig.EnableSnatOnHost { - log.Logger.Info("enabling SNAT on container host for outbound connectivity", - zap.String("component", "cni-net")) + log.Logger.Info("enabling SNAT on container host for outbound connectivity") } if snatConfig.EnableSnatForDns { - log.Logger.Info("enabling SNAT on container host for DNS traffic", - zap.String("component", "cni-net")) + log.Logger.Info("enabling SNAT on container host for DNS traffic") } if !snatConfig.EnableSnatForDns && !snatConfig.EnableSnatOnHost { - log.Logger.Info("disabling SNAT on container host", - zap.String("component", "cni-net")) + log.Logger.Info("disabling SNAT on container host") } return snatConfig.EnableSnatForDns, snatConfig.EnableSnatOnHost, nil diff --git a/cni/network/network.go b/cni/network/network.go index 6681761fe6..5dd6308e61 100644 --- a/cni/network/network.go +++ b/cni/network/network.go @@ -150,19 +150,16 @@ func (plugin *NetPlugin) Start(config *common.PluginConfig) error { // Log platform information. log.Logger.Info("Plugin Info", zap.String("name", plugin.Name), - zap.String("version", plugin.Version), - zap.String("component", "cni-net")) + zap.String("version", plugin.Version)) // Initialize network manager. rehyrdration not required on reboot for cni plugin err = plugin.nm.Initialize(config, false) if err != nil { - log.Logger.Error("Failed to initialize network manager", - zap.Error(err), - zap.String("component", "cni-net")) + log.Logger.Error("Failed to initialize network manager", zap.Error(err)) return err } - log.Logger.Info("Plugin started", zap.String("component", "cni-net")) + log.Logger.Info("Plugin started") return nil } @@ -206,7 +203,7 @@ func (plugin *NetPlugin) GetAllEndpointState(networkid string) (*api.AzureCNISta func (plugin *NetPlugin) Stop() { plugin.nm.Uninitialize() plugin.Uninitialize() - log.Logger.Info("Plugin stopped", zap.String("component", "cni-net")) + log.Logger.Info("Plugin stopped") } // FindMasterInterface returns the name of the master interface. @@ -270,8 +267,7 @@ func (plugin *NetPlugin) getPodInfo(args string) (name, ns string, err error) { func SetCustomDimensions(cniMetric *telemetry.AIMetric, nwCfg *cni.NetworkConfig, err error) { if cniMetric == nil { - log.Logger.Error("Unable to set custom dimension. Report is nil", - zap.String("component", "cni")) + log.Logger.Error("Unable to set custom dimension. Report is nil") return } @@ -313,7 +309,7 @@ func addNatIPV6SubnetInfo(nwCfg *cni.NetworkConfig, Gateway: resultV6.IPs[0].Gateway, } log.Logger.Info("ipv6 subnet info", - zap.Any("ipv6SubnetInfo", ipv6SubnetInfo), zap.String("component", "net")) + zap.Any("ipv6SubnetInfo", ipv6SubnetInfo)) nwInfo.Subnets = append(nwInfo.Subnets, ipv6SubnetInfo) } } diff --git a/cni/network/network_windows.go b/cni/network/network_windows.go index c33e2cc227..9fbe74f91d 100644 --- a/cni/network/network_windows.go +++ b/cni/network/network_windows.go @@ -54,23 +54,20 @@ func (plugin *NetPlugin) handleConsecutiveAdd(args *cniSkel.CmdArgs, endpointId hnsEndpoint, err := network.Hnsv1.GetHNSEndpointByName(endpointId) if hnsEndpoint != nil { log.Logger.Info("Found existing endpoint through hcsshim", - zap.Any("endpoint", hnsEndpoint), - zap.String("component", "net")) + zap.Any("endpoint", hnsEndpoint)) endpoint, _ := network.Hnsv1.GetHNSEndpointByID(hnsEndpoint.Id) isAttached, _ := network.Hnsv1.IsAttached(endpoint, args.ContainerID) // Attach endpoint if it's not attached yet. if !isAttached { log.Logger.Info("Attaching endpoint to container", zap.String("endpoint", hnsEndpoint.Id), - zap.String("container", args.ContainerID), - zap.String("component", "net")) + zap.String("container", args.ContainerID)) err := network.Hnsv1.HotAttachEndpoint(args.ContainerID, hnsEndpoint.Id) if err != nil { log.Logger.Error("Failed to hot attach shared endpoint to container", zap.String("endpoint", hnsEndpoint.Id), zap.String("container", args.ContainerID), - zap.Error(err), - zap.String("component", "cni-net")) + zap.Error(err)) return nil, err } } @@ -254,8 +251,7 @@ func getEndpointDNSSettings(nwCfg *cni.NetworkConfig, result *cniTypesCurr.Resul // getPoliciesFromRuntimeCfg returns network policies from network config. func getPoliciesFromRuntimeCfg(nwCfg *cni.NetworkConfig, isIPv6Enabled bool) []policy.Policy { log.Logger.Info("Runtime Info", - zap.Any("config", nwCfg.RuntimeConfig), - zap.String("component", "net")) + zap.Any("config", nwCfg.RuntimeConfig)) var policies []policy.Policy var protocol uint32 @@ -290,8 +286,7 @@ func getPoliciesFromRuntimeCfg(nwCfg *cni.NetworkConfig, isIPv6Enabled bool) []p } log.Logger.Info("Creating port mapping policyv4", - zap.Any("policy", policyv4), - zap.String("component", "net")) + zap.Any("policy", policyv4)) policies = append(policies, policyv4) // add port mapping policy for v6 if we have IPV6 enabled @@ -317,8 +312,7 @@ func getPoliciesFromRuntimeCfg(nwCfg *cni.NetworkConfig, isIPv6Enabled bool) []p } log.Logger.Info("Creating port mapping policyv6", - zap.Any("policy", policyv6), - zap.String("component", "net")) + zap.Any("policy", policyv6)) policies = append(policies, policyv6) } } diff --git a/cni/network/plugin/main.go b/cni/network/plugin/main.go index 7618081960..dc22cd7607 100644 --- a/cni/network/plugin/main.go +++ b/cni/network/plugin/main.go @@ -39,6 +39,7 @@ const ( name = "azure-vnet" maxLogFileSizeInMb = 5 maxLogFileCount = 8 + component = "cni" ) // Version is populated by make during build. @@ -311,6 +312,7 @@ func main() { MaxSizeInMB: maxLogFileSizeInMb, MaxBackups: maxLogFileCount, Name: name, + Component: component, } zaplog.Initialize(ctx, loggerCfg) diff --git a/cni/plugin.go b/cni/plugin.go index 07a78dba43..4d89d209e2 100644 --- a/cni/plugin.go +++ b/cni/plugin.go @@ -77,8 +77,7 @@ func (plugin *Plugin) Execute(api PluginApi) (err error) { log.Logger.Info("Recovered panic", zap.String("error", cniErr.Msg), - zap.String("details", cniErr.Details), - zap.String("component", "cni")) + zap.String("details", cniErr.Details)) } }() @@ -100,13 +99,12 @@ func (plugin *Plugin) DelegateAdd(pluginName string, nwCfg *NetworkConfig) (*cni var result *cniTypesCurr.Result var err error - log.Logger.Info("Calling ADD", zap.String("plugin", pluginName), zap.String("component", "cni")) + log.Logger.Info("Calling ADD", zap.String("plugin", pluginName)) defer func() { log.Logger.Info("Plugin returned", zap.String("plugin", pluginName), zap.Any("result", result), - zap.Error(err), - zap.String("component", "cni")) + zap.Error(err)) }() os.Setenv(Cmd, CmdAdd) @@ -130,13 +128,11 @@ func (plugin *Plugin) DelegateDel(pluginName string, nwCfg *NetworkConfig) error log.Logger.Info("Calling DEL", zap.String("plugin", pluginName), - zap.Any("config", nwCfg), - zap.String("component", "cni")) + zap.Any("config", nwCfg)) defer func() { log.Logger.Info("Plugin eturned", zap.String("plugin", pluginName), - zap.Error(err), - zap.String("component", "cni")) + zap.Error(err)) }() os.Setenv(Cmd, CmdDel) @@ -186,14 +182,13 @@ func (plugin *Plugin) InitializeKeyValueStore(config *common.PluginConfig) error if plugin.Store == nil { lockclient, err := processlock.NewFileLock(platform.CNILockPath + plugin.Name + store.LockExtension) if err != nil { - log.Logger.Error("Error initializing file lock", - zap.Error(err), zap.String("component", "cni")) + log.Logger.Error("Error initializing file lock", zap.Error(err)) return errors.Wrap(err, "error creating new filelock") } plugin.Store, err = store.NewJsonFileStore(platform.CNIRuntimePath+plugin.Name+".json", lockclient) if err != nil { - log.Logger.Error("Failed to create store", zap.Error(err), zap.String("component", "cni")) + log.Logger.Error("Failed to create store", zap.Error(err)) return err } } @@ -219,7 +214,7 @@ func (plugin *Plugin) UninitializeKeyValueStore() error { if plugin.Store != nil { err := plugin.Store.Unlock() if err != nil { - log.Logger.Error("Failed to unlock store", zap.Error(err), zap.String("component", "cni")) + log.Logger.Error("Failed to unlock store", zap.Error(err)) return err } } diff --git a/cni/telemetry/service/telemetrymain.go b/cni/telemetry/service/telemetrymain.go index e6ea2f9d1e..f8bae1d76b 100644 --- a/cni/telemetry/service/telemetrymain.go +++ b/cni/telemetry/service/telemetrymain.go @@ -29,6 +29,7 @@ const ( configExtension = ".config" maxLogFileSizeInMb = 5 maxLogFileCount = 8 + component = "cni" ) var version string @@ -123,6 +124,7 @@ func main() { MaxSizeInMB: maxLogFileSizeInMb, MaxBackups: maxLogFileCount, Name: azureVnetTelemetry, + Component: component, } log.Initialize(ctx, loggerCfg) @@ -134,14 +136,11 @@ func main() { configPath = fmt.Sprintf("%s\\%s%s", configDirectory, azureVnetTelemetry, configExtension) } - log.Logger.Info("Config path", - zap.String("path", configPath), zap.String("component", "telemetry")) + log.Logger.Info("Config path", zap.String("path", configPath)) config, err = telemetry.ReadConfigFile(configPath) if err != nil { - log.Logger.Error("Error reading telemetry config", - zap.Error(err), - zap.String("component", "telemetry")) + log.Logger.Error("Error reading telemetry config", zap.Error(err)) } log.Logger.Info("read config returned", zap.Any("config", config)) @@ -157,14 +156,13 @@ func main() { for { tb = telemetry.NewTelemetryBuffer() - log.Logger.Info("Starting telemetry server", zap.String("component", "telemetry")) + log.Logger.Info("Starting telemetry server") err = tb.StartServer() if err == nil || tb.FdExists { break } - log.Logger.Error("Telemetry service starting failed", - zap.Error(err), zap.String("component", "telemetry")) + log.Logger.Error("Telemetry service starting failed", zap.Error(err)) tb.Cleanup(telemetry.FdName) time.Sleep(time.Millisecond * 200) }