Skip to content

Commit 432deb3

Browse files
authored
fix: use existing context when ctx is available (#9773)
* fix: use existing context when ctx is available * Replace klog.Background() to use existing context when ctx is available
1 parent 0314142 commit 432deb3

38 files changed

+180
-171
lines changed

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,8 +211,8 @@ 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")
215214
return func(ctx context.Context) {
215+
logger := log.FromContextOrBackground(ctx).WithName("RunWrapper")
216216
if !c.DynamicReloadingConfig.EnableDynamicReloading {
217217
logger.V(1).Info("using static initialization from config file", "cloudConfigFile", c.ComponentConfig.KubeCloudShared.CloudProvider.CloudConfigFile)
218218
if err := Run(ctx, c.Complete(), h); err != nil {
@@ -289,8 +289,8 @@ func shouldDisableCloudProvider(configFilePath string) (bool, error) {
289289
}
290290

291291
func runAsync(s *options.CloudControllerManagerOptions, errCh chan error, h *controllerhealthz.MutableHealthzHandler) context.CancelFunc {
292-
logger := log.Background().WithName("runAsync")
293292
ctx, cancelFunc := context.WithCancel(context.Background())
293+
logger := log.FromContextOrBackground(ctx).WithName("runAsync")
294294

295295
go func() {
296296
c, err := s.Config(KnownControllers(), ControllersDisabledByDefault.List(), names.CCMControllerAliases())
@@ -344,7 +344,7 @@ func StartHTTPServer(ctx context.Context, c *cloudcontrollerconfig.CompletedConf
344344

345345
// Run runs the ExternalCMServer. This should never exit.
346346
func Run(ctx context.Context, c *cloudcontrollerconfig.CompletedConfig, h *controllerhealthz.MutableHealthzHandler) error {
347-
logger := log.Background().WithName("Run")
347+
logger := log.FromContextOrBackground(ctx).WithName("Run")
348348
// To help debugging, immediately log version
349349
logger.Info("Version", "version", version.Get())
350350

@@ -401,7 +401,7 @@ func Run(ctx context.Context, c *cloudcontrollerconfig.CompletedConfig, h *contr
401401
// startControllers starts the cloud specific controller loops.
402402
func startControllers(ctx context.Context, controllerContext genericcontrollermanager.ControllerContext, completedConfig *cloudcontrollerconfig.CompletedConfig,
403403
cloud cloudprovider.Interface, controllers map[string]initFunc, healthzHandler *controllerhealthz.MutableHealthzHandler) error {
404-
logger := log.Background().WithName("startControllers")
404+
logger := log.FromContextOrBackground(ctx).WithName("startControllers")
405405
// Initialize the cloud provider with a reference to the clientBuilder
406406
cloud.Initialize(completedConfig.ClientBuilder, ctx.Done())
407407
// Set the informer on the user cloud object

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ func startServiceController(ctx context.Context, controllerContext genericcontro
105105
}
106106

107107
func startRouteController(ctx context.Context, controllerContext genericcontrollermanager.ControllerContext, completedConfig *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface) (http.Handler, bool, error) {
108-
logger := log.Background().WithName("startRouteController")
108+
logger := log.FromContextOrBackground(ctx).WithName("startRouteController")
109109
if !completedConfig.ComponentConfig.KubeCloudShared.ConfigureCloudRoutes {
110110
logger.Info("Will not configure cloud provider routes", "--configure-cloud-routes", completedConfig.ComponentConfig.KubeCloudShared.ConfigureCloudRoutes)
111111
return nil, false, nil

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ func NewCloudNodeManagerCommand() *cobra.Command {
9595

9696
// Run runs the ExternalCMServer. This should never exit.
9797
func Run(ctx context.Context, c *cloudnodeconfig.Config) error {
98-
logger := log.Background().WithName("Run")
98+
logger := log.FromContextOrBackground(ctx).WithName("Run")
9999
// To help debugging, immediately log version and nodeName
100100
logger.Info("Version", "version", version.Get())
101101
logger.Info("NodeName", "nodeName", c.NodeName)
@@ -124,7 +124,7 @@ func Run(ctx context.Context, c *cloudnodeconfig.Config) error {
124124

125125
// startControllers starts the cloud specific controller loops.
126126
func startControllers(ctx context.Context, c *cloudnodeconfig.Config, healthzHandler *controllerhealthz.MutableHealthzHandler) error {
127-
logger := log.Background().WithName("startControllers")
127+
logger := log.FromContextOrBackground(ctx).WithName("startControllers")
128128
logger.V(1).Info("Starting cloud-node-manager...")
129129

130130
// Start the CloudNodeController

pkg/credentialprovider/azure_credentials.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,9 @@ type acrProvider struct {
6868
}
6969

7070
func NewAcrProvider(req *v1.CredentialProviderRequest, registryMirrorStr string, configFile string, ibConfig IdentityBindingsConfig) (CredentialProvider, error) {
71-
logger := log.Background().WithName("NewAcrProvider")
72-
config, err := configloader.Load[providerconfig.AzureClientConfig](context.Background(), nil, &configloader.FileLoaderConfig{FilePath: configFile})
71+
ctx := context.Background()
72+
logger := log.FromContextOrBackground(ctx).WithName("NewAcrProvider")
73+
config, err := configloader.Load[providerconfig.AzureClientConfig](ctx, nil, &configloader.FileLoaderConfig{FilePath: configFile})
7374
if err != nil {
7475
return nil, fmt.Errorf("failed to load config: %w", err)
7576
}
@@ -184,7 +185,7 @@ func getServiceAccountTokenCredential(req *v1.CredentialProviderRequest, config
184185
}
185186

186187
func (a *acrProvider) GetCredentials(ctx context.Context, image string, _ []string) (*v1.CredentialProviderResponse, error) {
187-
logger := log.Background().WithName("GetCredentials")
188+
logger := log.FromContextOrBackground(ctx).WithName("GetCredentials")
188189
targetloginServer, sourceloginServer := a.parseACRLoginServerFromImage(image)
189190
if targetloginServer == "" {
190191
logger.V(2).Info("image is not from ACR, return empty authentication", "image", image)
@@ -259,7 +260,7 @@ func (a *acrProvider) GetCredentials(ctx context.Context, image string, _ []stri
259260

260261
// getFromACR gets credentials from ACR.
261262
func (a *acrProvider) getFromACR(ctx context.Context, loginServer string) (string, string, error) {
262-
logger := log.Background().WithName("getFromACR")
263+
logger := log.FromContextOrBackground(ctx).WithName("getFromACR")
263264
var armAccessToken azcore.AccessToken
264265
var err error
265266
if armAccessToken, err = a.credential.GetToken(ctx, policy.TokenRequestOptions{

pkg/credentialprovider/identity_bindings_credentials.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ func (c *identityBindingsTokenCredential) getTransport() (*http.Transport, error
136136

137137
// GetToken retrieves an access token using identity bindings token exchange
138138
func (c *identityBindingsTokenCredential) GetToken(ctx context.Context, opts policy.TokenRequestOptions) (azcore.AccessToken, error) {
139-
logger := log.Background().WithName("GetToken")
139+
logger := log.FromContextOrBackground(ctx).WithName("GetToken")
140140
// The scope should be exactly one value in format "https://management.azure.com/.default"
141141
// or "https://containerregistry.azure.net/.default"
142142
if len(opts.Scopes) != 1 {

pkg/nodeipam/ipam/cloud_cidr_allocator.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ func (ca *cloudCIDRAllocator) updateNodeSubnetMaskSizes(ctx context.Context, nod
266266
}
267267

268268
func (ca *cloudCIDRAllocator) Run(ctx context.Context) {
269-
logger := log.Background().WithName("Run")
269+
logger := log.FromContextOrBackground(ctx).WithName("Run")
270270
defer utilruntime.HandleCrash()
271271

272272
logger.Info("Starting cloud CIDR allocator")
@@ -353,7 +353,8 @@ func (ca *cloudCIDRAllocator) occupyCIDRs(node *v1.Node) error {
353353
// function you have to make sure to update nodesInProcessing properly with the
354354
// disposition of the node when the work is done.
355355
func (ca *cloudCIDRAllocator) AllocateOrOccupyCIDR(node *v1.Node) error {
356-
logger := log.Background().WithName("AllocateOrOccupyCIDR")
356+
ctx := context.Background()
357+
logger := log.FromContextOrBackground(ctx).WithName("AllocateOrOccupyCIDR")
357358
if node == nil || node.Spec.ProviderID == "" {
358359
return nil
359360
}
@@ -362,7 +363,7 @@ func (ca *cloudCIDRAllocator) AllocateOrOccupyCIDR(node *v1.Node) error {
362363
return nil
363364
}
364365

365-
err := ca.updateNodeSubnetMaskSizes(context.Background(), node.Name, node.Spec.ProviderID)
366+
err := ca.updateNodeSubnetMaskSizes(ctx, node.Name, node.Spec.ProviderID)
366367
if err != nil {
367368
klog.Errorf("AllocateOrOccupyCIDR(%s): failed to update node subnet mask sizes: %v", node.Name, err)
368369
return err

pkg/nodeipam/ipam/range_allocator.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ func NewCIDRRangeAllocator(client clientset.Interface, nodeInformer informers.No
175175
}
176176

177177
func (r *rangeAllocator) Run(ctx context.Context) {
178-
logger := log.Background().WithName("Run")
178+
logger := log.FromContextOrBackground(ctx).WithName("Run")
179179
defer utilruntime.HandleCrash()
180180

181181
logger.Info("Starting range CIDR allocator")

pkg/nodeipam/node_ipam_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ func NewNodeIpamController(
190190

191191
// Run starts an asynchronous loop that monitors the status of cluster nodes.
192192
func (nc *Controller) Run(ctx context.Context) {
193-
logger := log.Background().WithName("Run")
193+
logger := log.FromContextOrBackground(ctx).WithName("Run")
194194
defer utilruntime.HandleCrash()
195195

196196
logger.Info("Starting ipam controller")

pkg/nodemanager/nodemanager.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ func (cnc *CloudNodeController) handleNodeEventWrapper(ctx context.Context, node
280280

281281
// handleNodeEvent processes both add and update events for nodes that need cloud initialization
282282
func (cnc *CloudNodeController) handleNodeEvent(ctx context.Context, node *v1.Node) error {
283-
logger := log.Background().WithName("handleNodeEvent")
283+
logger := log.FromContextOrBackground(ctx).WithName("handleNodeEvent")
284284
cloudTaint := GetCloudTaint(node.Spec.Taints)
285285
if cloudTaint == nil {
286286
logger.V(2).Info("Node has no cloud taint, skipping initialization", "nodeName", node.Name)
@@ -332,7 +332,7 @@ func (cnc *CloudNodeController) reconcileNodeLabels(node *v1.Node) error {
332332

333333
// UpdateNodeAddress updates the nodeAddress of a single node
334334
func (cnc *CloudNodeController) updateNodeAddress(ctx context.Context, node *v1.Node) error {
335-
logger := log.Background().WithName("updateNodeAddress")
335+
logger := log.FromContextOrBackground(ctx).WithName("updateNodeAddress")
336336
// Do not process nodes that are still tainted
337337
cloudTaint := GetCloudTaint(node.Spec.Taints)
338338
if cloudTaint != nil {
@@ -402,7 +402,7 @@ type nodeModifier func(*v1.Node)
402402

403403
// This processes nodes that were added into the cluster, and cloud initialize them if appropriate
404404
func (cnc *CloudNodeController) initializeNode(ctx context.Context, node *v1.Node) error {
405-
logger := log.Background().WithName("initializeNode")
405+
logger := log.FromContextOrBackground(ctx).WithName("initializeNode")
406406
logger.Info("Initializing node with cloud provider", "node", node.Name)
407407
curNode, err := cnc.kubeClient.CoreV1().Nodes().Get(ctx, node.Name, metav1.GetOptions{})
408408
if err != nil {

pkg/provider/azure.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ var (
255255

256256
// InitializeCloudFromConfig initializes the Cloud from config.
257257
func (az *Cloud) InitializeCloudFromConfig(ctx context.Context, config *azureconfig.Config, _, callFromCCM bool) error {
258-
logger := log.Background().WithName("InitializeCloudFromConfig")
258+
logger := log.FromContextOrBackground(ctx).WithName("InitializeCloudFromConfig")
259259
if config == nil {
260260
// should not reach here
261261
return fmt.Errorf("InitializeCloudFromConfig: cannot initialize from nil config")

0 commit comments

Comments
 (0)