mirror of
https://git.vectorsigma.ru/public/k3s.git
synced 2026-08-05 23:49:42 +00:00
Add jitter to client config retry
Also: * Replaces labeled for/continue RETRY loops with wait helpers for improved readability * Pulls secrets and nodes from cache for node password verification * Migrate nodepassword tests to wrangler mocks for better code reuse Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
This commit is contained in:
committed by
Brad Davidson
parent
dd1787d026
commit
a7f71bb5f2
@@ -13,15 +13,14 @@ import (
|
||||
|
||||
func Register(ctx context.Context,
|
||||
modCoreDNS bool,
|
||||
secretClient coreclient.SecretClient,
|
||||
configMap coreclient.ConfigMapController,
|
||||
secrets coreclient.SecretController,
|
||||
configMaps coreclient.ConfigMapController,
|
||||
nodes coreclient.NodeController,
|
||||
) error {
|
||||
h := &handler{
|
||||
modCoreDNS: modCoreDNS,
|
||||
secretClient: secretClient,
|
||||
configCache: configMap.Cache(),
|
||||
configClient: configMap,
|
||||
modCoreDNS: modCoreDNS,
|
||||
secrets: secrets,
|
||||
configMaps: configMaps,
|
||||
}
|
||||
nodes.OnChange(ctx, "node", h.onChange)
|
||||
nodes.OnRemove(ctx, "node", h.onRemove)
|
||||
@@ -30,10 +29,9 @@ func Register(ctx context.Context,
|
||||
}
|
||||
|
||||
type handler struct {
|
||||
modCoreDNS bool
|
||||
secretClient coreclient.SecretClient
|
||||
configCache coreclient.ConfigMapCache
|
||||
configClient coreclient.ConfigMapClient
|
||||
modCoreDNS bool
|
||||
secrets coreclient.SecretController
|
||||
configMaps coreclient.ConfigMapController
|
||||
}
|
||||
|
||||
func (h *handler) onChange(key string, node *core.Node) (*core.Node, error) {
|
||||
@@ -78,7 +76,7 @@ func (h *handler) updateCoreDNSConfigMap(nodeName, nodeAddress string, removed b
|
||||
return nil
|
||||
}
|
||||
|
||||
configMapCache, err := h.configCache.Get("kube-system", "coredns")
|
||||
configMapCache, err := h.configMaps.Cache().Get("kube-system", "coredns")
|
||||
if err != nil || configMapCache == nil {
|
||||
logrus.Warn(errors.Wrap(err, "Unable to fetch coredns config map"))
|
||||
return nil
|
||||
@@ -120,7 +118,7 @@ func (h *handler) updateCoreDNSConfigMap(nodeName, nodeAddress string, removed b
|
||||
}
|
||||
configMap.Data["NodeHosts"] = newHosts
|
||||
|
||||
if _, err := h.configClient.Update(configMap); err != nil {
|
||||
if _, err := h.configMaps.Update(configMap); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -135,5 +133,5 @@ func (h *handler) updateCoreDNSConfigMap(nodeName, nodeAddress string, removed b
|
||||
}
|
||||
|
||||
func (h *handler) removeNodePassword(nodeName string) error {
|
||||
return nodepassword.Delete(h.secretClient, nodeName)
|
||||
return nodepassword.Delete(h.secrets, nodeName)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user