@@ -40,27 +40,29 @@ import (
40
40
type endpointRestorerParams struct {
41
41
cell.In
42
42
43
- Logger * slog.Logger
44
- K8sWatcher * watchers.K8sWatcher
45
- Clientset k8sClient.Clientset
46
- EndpointCreator endpointcreator.EndpointCreator
47
- EndpointManager endpointmanager.EndpointManager
48
- EndpointMetadata endpointmetadata.EndpointMetadataFetcher
49
- EndpointAPIFence endpointapi.Fence
50
- IPSecAgent datapath.IPsecAgent
51
- IPAMManager * ipam.IPAM
43
+ Logger * slog.Logger
44
+ K8sWatcher * watchers.K8sWatcher
45
+ Clientset k8sClient.Clientset
46
+ EndpointCreator endpointcreator.EndpointCreator
47
+ EndpointManager endpointmanager.EndpointManager
48
+ EndpointRegenerator * endpoint.Regenerator
49
+ EndpointMetadata endpointmetadata.EndpointMetadataFetcher
50
+ EndpointAPIFence endpointapi.Fence
51
+ IPSecAgent datapath.IPsecAgent
52
+ IPAMManager * ipam.IPAM
52
53
}
53
54
54
55
type endpointRestorer struct {
55
- logger * slog.Logger
56
- k8sWatcher * watchers.K8sWatcher
57
- clientset k8sClient.Clientset
58
- endpointCreator endpointcreator.EndpointCreator
59
- endpointManager endpointmanager.EndpointManager
60
- endpointMetadata endpointmetadata.EndpointMetadataFetcher
61
- endpointAPIFence endpointapi.Fence
62
- ipSecAgent datapath.IPsecAgent
63
- ipamManager * ipam.IPAM
56
+ logger * slog.Logger
57
+ k8sWatcher * watchers.K8sWatcher
58
+ clientset k8sClient.Clientset
59
+ endpointCreator endpointcreator.EndpointCreator
60
+ endpointManager endpointmanager.EndpointManager
61
+ endpointRegenerator * endpoint.Regenerator
62
+ endpointMetadata endpointmetadata.EndpointMetadataFetcher
63
+ endpointAPIFence endpointapi.Fence
64
+ ipSecAgent datapath.IPsecAgent
65
+ ipamManager * ipam.IPAM
64
66
65
67
restoreState * endpointRestoreState
66
68
endpointRestoreComplete chan struct {}
@@ -69,15 +71,16 @@ type endpointRestorer struct {
69
71
70
72
func newEndpointRestorer (params endpointRestorerParams ) * endpointRestorer {
71
73
return & endpointRestorer {
72
- logger : params .Logger ,
73
- k8sWatcher : params .K8sWatcher ,
74
- clientset : params .Clientset ,
75
- endpointCreator : params .EndpointCreator ,
76
- endpointManager : params .EndpointManager ,
77
- endpointMetadata : params .EndpointMetadata ,
78
- endpointAPIFence : params .EndpointAPIFence ,
79
- ipSecAgent : params .IPSecAgent ,
80
- ipamManager : params .IPAMManager ,
74
+ logger : params .Logger ,
75
+ k8sWatcher : params .K8sWatcher ,
76
+ clientset : params .Clientset ,
77
+ endpointCreator : params .EndpointCreator ,
78
+ endpointManager : params .EndpointManager ,
79
+ endpointRegenerator : params .EndpointRegenerator ,
80
+ endpointMetadata : params .EndpointMetadata ,
81
+ endpointAPIFence : params .EndpointAPIFence ,
82
+ ipSecAgent : params .IPSecAgent ,
83
+ ipamManager : params .IPAMManager ,
81
84
82
85
endpointRestoreComplete : make (chan struct {}),
83
86
endpointInitialPolicyComplete : make (chan struct {}),
@@ -328,7 +331,7 @@ func (r *endpointRestorer) RestoreOldEndpoints() {
328
331
}
329
332
}
330
333
331
- func (r * endpointRestorer ) regenerateRestoredEndpoints (state * endpointRestoreState , endpointsRegenerator * endpoint. Regenerator ) {
334
+ func (r * endpointRestorer ) regenerateRestoredEndpoints (state * endpointRestoreState ) {
332
335
r .logger .Info (
333
336
"Regenerating restored endpoints" ,
334
337
logfields .Restored , len (state .restored ),
@@ -375,7 +378,7 @@ func (r *endpointRestorer) regenerateRestoredEndpoints(state *endpointRestoreSta
375
378
//
376
379
// This can be removed in v1.19.
377
380
r .logger .Info ("Successfully restored Host endpoint. Scheduling regeneration" , logfields .EndpointID , ep .ID )
378
- if err := ep .RegenerateAfterRestore (endpointsRegenerator , r .endpointMetadata .FetchK8sMetadataForEndpoint ); err != nil {
381
+ if err := ep .RegenerateAfterRestore (r . endpointRegenerator , r .endpointMetadata .FetchK8sMetadataForEndpoint ); err != nil {
379
382
r .logger .Debug (
380
383
"Error regenerating Host endpoint during restore" ,
381
384
logfields .Error , err ,
@@ -407,7 +410,7 @@ func (r *endpointRestorer) regenerateRestoredEndpoints(state *endpointRestoreSta
407
410
endpointCleanupCompleted .Wait ()
408
411
409
412
// Trigger regeneration for relevant restored endopints in a separate goroutine.
410
- go r .handleRestoredEndpointsRegeneration (endpointsToRegenerate , endpointsRegenerator )
413
+ go r .handleRestoredEndpointsRegeneration (endpointsToRegenerate )
411
414
412
415
go func () {
413
416
for _ , ep := range state .restored {
@@ -424,7 +427,7 @@ func (r *endpointRestorer) regenerateRestoredEndpoints(state *endpointRestoreSta
424
427
// before regenerating all remaining live endpoints.
425
428
//
426
429
// Once complete, this method closes the daemon 'endpointRestoreComplete' channel.
427
- func (r * endpointRestorer ) handleRestoredEndpointsRegeneration (endpoints []* endpoint.Endpoint , endpointsRegenerator * endpoint. Regenerator ) {
430
+ func (r * endpointRestorer ) handleRestoredEndpointsRegeneration (endpoints []* endpoint.Endpoint ) {
428
431
startTime := time .Now ()
429
432
// Wait for Endpoint DeletionQueue to be processed first so we can avoid
430
433
// expensive regeneration for already deleted endpoints.
@@ -455,7 +458,7 @@ func (r *endpointRestorer) handleRestoredEndpointsRegeneration(endpoints []*endp
455
458
go func (ep * endpoint.Endpoint , wg * sync.WaitGroup , endpointsRegenerated chan <- bool ) {
456
459
defer wg .Done ()
457
460
458
- if err := ep .RegenerateAfterRestore (endpointsRegenerator , r .endpointMetadata .FetchK8sMetadataForEndpoint ); err != nil {
461
+ if err := ep .RegenerateAfterRestore (r . endpointRegenerator , r .endpointMetadata .FetchK8sMetadataForEndpoint ); err != nil {
459
462
r .logger .Debug (
460
463
"Error regenerating endpoint during restore" ,
461
464
logfields .Error , err ,
@@ -537,7 +540,7 @@ func (r *endpointRestorer) allocateIPsLocked(ep *endpoint.Endpoint) (err error)
537
540
return nil
538
541
}
539
542
540
- func (r * endpointRestorer ) InitRestore (endpointsRegenerator * endpoint. Regenerator ) {
543
+ func (r * endpointRestorer ) InitRestore () {
541
544
if ! option .Config .RestoreState {
542
545
r .logger .Info ("State restore is disabled. Existing endpoints on node are ignored" )
543
546
return
@@ -549,5 +552,5 @@ func (r *endpointRestorer) InitRestore(endpointsRegenerator *endpoint.Regenerato
549
552
// When we regenerate restored endpoints, it is guaranteed that we have
550
553
// received the full list of policies present at the time the daemon
551
554
// is bootstrapped.
552
- r .regenerateRestoredEndpoints (r .restoreState , endpointsRegenerator )
555
+ r .regenerateRestoredEndpoints (r .restoreState )
553
556
}
0 commit comments