From 62f608a3fe7d45726da48ac176a76f53e6594820 Mon Sep 17 00:00:00 2001 From: Evan Lezar Date: Fri, 8 Apr 2022 11:59:26 +0200 Subject: [PATCH] Make order of discoverers deterministic Signed-off-by: Evan Lezar --- internal/discover/csv.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/internal/discover/csv.go b/internal/discover/csv.go index f3761b9f..9d9fda64 100644 --- a/internal/discover/csv.go +++ b/internal/discover/csv.go @@ -84,12 +84,16 @@ func newFromMountSpecs(logger *logrus.Logger, locators map[csv.MountSpecType]loo } var discoverers []Discover + var mountSpecTypes []csv.MountSpecType candidatesByType := make(map[csv.MountSpecType][]string) for _, t := range targets { + if _, exists := candidatesByType[t.Type]; !exists { + mountSpecTypes = append(mountSpecTypes, t.Type) + } candidatesByType[t.Type] = append(candidatesByType[t.Type], t.Path) } - for t, candidates := range candidatesByType { + for _, t := range mountSpecTypes { locator, exists := locators[t] if !exists { return nil, fmt.Errorf("no locator defined for '%v'", t) @@ -98,7 +102,7 @@ func newFromMountSpecs(logger *logrus.Logger, locators map[csv.MountSpecType]loo m := &mounts{ logger: logger, lookup: locator, - required: candidates, + required: candidatesByType[t], } switch t {