Skip to content

Commit 280a98b

Browse files
committed
Migrate info logging to contextual logging
1 parent a6c9045 commit 280a98b

File tree

14 files changed

+69
-37
lines changed

14 files changed

+69
-37
lines changed

cmd/cloud-controller-manager/app/controllermanager.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@ func NewCloudControllerManagerCommand() *cobra.Command {
211211

212212
// RunWrapper adapts the ccm boot logic to the leader elector call back function
213213
func RunWrapper(s *options.CloudControllerManagerOptions, c *cloudcontrollerconfig.Config, h *controllerhealthz.MutableHealthzHandler) func(ctx context.Context) {
214+
logger := log.Background().WithName("RunWrapper")
214215
return func(ctx context.Context) {
215216
if !c.DynamicReloadingConfig.EnableDynamicReloading {
216217
klog.V(1).Infof("using static initialization from config file %s", c.ComponentConfig.KubeCloudShared.CloudProvider.CloudConfigFile)
@@ -253,7 +254,7 @@ func RunWrapper(s *options.CloudControllerManagerOptions, c *cloudcontrollerconf
253254
}
254255

255256
if !shouldRemainStopped {
256-
klog.Info("RunWrapper: restarting all controllers")
257+
logger.Info("RunWrapper: restarting all controllers")
257258
cancelFunc = runAsync(s, errCh, h)
258259
} else {
259260
klog.Warningf("All controllers are stopped!")
@@ -268,6 +269,7 @@ func RunWrapper(s *options.CloudControllerManagerOptions, c *cloudcontrollerconf
268269
}
269270

270271
func shouldDisableCloudProvider(configFilePath string) (bool, error) {
272+
logger := log.Background().WithName("shouldDisableCloudProvider")
271273
configBytes, err := os.ReadFile(configFilePath)
272274
if err != nil {
273275
klog.Errorf("shouldDisableCloudProvider: failed to read %s %s", configFilePath, err.Error())
@@ -282,7 +284,7 @@ func shouldDisableCloudProvider(configFilePath string) (bool, error) {
282284
return false, err
283285
}
284286

285-
klog.Infof("shouldDisableCloudProvider: should disable cloud provider: %t", c.DisableCloudProvider)
287+
logger.Info("should disable cloud provider", "disableCloudProvider", c.DisableCloudProvider)
286288
return c.DisableCloudProvider, nil
287289
}
288290

@@ -341,8 +343,9 @@ func StartHTTPServer(ctx context.Context, c *cloudcontrollerconfig.CompletedConf
341343

342344
// Run runs the ExternalCMServer. This should never exit.
343345
func Run(ctx context.Context, c *cloudcontrollerconfig.CompletedConfig, h *controllerhealthz.MutableHealthzHandler) error {
346+
logger := log.Background().WithName("Run")
344347
// To help debugging, immediately log version
345-
klog.Infof("Version: %#v", version.Get())
348+
logger.Info("Version", "version", version.Get())
346349

347350
var (
348351
cloud cloudprovider.Interface
@@ -397,6 +400,7 @@ func Run(ctx context.Context, c *cloudcontrollerconfig.CompletedConfig, h *contr
397400
// startControllers starts the cloud specific controller loops.
398401
func startControllers(ctx context.Context, controllerContext genericcontrollermanager.ControllerContext, completedConfig *cloudcontrollerconfig.CompletedConfig,
399402
cloud cloudprovider.Interface, controllers map[string]initFunc, healthzHandler *controllerhealthz.MutableHealthzHandler) error {
403+
logger := log.Background().WithName("startControllers")
400404
// Initialize the cloud provider with a reference to the clientBuilder
401405
cloud.Initialize(completedConfig.ClientBuilder, ctx.Done())
402406
// Set the informer on the user cloud object
@@ -430,7 +434,7 @@ func startControllers(ctx context.Context, controllerContext genericcontrollerma
430434
}
431435
}
432436
controllerChecks = append(controllerChecks, check)
433-
klog.Infof("Started %q", controllerName)
437+
logger.Info("Started", "controller", controllerName)
434438

435439
time.Sleep(wait.Jitter(completedConfig.ComponentConfig.Generic.ControllerStartInterval.Duration, ControllerStartJitter))
436440
}

cmd/cloud-controller-manager/app/core.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import (
3838

3939
cloudcontrollerconfig "sigs.k8s.io/cloud-provider-azure/cmd/cloud-controller-manager/app/config"
4040
"sigs.k8s.io/cloud-provider-azure/pkg/consts"
41+
"sigs.k8s.io/cloud-provider-azure/pkg/log"
4142
nodeipamcontroller "sigs.k8s.io/cloud-provider-azure/pkg/nodeipam"
4243
nodeipamconfig "sigs.k8s.io/cloud-provider-azure/pkg/nodeipam/config"
4344
"sigs.k8s.io/cloud-provider-azure/pkg/nodeipam/ipam"
@@ -104,8 +105,9 @@ func startServiceController(ctx context.Context, controllerContext genericcontro
104105
}
105106

106107
func startRouteController(ctx context.Context, controllerContext genericcontrollermanager.ControllerContext, completedConfig *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface) (http.Handler, bool, error) {
108+
logger := log.Background().WithName("startRouteController")
107109
if !completedConfig.ComponentConfig.KubeCloudShared.ConfigureCloudRoutes {
108-
klog.Infof("Will not configure cloud provider routes, --configure-cloud-routes: %v.", completedConfig.ComponentConfig.KubeCloudShared.ConfigureCloudRoutes)
110+
logger.Info("Will not configure cloud provider routes", "--configure-cloud-routes", completedConfig.ComponentConfig.KubeCloudShared.ConfigureCloudRoutes)
109111
return nil, false, nil
110112
}
111113

cmd/cloud-controller-manager/app/dynamic/file_watcher.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,11 @@ import (
2424
"github.com/fsnotify/fsnotify"
2525

2626
"k8s.io/klog/v2"
27+
"sigs.k8s.io/cloud-provider-azure/pkg/log"
2728
)
2829

2930
func RunFileWatcherOrDie(path string) chan struct{} {
31+
logger := log.Background().WithName("RunFileWatcherOrDie")
3032
watcher, err := fsnotify.NewWatcher()
3133
if err != nil {
3234
klog.Errorf("RunFileWatcherOrDie: failed to initialize file watcher: %s", err)
@@ -46,7 +48,7 @@ func RunFileWatcherOrDie(path string) chan struct{} {
4648
os.Exit(1)
4749
}
4850

49-
klog.Infof("RunFileWatcherOrDie: found file update event: %v", event)
51+
logger.Info("found file update event", "event", event)
5052
updateChan <- struct{}{}
5153

5254
if strings.EqualFold(event.Name, path) && event.Op&fsnotify.Remove == fsnotify.Remove {

cmd/cloud-node-manager/app/nodemanager.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import (
3434

3535
cloudnodeconfig "sigs.k8s.io/cloud-provider-azure/cmd/cloud-node-manager/app/config"
3636
"sigs.k8s.io/cloud-provider-azure/cmd/cloud-node-manager/app/options"
37+
"sigs.k8s.io/cloud-provider-azure/pkg/log"
3738
nodeprovider "sigs.k8s.io/cloud-provider-azure/pkg/node"
3839
"sigs.k8s.io/cloud-provider-azure/pkg/nodemanager"
3940
"sigs.k8s.io/cloud-provider-azure/pkg/version"
@@ -94,9 +95,10 @@ func NewCloudNodeManagerCommand() *cobra.Command {
9495

9596
// Run runs the ExternalCMServer. This should never exit.
9697
func Run(ctx context.Context, c *cloudnodeconfig.Config) error {
98+
logger := log.Background().WithName("Run")
9799
// To help debugging, immediately log version and nodeName
98-
klog.Infof("Version: %+v", version.Get())
99-
klog.Infof("NodeName: %s", c.NodeName)
100+
logger.Info("Version", "version", version.Get())
101+
logger.Info("NodeName", "nodeName", c.NodeName)
100102

101103
// Start the controller manager HTTP server
102104
var checks []healthz.HealthChecker
@@ -122,6 +124,7 @@ func Run(ctx context.Context, c *cloudnodeconfig.Config) error {
122124

123125
// startControllers starts the cloud specific controller loops.
124126
func startControllers(ctx context.Context, c *cloudnodeconfig.Config, healthzHandler *controllerhealthz.MutableHealthzHandler) error {
127+
logger := log.Background().WithName("startControllers")
125128
klog.V(1).Infof("Starting cloud-node-manager...")
126129

127130
// Start the CloudNodeController
@@ -140,7 +143,7 @@ func startControllers(ctx context.Context, c *cloudnodeconfig.Config, healthzHan
140143
check := controllerhealthz.NamedPingChecker(c.NodeName)
141144
healthzHandler.AddHealthChecker(check)
142145

143-
klog.Infof("Started cloud-node-manager")
146+
logger.Info("Started cloud-node-manager")
144147

145148
// If apiserver is not running we should wait for some time and fail only then. This is particularly
146149
// important when we start node manager before apiserver starts.

pkg/nodeipam/ipam/cloud_cidr_allocator.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import (
3939
netutils "k8s.io/utils/net"
4040

4141
"sigs.k8s.io/cloud-provider-azure/pkg/consts"
42+
"sigs.k8s.io/cloud-provider-azure/pkg/log"
4243
"sigs.k8s.io/cloud-provider-azure/pkg/nodeipam/ipam/cidrset"
4344
providerazure "sigs.k8s.io/cloud-provider-azure/pkg/provider"
4445
nodeutil "sigs.k8s.io/cloud-provider-azure/pkg/util/controller/node"
@@ -264,10 +265,11 @@ func (ca *cloudCIDRAllocator) updateNodeSubnetMaskSizes(ctx context.Context, nod
264265
}
265266

266267
func (ca *cloudCIDRAllocator) Run(ctx context.Context) {
268+
logger := log.Background().WithName("Run")
267269
defer utilruntime.HandleCrash()
268270

269-
klog.Infof("Starting cloud CIDR allocator")
270-
defer klog.Infof("Shutting down cloud CIDR allocator")
271+
logger.Info("Starting cloud CIDR allocator")
272+
defer logger.Info("Shutting down cloud CIDR allocator")
271273

272274
if !cache.WaitForNamedCacheSync("cidrallocator", ctx.Done(), ca.nodesSynced) {
273275
return

pkg/nodeipam/node_ipam_controller.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import (
3535
"k8s.io/component-base/metrics/legacyregistry"
3636
"k8s.io/klog/v2"
3737

38+
"sigs.k8s.io/cloud-provider-azure/pkg/log"
3839
"sigs.k8s.io/cloud-provider-azure/pkg/nodeipam/ipam"
3940
)
4041

@@ -119,14 +120,15 @@ func NewNodeIpamController(
119120
nodeCIDRMaskSizes []int,
120121
allocatorType ipam.CIDRAllocatorType) (*Controller, error) {
121122

123+
logger := log.Background().WithName("NewNodeIpamController")
122124
if kubeClient == nil {
123125
klog.Fatalf("kubeClient is nil when starting Controller")
124126
}
125127

126128
eventBroadcaster := record.NewBroadcaster()
127129
eventBroadcaster.StartStructuredLogging(0)
128130

129-
klog.Infof("Sending events to api server.")
131+
logger.Info("Sending events to api server")
130132
eventBroadcaster.StartRecordingToSink(
131133
&v1core.EventSinkImpl{
132134
Interface: kubeClient.CoreV1().Events(""),
@@ -188,10 +190,11 @@ func NewNodeIpamController(
188190

189191
// Run starts an asynchronous loop that monitors the status of cluster nodes.
190192
func (nc *Controller) Run(ctx context.Context) {
193+
logger := log.Background().WithName("Run")
191194
defer utilruntime.HandleCrash()
192195

193-
klog.Infof("Starting ipam controller")
194-
defer klog.Infof("Shutting down ipam controller")
196+
logger.Info("Starting ipam controller")
197+
defer logger.Info("Shutting down ipam controller")
195198

196199
if !cache.WaitForNamedCacheSync("node", ctx.Done(), nc.nodeInformerSynced) {
197200
return

pkg/nodemanager/nodemanager.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ import (
4747
"k8s.io/klog/v2"
4848

4949
"sigs.k8s.io/cloud-provider-azure/pkg/consts"
50+
"sigs.k8s.io/cloud-provider-azure/pkg/log"
5051
)
5152

5253
// NodeProvider defines the interfaces for node provider.
@@ -367,7 +368,8 @@ func (cnc *CloudNodeController) AddCloudNode(ctx context.Context, obj interface{
367368

368369
// This processes nodes that were added into the cluster, and cloud initialize them if appropriate
369370
func (cnc *CloudNodeController) initializeNode(ctx context.Context, node *v1.Node) {
370-
klog.Infof("Initializing node %s with cloud provider", node.Name)
371+
logger := log.Background().WithName("initializeNode")
372+
logger.Info("Initializing node with cloud provider", "node", node.Name)
371373
curNode, err := cnc.kubeClient.CoreV1().Nodes().Get(ctx, node.Name, metav1.GetOptions{})
372374
if err != nil {
373375
utilruntime.HandleError(fmt.Errorf("failed to get node %s: %w", node.Name, err))
@@ -430,7 +432,7 @@ func (cnc *CloudNodeController) initializeNode(ctx context.Context, node *v1.Nod
430432
return err
431433
}
432434

433-
klog.Infof("Successfully initialized node %s with cloud provider", node.Name)
435+
logger.Info("Successfully initialized node with cloud provider", "node", node.Name)
434436
return nil
435437
})
436438
if err != nil {

pkg/provider/azure.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ import (
4444
"sigs.k8s.io/cloud-provider-azure/pkg/azclient/configloader"
4545
azcache "sigs.k8s.io/cloud-provider-azure/pkg/cache"
4646
"sigs.k8s.io/cloud-provider-azure/pkg/consts"
47+
"sigs.k8s.io/cloud-provider-azure/pkg/log"
4748
azureconfig "sigs.k8s.io/cloud-provider-azure/pkg/provider/config"
4849
"sigs.k8s.io/cloud-provider-azure/pkg/provider/privatelinkservice"
4950
"sigs.k8s.io/cloud-provider-azure/pkg/provider/routetable"
@@ -254,6 +255,7 @@ var (
254255

255256
// InitializeCloudFromConfig initializes the Cloud from config.
256257
func (az *Cloud) InitializeCloudFromConfig(ctx context.Context, config *azureconfig.Config, _, callFromCCM bool) error {
258+
logger := log.Background().WithName("InitializeCloudFromConfig")
257259
if config == nil {
258260
// should not reach here
259261
return fmt.Errorf("InitializeCloudFromConfig: cannot initialize from nil config")
@@ -418,15 +420,15 @@ func (az *Cloud) InitializeCloudFromConfig(ctx context.Context, config *azurecon
418420
if err != nil {
419421
return err
420422
}
421-
klog.InfoS("Setting up ARM client factory for network resources", "subscriptionID", networkSubscriptionID)
423+
logger.Info("Setting up ARM client factory for network resources", "subscriptionID", networkSubscriptionID)
422424

423425
az.ComputeClientFactory, err = newARMClientFactory(&azclient.ClientFactoryConfig{
424426
SubscriptionID: az.SubscriptionID,
425427
}, &az.ARMClientConfig, clientOps.Cloud, computeCred, az.AuthProvider.AdditionalComputeClientOptions...)
426428
if err != nil {
427429
return err
428430
}
429-
klog.InfoS("Setting up ARM client factory for compute resources", "subscriptionID", az.SubscriptionID)
431+
logger.Info("Setting up ARM client factory for compute resources", "subscriptionID", az.SubscriptionID)
430432
}
431433

432434
networkClientFactory := az.NetworkClientFactory
@@ -538,8 +540,9 @@ func (az *Cloud) checkEnableMultipleStandardLoadBalancers() error {
538540
}
539541

540542
func (az *Cloud) initCaches() (err error) {
543+
logger := log.Background().WithName("initCaches")
541544
if az.DisableAPICallCache {
542-
klog.Infof("API call cache is disabled, ignore logs about cache operations")
545+
logger.Info("API call cache is disabled, ignore logs about cache operations")
543546
}
544547

545548
az.vmCache, err = az.newVMCache()
@@ -683,7 +686,8 @@ func (az *Cloud) ProviderName() string {
683686

684687
// SetInformers sets informers for Azure cloud provider.
685688
func (az *Cloud) SetInformers(informerFactory informers.SharedInformerFactory) {
686-
klog.Infof("Setting up informers for Azure cloud provider")
689+
logger := log.Background().WithName("SetInformers")
690+
logger.Info("Setting up informers for Azure cloud provider")
687691
nodeInformer := informerFactory.Core().V1().Nodes().Informer()
688692
_, _ = nodeInformer.AddEventHandler(cache.ResourceEventHandlerFuncs{
689693
AddFunc: func(obj interface{}) {
@@ -729,6 +733,7 @@ func (az *Cloud) SetInformers(informerFactory informers.SharedInformerFactory) {
729733

730734
// updateNodeCaches updates local cache for node's zones and external resource groups.
731735
func (az *Cloud) updateNodeCaches(prevNode, newNode *v1.Node) {
736+
logger := log.Background().WithName("updateNodeCaches")
732737
az.nodeCachesLock.Lock()
733738
defer az.nodeCachesLock.Unlock()
734739

@@ -754,8 +759,7 @@ func (az *Cloud) updateNodeCaches(prevNode, newNode *v1.Node) {
754759
managed, ok := prevNode.Labels[consts.ManagedByAzureLabel]
755760
isNodeManagedByCloudProvider := !ok || !strings.EqualFold(managed, consts.NotManagedByAzureLabelValue)
756761

757-
klog.Infof("managed=%v, ok=%v, isNodeManagedByCloudProvider=%v",
758-
managed, ok, isNodeManagedByCloudProvider)
762+
logger.Info("node management status", "managed", managed, "ok", ok, "isNodeManagedByCloudProvider", isNodeManagedByCloudProvider)
759763

760764
// Remove from unmanagedNodes cache
761765
if !isNodeManagedByCloudProvider {

pkg/provider/azure_local_services.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import (
3535
"k8s.io/utils/ptr"
3636

3737
"sigs.k8s.io/cloud-provider-azure/pkg/consts"
38+
"sigs.k8s.io/cloud-provider-azure/pkg/log"
3839
"sigs.k8s.io/cloud-provider-azure/pkg/metrics"
3940
"sigs.k8s.io/cloud-provider-azure/pkg/util/errutils"
4041
utilsets "sigs.k8s.io/cloud-provider-azure/pkg/util/sets"
@@ -89,12 +90,13 @@ func newLoadBalancerBackendPoolUpdater(az *Cloud, interval time.Duration) *loadB
8990

9091
// run starts the loadBalancerBackendPoolUpdater, and stops if the context exits.
9192
func (updater *loadBalancerBackendPoolUpdater) run(ctx context.Context) {
93+
logger := log.Background().WithName("run")
9294
klog.V(2).Info("loadBalancerBackendPoolUpdater.run: started")
9395
err := wait.PollUntilContextCancel(ctx, updater.interval, false, func(ctx context.Context) (bool, error) {
9496
updater.process(ctx)
9597
return false, nil
9698
})
97-
klog.Infof("loadBalancerBackendPoolUpdater.run: stopped due to %s", err.Error())
99+
logger.Error(err, "loadBalancerBackendPoolUpdater.run: stopped")
98100
}
99101

100102
// getAddIPsToBackendPoolOperation creates a new loadBalancerBackendPoolUpdateOperation

pkg/provider/azure_routes.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import (
3333

3434
azcache "sigs.k8s.io/cloud-provider-azure/pkg/cache"
3535
"sigs.k8s.io/cloud-provider-azure/pkg/consts"
36+
"sigs.k8s.io/cloud-provider-azure/pkg/log"
3637
"sigs.k8s.io/cloud-provider-azure/pkg/metrics"
3738
)
3839

@@ -88,12 +89,13 @@ func newDelayedRouteUpdater(az *Cloud, interval time.Duration) batchProcessor {
8889

8990
// run starts the updater reconciling loop.
9091
func (d *delayedRouteUpdater) run(ctx context.Context) {
91-
klog.Info("delayedRouteUpdater: started")
92+
logger := log.Background().WithName("delayedRouteUpdater")
93+
logger.Info("delayedRouteUpdater: started")
9294
err := wait.PollUntilContextCancel(ctx, d.interval, true, func(ctx context.Context) (bool, error) {
9395
d.updateRoutes(ctx)
9496
return false, nil
9597
})
96-
klog.Infof("delayedRouteUpdater: stopped due to %s", err.Error())
98+
logger.Error(err, "delayedRouteUpdater: stopped")
9799
}
98100

99101
// updateRoutes invokes route table client to update all routes.

0 commit comments

Comments
 (0)