@@ -236,30 +236,27 @@ func (az *Cloud) InstanceShutdownByProviderID(ctx context.Context, providerID st
236
236
}
237
237
238
238
// InstanceMetadataByProviderID returns metadata of the specified instance.
239
+ // InstanceMetadataByProviderID is part of InstancesV2 interface and is only used in cloud node-controller.
239
240
func (az * Cloud ) InstanceMetadataByProviderID (ctx context.Context , providerID string ) (* cloudprovider.InstanceMetadata , error ) {
240
241
if providerID == "" {
241
242
return nil , errNodeNotInitialized
242
243
}
243
244
244
- nodeName , err := az .vmSet .GetNodeNameByProviderID (providerID )
245
- if err != nil {
246
- return nil , err
245
+ // Returns nil for unmanaged nodes because azure cloud provider couldn't fetch information for them.
246
+ if az .IsNodeUnmanagedByProviderID (providerID ) {
247
+ klog .V (4 ).Infof ("NodeAddressesByProviderID: omitting unmanaged node %q" , providerID )
248
+ return nil , nil
247
249
}
248
250
249
- // Returns "" for unmanaged nodes because azure cloud provider couldn't fetch information for them.
250
- unmanaged , err := az .IsNodeUnmanaged (string (nodeName ))
251
+ nodeName , err := az .vmSet .GetNodeNameByProviderID (providerID )
251
252
if err != nil {
252
253
return nil , err
253
254
}
254
- if unmanaged {
255
- klog .V (4 ).Infof ("InstanceType: omitting unmanaged node %q" , string (nodeName ))
256
- return nil , nil
257
- }
258
255
259
256
md := & cloudprovider.InstanceMetadata {}
260
257
md .ProviderID = providerID
261
258
if az .UseInstanceMetadata {
262
- metadata , err := az .metadata .GetMetadata (azcache .CacheReadTypeUnsafe )
259
+ metadata , err := az .metadata .GetMetadata (azcache .CacheReadTypeDefault )
263
260
if err != nil {
264
261
return nil , err
265
262
}
@@ -288,6 +285,7 @@ func (az *Cloud) InstanceMetadataByProviderID(ctx context.Context, providerID st
288
285
return nil , fmt .Errorf ("no credentials provided for Azure cloud provider" )
289
286
}
290
287
288
+ // Get instance metadata from IMDS for local instance.
291
289
if metadata .Compute .VMSize != "" {
292
290
md .Type = metadata .Compute .VMSize
293
291
} else {
@@ -301,6 +299,7 @@ func (az *Cloud) InstanceMetadataByProviderID(ctx context.Context, providerID st
301
299
return md , nil
302
300
}
303
301
302
+ // Get instance metadata from ARM API when UseInstanceMetadata is disabled.
304
303
if md .Type , err = az .vmSet .GetInstanceTypeByNodeName (string (nodeName )); err != nil {
305
304
return nil , err
306
305
}
0 commit comments