Add error handler to recreate virtual node when it's deleted (#1143)
This commit is contained in:
@@ -251,6 +251,9 @@ type NodeConfig struct {
|
||||
// The default value is derived from the number of cores available.
|
||||
NumWorkers int
|
||||
|
||||
// Set the error handler for node status update failures
|
||||
NodeStatusUpdateErrorHandler node.ErrorHandler
|
||||
|
||||
routeAttacher func(Provider, NodeConfig, corev1listers.PodLister)
|
||||
}
|
||||
|
||||
@@ -365,11 +368,19 @@ func NewNode(name string, newProvider NewProviderFunc, opts ...NodeOpt) (*Node,
|
||||
}
|
||||
}
|
||||
|
||||
nodeControllerOpts := []node.NodeControllerOpt{
|
||||
node.WithNodeEnableLeaseV1(NodeLeaseV1Client(cfg.Client), node.DefaultLeaseDuration),
|
||||
}
|
||||
|
||||
if cfg.NodeStatusUpdateErrorHandler != nil {
|
||||
nodeControllerOpts = append(nodeControllerOpts, node.WithNodeStatusUpdateErrorHandler(cfg.NodeStatusUpdateErrorHandler))
|
||||
}
|
||||
|
||||
nc, err := node.NewNodeController(
|
||||
np,
|
||||
&cfg.NodeSpec,
|
||||
cfg.Client.CoreV1().Nodes(),
|
||||
node.WithNodeEnableLeaseV1(NodeLeaseV1Client(cfg.Client), node.DefaultLeaseDuration),
|
||||
nodeControllerOpts...,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "error creating node controller")
|
||||
|
||||
Reference in New Issue
Block a user