iam: Retry connection to etcd during initialization (#13143)

Retry connecting to etcd during IAM initialization when etcd is enabled.
This commit is contained in:
Anis Elleuch 2021-09-03 17:10:48 +01:00 committed by GitHub
parent 2ee4ae88f9
commit 88e6c11746
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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