From 88e6c11746cd313da13e373ffeb2fa820aa4696d Mon Sep 17 00:00:00 2001 From: Anis Elleuch Date: Fri, 3 Sep 2021 17:10:48 +0100 Subject: [PATCH] iam: Retry connection to etcd during initialization (#13143) Retry connecting to etcd during IAM initialization when etcd is enabled. --- cmd/iam.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmd/iam.go b/cmd/iam.go index 48da26c9b..83743e497 100644 --- a/cmd/iam.go +++ b/cmd/iam.go @@ -608,6 +608,10 @@ func (sys *IAMSys) Init(ctx context.Context, objAPI ObjectLayer) { // IAM sub-system, make sure that we do not move the above codeblock elsewhere. if err := migrateIAMConfigsEtcdToEncrypted(retryCtx, globalEtcdClient); err != nil { txnLk.Unlock(lkctx.Cancel) + if errors.Is(err, errEtcdUnreachable) { + logger.Info("Connection to etcd timed out. Retrying..") + continue + } logger.LogIf(ctx, fmt.Errorf("Unable to decrypt an encrypted ETCD backend for IAM users and policies: %w", err)) logger.LogIf(ctx, errors.New("IAM sub-system is partially initialized, some users may not be available")) return