Avoid error modification during IAM migration (#8156)

The underlying errors are important, for IAM
requirements and should wait appropriately at
the caller level, this allows for distributed
setups to run properly and not fail prematurely
during startup.

Also additionally fix the onlineDisk counting
This commit is contained in:
Harshavardhana 2019-08-30 10:41:02 -07:00 committed by GitHub
parent 4553db3872
commit 0cd0f6c255
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 4 deletions

View File

@ -213,7 +213,7 @@ func (ies *IAMEtcdStore) migrateToV1() error {
case errConfigNotFound:
// Need to migrate to V1.
default:
return errors.New("corrupt IAM format file")
return err
}
} else {
if iamFmt.Version >= iamFormatVersion1 {

View File

@ -127,8 +127,8 @@ func (iamOS *IAMObjectStore) migrateUsersConfigToV1(isSTS bool) error {
identityPath := pathJoin(basePrefix, user, iamIdentityFile)
var cred auth.Credentials
if err := iamOS.loadIAMConfig(&cred, identityPath); err != nil {
switch err.(type) {
case ObjectNotFound:
switch err {
case errConfigNotFound:
// This should not happen.
default:
// File may be corrupt or network error
@ -169,7 +169,7 @@ func (iamOS *IAMObjectStore) migrateToV1() error {
case errConfigNotFound:
// Need to migrate to V1.
default:
return errors.New("corrupt IAM format file")
return err
}
} else {
if iamFmt.Version >= iamFormatVersion1 {

View File

@ -101,6 +101,7 @@ func getDisksInfo(disks []StorageAPI) (disksInfo []DiskInfo, onlineDisks int, of
for _, err := range errs {
if err != nil {
offlineDisks++
continue
}
onlineDisks++
}