From 75b925c32605245ad4e8c8d62e1829d9568fbbab Mon Sep 17 00:00:00 2001 From: Poorna Date: Thu, 10 Mar 2022 18:42:44 -0800 Subject: [PATCH] Deprecate root disk for disk caching (#14527) This PR modifies #14513 to issue a deprecation warning rather than reject settings on startup. --- cmd/disk-cache.go | 15 +++++++++++++++ internal/config/cache/config.go | 12 ------------ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/cmd/disk-cache.go b/cmd/disk-cache.go index 90ffed4db..12c8112ec 100644 --- a/cmd/disk-cache.go +++ b/cmd/disk-cache.go @@ -31,6 +31,7 @@ import ( objectlock "github.com/minio/minio/internal/bucket/object/lock" "github.com/minio/minio/internal/color" "github.com/minio/minio/internal/config/cache" + "github.com/minio/minio/internal/disk" "github.com/minio/minio/internal/hash" xhttp "github.com/minio/minio/internal/http" "github.com/minio/minio/internal/logger" @@ -594,12 +595,23 @@ func newCache(config cache.Config) ([]*diskCache, bool, error) { if err != nil { return nil, false, err } + var warningMsg string for i, dir := range config.Drives { // skip diskCache creation for cache drives missing a format.json if formats[i] == nil { caches = append(caches, nil) continue } + if !globalIsCICD && len(warningMsg) == 0 { + rootDsk, err := disk.IsRootDisk(dir, "/") + if err != nil { + warningMsg = fmt.Sprintf("Invalid cache dir %s err : %s", dir, err.Error()) + } + if rootDsk { + warningMsg = fmt.Sprintf("cache dir cannot be part of root disk: %s", dir) + } + } + if err := checkAtimeSupport(dir); err != nil { return nil, false, fmt.Errorf("Atime support required for disk caching, atime check failed with %w", err) } @@ -610,6 +622,9 @@ func newCache(config cache.Config) ([]*diskCache, bool, error) { } caches = append(caches, cache) } + if warningMsg != "" { + logger.Info(color.Yellow(fmt.Sprintf("WARNING: Usage of root disk for disk caching is deprecated: %s", warningMsg))) + } return caches, migrating, nil } diff --git a/internal/config/cache/config.go b/internal/config/cache/config.go index b4a0785b3..72b6aaee9 100644 --- a/internal/config/cache/config.go +++ b/internal/config/cache/config.go @@ -20,12 +20,10 @@ package cache import ( "encoding/json" "errors" - "os" "path/filepath" "strings" "github.com/minio/minio/internal/config" - "github.com/minio/minio/internal/disk" "github.com/minio/pkg/ellipses" ) @@ -117,20 +115,10 @@ func parseCacheDrives(drives string) ([]string, error) { endpoints = append(endpoints, d) } } - isCICD := os.Getenv("MINIO_CI_CD") != "" || os.Getenv("CI") != "" for _, d := range endpoints { if !filepath.IsAbs(d) { return nil, config.ErrInvalidCacheDrivesValue(nil).Msg("cache dir should be absolute path: %s", d) } - if !isCICD { - rootDsk, err := disk.IsRootDisk(d, "/") - if err != nil { - return nil, config.ErrInvalidCacheDrivesValue(nil).Msg("Invalid cache dir %s err : %s", d, err.Error()) - } - if rootDsk { - return nil, config.ErrInvalidCacheDrivesValue(nil).Msg("cache dir cannot be part of root disk: %s", d) - } - } } return endpoints, nil }