Skip to content

Commit 6c81eb1

Browse files
author
Esteban Capillo
committed
fix: adding constants to describe logger rotations constraints
1 parent 1e79286 commit 6c81eb1

File tree

21 files changed

+78
-57
lines changed

21 files changed

+78
-57
lines changed

azure-ipam/ipam.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ type cnsClient interface {
3232
ReleaseIPAddress(context.Context, cns.IPConfigRequest) error
3333
}
3434

35-
// NewPlugin constructs a new IPAM plugin instance with given log and CNS client
35+
// NewPlugin constructs a new IPAM plugin instance with given logger and CNS client
3636
func NewPlugin(logger *zap.Logger, c cnsClient, out io.Writer) (*IPAMPlugin, error) {
3737
plugin := &IPAMPlugin{
3838
Name: pluginName,

azure-ipam/logger/logger.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"github.com/pkg/errors"
55
"go.uber.org/zap"
66
"go.uber.org/zap/zapcore"
7+
"gopkg.in/natefinch/lumberjack.v2"
78
)
89

910
const (
@@ -17,7 +18,7 @@ type Config struct {
1718
MaxBackups int // # of backups, no limitation by default
1819
}
1920

20-
// NewLogger creates and returns a zap log and a clean up function
21+
// NewLogger creates and returns a zap logger and a clean up function
2122
func New(cfg *Config) (*zap.Logger, func(), error) {
2223
logLevel, err := zapcore.ParseLevel(cfg.Level)
2324
if err != nil {
@@ -45,7 +46,7 @@ func newFileLogger(cfg *Config, logLevel zapcore.Level) *zap.Logger {
4546
encoderConfig := zap.NewProductionEncoderConfig()
4647
encoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder
4748
jsonEncoder := zapcore.NewJSONEncoder(encoderConfig)
48-
// create a new zap log
49+
// create a new zap logger
4950
core := zapcore.NewCore(jsonEncoder, logFileWriter, logLevel)
5051
logger := zap.New(core)
5152
return logger

azure-ipam/main.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@ func main() {
2020
}
2121

2222
func executePlugin() error {
23-
// log config
23+
// logger config
2424
loggerCfg := &logger.Config{
2525
Level: "debug",
2626
Filepath: "/var/log/azure-ipam.log",
2727
MaxSizeInMB: 5, // MegaBytes
2828
MaxBackups: 8,
2929
}
30-
// Create log
30+
// Create logger
3131
pluginLogger, cleanup, err := logger.New(loggerCfg)
3232
if err != nil {
3333
return errors.Wrapf(err, "failed to setup IPAM logging")

cni/api/api.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@ package api
22

33
import (
44
"encoding/json"
5-
"github.com/Azure/azure-container-networking/cni/log"
6-
"go.uber.org/zap"
75
"net"
86
"os"
7+
8+
"github.com/Azure/azure-container-networking/cni/log"
9+
"go.uber.org/zap"
910
)
1011

1112
type PodNetworkInterfaceInfo struct {

cni/client/client.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package client
33
import (
44
"encoding/json"
55
"fmt"
6-
"go.uber.org/zap"
76
"os"
87
"strings"
98

@@ -12,6 +11,7 @@ import (
1211
"github.com/Azure/azure-container-networking/cni/log"
1312
"github.com/Azure/azure-container-networking/platform"
1413
semver "github.com/hashicorp/go-version"
14+
"go.uber.org/zap"
1515
utilexec "k8s.io/utils/exec"
1616
)
1717

cni/ipam/ipam.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ package ipam
55

66
import (
77
"encoding/json"
8-
"go.uber.org/zap"
98
"net"
109
"strconv"
1110

@@ -17,6 +16,7 @@ import (
1716
cniSkel "github.com/containernetworking/cni/pkg/skel"
1817
cniTypes "github.com/containernetworking/cni/pkg/types"
1918
cniTypesCurr "github.com/containernetworking/cni/pkg/types/100"
19+
"go.uber.org/zap"
2020
)
2121

2222
const ipamV6 = "azure-vnet-ipamv6"

cni/ipam/plugin/main.go

+7-5
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,19 @@ package main
55

66
import (
77
"fmt"
8-
"github.com/Azure/azure-container-networking/cni/log"
9-
"go.uber.org/zap/zapcore"
108
"os"
119

1210
"github.com/Azure/azure-container-networking/cni"
1311
"github.com/Azure/azure-container-networking/cni/ipam"
12+
"github.com/Azure/azure-container-networking/cni/log"
1413
"github.com/Azure/azure-container-networking/common"
14+
"go.uber.org/zap/zapcore"
1515
)
1616

1717
const (
18-
name = "azure-vnet-ipam"
18+
name = "azure-vnet-ipam"
19+
maxLogFileSizeInMb = 5
20+
maxLogFileCount = 8
1921
)
2022

2123
// Version is populated by make during build.
@@ -29,8 +31,8 @@ func main() {
2931
loggerCfg := &log.Config{
3032
Level: zapcore.DebugLevel,
3133
LogPath: log.LogPath + "azure-ipam.log",
32-
MaxSizeInMB: 5,
33-
MaxBackups: 8,
34+
MaxSizeInMB: maxLogFileSizeInMb,
35+
MaxBackups: maxLogFileCount,
3436
Name: name,
3537
}
3638
cleanup, err := log.New(loggerCfg)

cni/ipam/pluginv6/main.go

+7-5
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,19 @@ package main
55

66
import (
77
"fmt"
8-
"github.com/Azure/azure-container-networking/cni/log"
9-
"go.uber.org/zap/zapcore"
108
"os"
119

1210
"github.com/Azure/azure-container-networking/cni"
1311
"github.com/Azure/azure-container-networking/cni/ipam"
12+
"github.com/Azure/azure-container-networking/cni/log"
1413
"github.com/Azure/azure-container-networking/common"
14+
"go.uber.org/zap/zapcore"
1515
)
1616

1717
const (
18-
name = "azure-vnet-ipamv6"
18+
name = "azure-vnet-ipamv6"
19+
maxLogFileSizeInMb = 5
20+
maxLogFileCount = 8
1921
)
2022

2123
// Version is populated by make during build.
@@ -29,8 +31,8 @@ func main() {
2931
loggerCfg := &log.Config{
3032
Level: zapcore.DebugLevel,
3133
LogPath: log.LogPath + "azure-ipam.log",
32-
MaxSizeInMB: 5,
33-
MaxBackups: 8,
34+
MaxSizeInMB: maxLogFileSizeInMb,
35+
MaxBackups: maxLogFileCount,
3436
Name: name,
3537
}
3638
cleanup, err := log.New(loggerCfg)

cni/log/logger.go

-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ type Config struct {
1717
var Logger *zap.Logger
1818

1919
func New(cfg *Config) (func(), error) {
20-
2120
Logger = newFileLogger(cfg)
2221
cleanup := func() {
2322
_ = Logger.Sync()
@@ -27,7 +26,6 @@ func New(cfg *Config) (func(), error) {
2726
}
2827

2928
func newFileLogger(cfg *Config) *zap.Logger {
30-
3129
logFileWriter := zapcore.AddSync(&lumberjack.Logger{
3230
Filename: cfg.LogPath,
3331
MaxSize: cfg.MaxSizeInMB,

cni/network/invoker_azure.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,21 @@ package network
22

33
import (
44
"fmt"
5-
"github.com/Azure/azure-container-networking/cni/log"
6-
"go.uber.org/zap"
75
"net"
86
"os"
97
"runtime/debug"
108
"strings"
119

1210
"github.com/Azure/azure-container-networking/cni"
11+
"github.com/Azure/azure-container-networking/cni/log"
1312
"github.com/Azure/azure-container-networking/common"
1413
"github.com/Azure/azure-container-networking/ipam"
1514
"github.com/Azure/azure-container-networking/network"
1615
"github.com/Azure/azure-container-networking/platform"
1716
cniSkel "github.com/containernetworking/cni/pkg/skel"
1817
cniTypes "github.com/containernetworking/cni/pkg/types"
1918
cniTypesCurr "github.com/containernetworking/cni/pkg/types/100"
19+
"go.uber.org/zap"
2020
)
2121

2222
const (

cni/network/invoker_cns.go

+21-10
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,21 @@ import (
44
"context"
55
"encoding/json"
66
"fmt"
7-
"github.com/Azure/azure-container-networking/cni/log"
8-
"go.uber.org/zap"
97
"net"
108

119
"github.com/Azure/azure-container-networking/cni"
10+
"github.com/Azure/azure-container-networking/cni/log"
1211
"github.com/Azure/azure-container-networking/cni/util"
1312
"github.com/Azure/azure-container-networking/cns"
1413
cnscli "github.com/Azure/azure-container-networking/cns/client"
1514
"github.com/Azure/azure-container-networking/iptables"
16-
"github.com/Azure/azure-container-networking/log"
1715
"github.com/Azure/azure-container-networking/network"
1816
"github.com/Azure/azure-container-networking/network/networkutils"
1917
cniSkel "github.com/containernetworking/cni/pkg/skel"
2018
cniTypes "github.com/containernetworking/cni/pkg/types"
2119
cniTypesCurr "github.com/containernetworking/cni/pkg/types/100"
2220
"github.com/pkg/errors"
21+
"go.uber.org/zap"
2322
)
2423

2524
var (
@@ -82,11 +81,13 @@ func (invoker *CNSIPAMInvoker) Add(addConfig IPAMAddConfig) (IPAMAddResult, erro
8281

8382
log.Logger.Info("Requesting IP for pod using ipconfig",
8483
zap.Any("pod", podInfo),
85-
zap.Any("ipconfig", ipconfig))
84+
zap.Any("ipconfig", ipconfigs))
85+
response, err := invoker.cnsClient.RequestIPs(context.TODO(), ipconfigs)
8686
if err != nil {
8787
if cnscli.IsUnsupportedAPI(err) {
8888
// If RequestIPs is not supported by CNS, use RequestIPAddress API
89-
log.Errorf("RequestIPs not supported by CNS. Invoking RequestIPAddress API with infracontainerid %s", ipconfigs.InfraContainerID)
89+
log.Logger.Error("RequestIPs not supported by CNS. Invoking RequestIPAddress API",
90+
zap.Any("infracontainerid", ipconfigs.InfraContainerID))
9091
ipconfig := cns.IPConfigRequest{
9192
OrchestratorContext: orchestratorContext,
9293
PodInterfaceID: GetEndpointID(addConfig.args),
@@ -96,7 +97,9 @@ func (invoker *CNSIPAMInvoker) Add(addConfig IPAMAddConfig) (IPAMAddResult, erro
9697
res, errRequestIP := invoker.cnsClient.RequestIPAddress(context.TODO(), ipconfig)
9798
if errRequestIP != nil {
9899
// if the old API fails as well then we just return the error
99-
log.Errorf("Failed to request IP address from CNS using RequestIPAddress with infracontainerid %s. error: %v", ipconfig.InfraContainerID, errRequestIP)
100+
log.Logger.Error("Failed to request IP address from CNS using RequestIPAddress",
101+
zap.Any("infracontainerid", ipconfig.InfraContainerID),
102+
zap.Any("error", errRequestIP))
100103
return IPAMAddResult{}, errors.Wrap(errRequestIP, "Failed to get IP address from CNS")
101104
}
102105
response = &cns.IPConfigsResponse{
@@ -106,7 +109,9 @@ func (invoker *CNSIPAMInvoker) Add(addConfig IPAMAddConfig) (IPAMAddResult, erro
106109
},
107110
}
108111
} else {
109-
log.Printf("Failed to get IP address from CNS with error %v, response: %v", err, response)
112+
log.Logger.Info("Failed to get IP address from CNS",
113+
zap.Any("error", err),
114+
zap.Any("response", response))
110115
return IPAMAddResult{}, errors.Wrap(err, "Failed to get IP address from CNS")
111116
}
112117
}
@@ -299,7 +304,9 @@ func (invoker *CNSIPAMInvoker) Delete(address *net.IPNet, nwCfg *cni.NetworkConf
299304
if err := invoker.cnsClient.ReleaseIPs(context.TODO(), ipConfigs); err != nil {
300305
if cnscli.IsUnsupportedAPI(err) {
301306
// If ReleaseIPs is not supported by CNS, use ReleaseIPAddress API
302-
log.Errorf("ReleaseIPs not supported by CNS. Invoking ReleaseIPAddress API. Request: %v", ipConfigs)
307+
log.Logger.Error("ReleaseIPs not supported by CNS. Invoking ReleaseIPAddress API",
308+
zap.Any("ipconfigs", ipConfigs))
309+
303310
ipConfig := cns.IPConfigRequest{
304311
OrchestratorContext: orchestratorContext,
305312
PodInterfaceID: GetEndpointID(args),
@@ -308,11 +315,15 @@ func (invoker *CNSIPAMInvoker) Delete(address *net.IPNet, nwCfg *cni.NetworkConf
308315

309316
if err = invoker.cnsClient.ReleaseIPAddress(context.TODO(), ipConfig); err != nil {
310317
// if the old API fails as well then we just return the error
311-
log.Errorf("Failed to release IP address from CNS using ReleaseIPAddress with infracontainerid %s. error: %v", ipConfigs.InfraContainerID, err)
318+
log.Logger.Error("Failed to release IP address from CNS using ReleaseIPAddress ",
319+
zap.Any("infracontainerid", ipConfigs.InfraContainerID),
320+
zap.Any("error", err))
312321
return errors.Wrap(err, fmt.Sprintf("failed to release IP %v using ReleaseIPAddress with err ", ipConfig.DesiredIPAddress)+"%w")
313322
}
314323
} else {
315-
log.Errorf("Failed to release IP address with infracontainerid %s from CNS error: %v", ipConfigs.InfraContainerID, err)
324+
log.Logger.Error("Failed to release IP address",
325+
zap.Any("infracontainerid", ipConfigs.InfraContainerID),
326+
zap.Any("error", err))
316327
return errors.Wrap(err, fmt.Sprintf("failed to release IP %v using ReleaseIPs with err ", ipConfigs.DesiredIPAddresses)+"%w")
317328
}
318329
}

cni/network/multitenancy.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ import (
55
"encoding/json"
66
"errors"
77
"fmt"
8-
"github.com/Azure/azure-container-networking/cni/log"
9-
"go.uber.org/zap"
108
"io"
119
"net"
1210
"net/http"
@@ -15,13 +13,14 @@ import (
1513
"time"
1614

1715
"github.com/Azure/azure-container-networking/cni"
16+
"github.com/Azure/azure-container-networking/cni/log"
1817
"github.com/Azure/azure-container-networking/cns"
1918
"github.com/Azure/azure-container-networking/cns/client"
2019
"github.com/Azure/azure-container-networking/common"
21-
"github.com/Azure/azure-container-networking/log"
2220
"github.com/Azure/azure-container-networking/network"
2321
cniTypes "github.com/containernetworking/cni/pkg/types"
2422
cniTypesCurr "github.com/containernetworking/cni/pkg/types/100"
23+
"go.uber.org/zap"
2524
)
2625

2726
const (

cni/network/network.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,14 @@ import (
77
"context"
88
"encoding/json"
99
"fmt"
10-
"github.com/Azure/azure-container-networking/cni/log"
11-
"go.uber.org/zap"
1210
"net"
1311
"os"
1412
"time"
1513

1614
"github.com/Azure/azure-container-networking/aitelemetry"
1715
"github.com/Azure/azure-container-networking/cni"
1816
"github.com/Azure/azure-container-networking/cni/api"
17+
"github.com/Azure/azure-container-networking/cni/log"
1918
"github.com/Azure/azure-container-networking/cni/util"
2019
"github.com/Azure/azure-container-networking/cns"
2120
cnscli "github.com/Azure/azure-container-networking/cns/client"
@@ -33,6 +32,7 @@ import (
3332
cniTypes "github.com/containernetworking/cni/pkg/types"
3433
cniTypesCurr "github.com/containernetworking/cni/pkg/types/100"
3534
"github.com/pkg/errors"
35+
"go.uber.org/zap"
3636
)
3737

3838
const (
@@ -661,7 +661,8 @@ func (plugin *NetPlugin) createNetworkInternal(
661661
nwInfo.IPV6Mode = ipamAddConfig.nwCfg.IPAM.Mode
662662

663663
if err = addSubnetToNetworkInfo(ipamAddResult, &nwInfo); err != nil {
664-
log.Printf("[cni-net] Failed to add subnets to networkInfo due to %+v", err)
664+
log.Logger.Info("[cni-net] Failed to add subnets to networkInfo",
665+
zap.Any("error", err))
665666
return nwInfo, err
666667
}
667668
setNetworkOptions(ipamAddResult.ncResponse, &nwInfo)
@@ -1032,7 +1033,6 @@ func (plugin *NetPlugin) Delete(args *cniSkel.CmdArgs) error {
10321033
}
10331034
// Query the network.
10341035
if nwInfo, err = plugin.nm.GetNetworkInfo(networkID); err != nil {
1035-
10361036
if !nwCfg.MultiTenancy {
10371037
log.Logger.Error("[cni-net] Failed to query network",
10381038
zap.String("network", networkID),

cni/network/network_linux.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"strconv"
66

77
"github.com/Azure/azure-container-networking/cni"
8+
"github.com/Azure/azure-container-networking/cni/log"
89
"github.com/Azure/azure-container-networking/cns"
910
"github.com/Azure/azure-container-networking/network"
1011
"github.com/Azure/azure-container-networking/network/policy"
@@ -51,7 +52,7 @@ func addInfraRoutes(azIpamResult *cniTypesCurr.Result, result *cniTypesCurr.Resu
5152

5253
func setNetworkOptions(cnsNwConfig *cns.GetNetworkContainerResponse, nwInfo *network.NetworkInfo) {
5354
if cnsNwConfig != nil && cnsNwConfig.MultiTenancyInfo.ID != 0 {
54-
log.Printf("Setting Network Options")
55+
log.Logger.Info("Setting Network Options")
5556
vlanMap := make(map[string]interface{})
5657
vlanMap[network.VlanIDKey] = strconv.Itoa(cnsNwConfig.MultiTenancyInfo.ID)
5758
vlanMap[network.SnatBridgeIPKey] = cnsNwConfig.LocalIPConfiguration.GatewayIPAddress + "/" + strconv.Itoa(int(cnsNwConfig.LocalIPConfiguration.IPSubnet.PrefixLength))
@@ -61,7 +62,7 @@ func setNetworkOptions(cnsNwConfig *cns.GetNetworkContainerResponse, nwInfo *net
6162

6263
func setEndpointOptions(cnsNwConfig *cns.GetNetworkContainerResponse, epInfo *network.EndpointInfo, vethName string) {
6364
if cnsNwConfig != nil && cnsNwConfig.MultiTenancyInfo.ID != 0 {
64-
log.Printf("Setting Endpoint Options")
65+
log.Logger.Info("Setting Endpoint Options")
6566
epInfo.Data[network.VlanIDKey] = cnsNwConfig.MultiTenancyInfo.ID
6667
epInfo.Data[network.LocalIPKey] = cnsNwConfig.LocalIPConfiguration.IPSubnet.IPAddress + "/" + strconv.Itoa(int(cnsNwConfig.LocalIPConfiguration.IPSubnet.PrefixLength))
6768
epInfo.Data[network.SnatBridgeIPKey] = cnsNwConfig.LocalIPConfiguration.GatewayIPAddress + "/" + strconv.Itoa(int(cnsNwConfig.LocalIPConfiguration.IPSubnet.PrefixLength))

0 commit comments

Comments
 (0)