Manually requeue configmap reconcile when no nodes have reconciled snapshots

Silences error message from lasso - this is a normal startup condition
when no snapshots exist so we shouldn't log nasty looking errors.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
This commit is contained in:
Brad Davidson 2023-10-18 16:16:47 +00:00 committed by Brad Davidson
parent 3db1d33282
commit 5b6b9685e9
1 changed files with 9 additions and 2 deletions

View File

@ -32,6 +32,7 @@ const (
var (
snapshotConfigMapName = version.Program + "-etcd-snapshots"
errNotReconciled = errors.New("no nodes have reconciled ETCDSnapshotFile resources")
)
type etcdSnapshotHandler struct {
@ -58,7 +59,13 @@ func registerSnapshotHandlers(ctx context.Context, etcd *ETCD) {
func (e *etcdSnapshotHandler) sync(key string, esf *apisv1.ETCDSnapshotFile) (*apisv1.ETCDSnapshotFile, error) {
if key == reconcileKey {
return nil, e.reconcile()
err := e.reconcile()
if err == errNotReconciled {
logrus.Debugf("Failed to reconcile snapshot ConfigMap: %v, requeuing", err)
e.snapshots.Enqueue(key)
return nil, nil
}
return nil, err
}
if esf == nil || !esf.DeletionTimestamp.IsZero() {
return nil, nil
@ -190,7 +197,7 @@ func (e *etcdSnapshotHandler) reconcile() error {
}
if len(syncedNodes) == 0 {
return errors.New("no nodes have reconciled ETCDSnapshotFile resources")
return errNotReconciled
}
// Get a list of existing snapshots