@@ -27,6 +27,7 @@ import (
27
27
"strings"
28
28
"time"
29
29
30
+ v1 "k8s.io/api/core/v1"
30
31
"k8s.io/klog/v2"
31
32
"k8s.io/utils/strings/slices"
32
33
"sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/pkg/common"
@@ -245,7 +246,11 @@ func handle() {
245
246
if err != nil {
246
247
klog .Fatalf ("Failed to set up metadata service: %v" , err .Error ())
247
248
}
248
- isDataCacheEnabledNodePool , err := isDataCacheEnabledNodePool (ctx , * nodeName )
249
+ node , err := driver .FetchNodeWithRetry (ctx , * nodeName )
250
+ if err != nil {
251
+ klog .Fatalf ("Failed to get node info from API server: %v" , err .Error ())
252
+ }
253
+ isDataCacheEnabledNodePool , err := isDataCacheEnabledNodePool (ctx , node )
249
254
if err != nil {
250
255
klog .Fatalf ("Failed to get node info from API server: %v" , err .Error ())
251
256
}
@@ -264,7 +269,7 @@ func handle() {
264
269
klog .Errorf ("Data Cache enabled, but --node-name not passed" )
265
270
}
266
271
if nsArgs .DataCacheEnabledNodePool {
267
- if err := setupDataCache (ctx , * nodeName , nodeServer . MetadataService . GetName () ); err != nil {
272
+ if err := setupDataCache (ctx , node ); err != nil {
268
273
klog .Errorf ("Data Cache setup failed: %v" , err )
269
274
}
270
275
go driver .StartWatcher (* nodeName )
@@ -351,12 +356,13 @@ func urlFlag(target **url.URL, name string, usage string) {
351
356
})
352
357
}
353
358
354
- func isDataCacheEnabledNodePool (ctx context.Context , nodeName string ) (bool , error ) {
359
+ func isDataCacheEnabledNodePool (ctx context.Context , node * v1. Node ) (bool , error ) {
355
360
if ! * enableDataCacheFlag {
356
361
return false , nil
357
362
}
363
+ nodeName := node .Name
358
364
if len (nodeName ) > 0 && nodeName != common .TestNode { // disregard logic below when E2E testing.
359
- dataCacheLSSDCount , err := driver .GetDataCacheCountFromNodeLabel (ctx , nodeName )
365
+ dataCacheLSSDCount , err := driver .GetDataCacheCountFromNodeLabel (ctx , node )
360
366
return dataCacheLSSDCount != 0 , err
361
367
}
362
368
return true , nil
@@ -394,7 +400,8 @@ func fetchLssdsForRaiding(lssdCount int) ([]string, error) {
394
400
return availableLssds [:lssdCount ], nil
395
401
}
396
402
397
- func setupDataCache (ctx context.Context , nodeName string , nodeId string ) error {
403
+ func setupDataCache (ctx context.Context , node * v1.Node ) error {
404
+ nodeName := node .Name
398
405
isAlreadyRaided , err := driver .IsRaided ()
399
406
if err != nil {
400
407
klog .V (4 ).Infof ("Errored while scanning for available LocalSSDs err:%v; continuing Raiding" , err )
@@ -404,9 +411,10 @@ func setupDataCache(ctx context.Context, nodeName string, nodeId string) error {
404
411
}
405
412
406
413
lssdCount := common .LocalSSDCountForDataCache
414
+ nodeUid := nodeName
407
415
if nodeName != common .TestNode {
408
- var err error
409
- lssdCount , err = driver .GetDataCacheCountFromNodeLabel (ctx , nodeName )
416
+ nodeUid = string ( node . ObjectMeta . UID )
417
+ lssdCount , err = driver .GetDataCacheCountFromNodeLabel (ctx , node )
410
418
if err != nil {
411
419
return err
412
420
}
@@ -425,7 +433,7 @@ func setupDataCache(ctx context.Context, nodeName string, nodeId string) error {
425
433
}
426
434
427
435
// Initializing data cache node (VG checks w/ raided lssd)
428
- if err := driver .InitializeDataCacheNode (nodeId ); err != nil {
436
+ if err := driver .InitializeDataCacheNode (nodeUid ); err != nil {
429
437
return err
430
438
}
431
439
0 commit comments