mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 23:37:01 +00:00
Merge pull request #124113 from krzysdabro/nodeipam-pooling
nodeipam: poll nodes immediately
This commit is contained in:
commit
3188cbd1b3
@ -78,7 +78,6 @@ const (
|
||||
)
|
||||
|
||||
// nodePollInterval is used in listing node
|
||||
// This is a variable instead of a const to enable testing.
|
||||
var nodePollInterval = 10 * time.Second
|
||||
|
||||
// CIDRAllocator is an interface implemented by things that know how
|
||||
@ -116,8 +115,7 @@ type nodeReservedCIDRs struct {
|
||||
|
||||
// New creates a new CIDR range allocator.
|
||||
func New(ctx context.Context, kubeClient clientset.Interface, cloud cloudprovider.Interface, nodeInformer informers.NodeInformer, allocatorType CIDRAllocatorType, allocatorParams CIDRAllocatorParams) (CIDRAllocator, error) {
|
||||
logger := klog.FromContext(ctx)
|
||||
nodeList, err := listNodes(logger, kubeClient)
|
||||
nodeList, err := listNodes(ctx, kubeClient)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -132,13 +130,15 @@ func New(ctx context.Context, kubeClient clientset.Interface, cloud cloudprovide
|
||||
}
|
||||
}
|
||||
|
||||
func listNodes(logger klog.Logger, kubeClient clientset.Interface) (*v1.NodeList, error) {
|
||||
func listNodes(ctx context.Context, kubeClient clientset.Interface) (*v1.NodeList, error) {
|
||||
var nodeList *v1.NodeList
|
||||
logger := klog.FromContext(ctx)
|
||||
|
||||
// We must poll because apiserver might not be up. This error causes
|
||||
// controller manager to restart.
|
||||
if pollErr := wait.Poll(nodePollInterval, apiserverStartupGracePeriod, func() (bool, error) {
|
||||
if pollErr := wait.PollUntilContextTimeout(ctx, nodePollInterval, apiserverStartupGracePeriod, true, func(ctx context.Context) (bool, error) {
|
||||
var err error
|
||||
nodeList, err = kubeClient.CoreV1().Nodes().List(context.TODO(), metav1.ListOptions{
|
||||
nodeList, err = kubeClient.CoreV1().Nodes().List(ctx, metav1.ListOptions{
|
||||
FieldSelector: fields.Everything().String(),
|
||||
LabelSelector: labels.Everything().String(),
|
||||
})
|
||||
|
@ -118,7 +118,8 @@ func NewController(
|
||||
func (c *Controller) Start(logger klog.Logger, nodeInformer informers.NodeInformer) error {
|
||||
logger.Info("Starting IPAM controller", "config", c.config)
|
||||
|
||||
nodes, err := listNodes(logger, c.adapter.k8s)
|
||||
ctx := klog.NewContext(context.TODO(), logger)
|
||||
nodes, err := listNodes(ctx, c.adapter.k8s)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user