Skip to content

Commit 8df117b

Browse files
authored
Merge pull request #2400 from kubernetes-sigs/fix-UseInstanceMetadata-controller
fix: disable UseInstanceMetadata in controller
2 parents 10309d5 + 96f640f commit 8df117b

File tree

1 file changed

+12
-14
lines changed

1 file changed

+12
-14
lines changed

pkg/azurefile/azure.go

+12-14
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,10 @@ func getCloudProvider(ctx context.Context, kubeconfig, nodeID, secretName, secre
7373
config *azureconfig.Config
7474
kubeClient kubernetes.Interface
7575
fromSecret bool
76+
err error
7677
)
7778

78-
az := &azure.Cloud{}
7979
repo := &storage.AccountRepo{}
80-
var err error
8180

8281
// for sanity test: if kubeconfig is set as "no-need-kubeconfig", kubeClient will be nil
8382
if kubeconfig == "no-need-kubeconfig" {
@@ -163,30 +162,29 @@ func getCloudProvider(ctx context.Context, kubeconfig, nodeID, secretName, secre
163162
err = filewatcher.WatchFileForChanges(config.AADClientCertPath)
164163
klog.Warningf("Failed to watch certificate file for changes: %v", err)
165164
}
165+
az := &azure.Cloud{}
166166
if err = az.InitializeCloudFromConfig(ctx, config, fromSecret, false); err != nil {
167167
klog.Warningf("InitializeCloudFromConfig failed with error: %v", err)
168168
}
169169
_, env, err := azclient.GetAzureCloudConfigAndEnvConfig(&config.ARMClientConfig)
170170
if err != nil {
171171
return nil, nil, fmt.Errorf("failed to get AzureCloudConfigAndEnvConfig: %v", err)
172172
}
173-
repo, err = storage.NewRepository(*config, env, az.ComputeClientFactory, az.NetworkClientFactory)
174-
if err != nil {
175-
return nil, nil, fmt.Errorf("failed to create storage repository: %v", err)
176-
}
177-
}
178173

179-
isController := (nodeID == "")
180-
if isController {
181-
if err == nil {
174+
if nodeID == "" {
182175
// Disable UseInstanceMetadata for controller to mitigate a timeout issue using IMDS
183176
// https://github.com/kubernetes-sigs/azuredisk-csi-driver/issues/168
184177
klog.V(2).Infof("disable UseInstanceMetadata for controller server")
185-
az.Config.UseInstanceMetadata = false
178+
config.UseInstanceMetadata = false
179+
klog.V(2).Infof("starting controller server...")
180+
} else {
181+
klog.V(2).Infof("starting node server on node(%s)", nodeID)
182+
}
183+
184+
repo, err = storage.NewRepository(*config, env, az.ComputeClientFactory, az.NetworkClientFactory)
185+
if err != nil {
186+
return nil, nil, fmt.Errorf("failed to create storage repository: %v", err)
186187
}
187-
klog.V(2).Infof("starting controller server...")
188-
} else {
189-
klog.V(2).Infof("starting node server on node(%s)", nodeID)
190188
}
191189

192190
return repo, kubeClient, nil

0 commit comments

Comments
 (0)