From 304b70639f7cc3accb40fe5310b01789ccda8954 Mon Sep 17 00:00:00 2001 From: decentral1se Date: Fri, 19 Nov 2021 15:50:29 +0100 Subject: [PATCH] fix: only check catalogue once --- cli/app/list.go | 8 +++++++- cli/app/rollback.go | 7 ++++++- cli/app/upgrade.go | 7 ++++++- cli/internal/deploy.go | 6 +++++- pkg/catalogue/catalogue.go | 7 +------ 5 files changed, 25 insertions(+), 10 deletions(-) diff --git a/cli/app/list.go b/cli/app/list.go index 998d33fc..fec07764 100644 --- a/cli/app/list.go +++ b/cli/app/list.go @@ -101,6 +101,11 @@ can take some time. canUpgradeCount int ) + catl, err := catalogue.ReadRecipeCatalogue() + if err != nil { + logrus.Fatal(err) + } + for _, app := range apps { var tableRow []string if app.Type == appType || appType == "" { @@ -126,7 +131,8 @@ can take some time. var newUpdates []string if version != "unknown" { - updates, err := catalogue.GetRecipeCatalogueVersions(app.Type) + + updates, err := catalogue.GetRecipeCatalogueVersions(app.Type, catl) if err != nil { logrus.Fatal(err) } diff --git a/cli/app/rollback.go b/cli/app/rollback.go index a1acb198..f2c8819d 100644 --- a/cli/app/rollback.go +++ b/cli/app/rollback.go @@ -70,7 +70,12 @@ recipes. logrus.Fatalf("'%s' is not deployed?", app.Name) } - versions, err := catalogue.GetRecipeCatalogueVersions(app.Type) + catl, err := catalogue.ReadRecipeCatalogue() + if err != nil { + logrus.Fatal(err) + } + + versions, err := catalogue.GetRecipeCatalogueVersions(app.Type, catl) if err != nil { logrus.Fatal(err) } diff --git a/cli/app/upgrade.go b/cli/app/upgrade.go index 4c8609ed..e07f5bba 100644 --- a/cli/app/upgrade.go +++ b/cli/app/upgrade.go @@ -62,7 +62,12 @@ recipes. logrus.Fatalf("'%s' is not deployed?", app.Name) } - versions, err := catalogue.GetRecipeCatalogueVersions(app.Type) + catl, err := catalogue.ReadRecipeCatalogue() + if err != nil { + logrus.Fatal(err) + } + + versions, err := catalogue.GetRecipeCatalogueVersions(app.Type, catl) if err != nil { logrus.Fatal(err) } diff --git a/cli/internal/deploy.go b/cli/internal/deploy.go index 771fe3e5..b3d2b4a5 100644 --- a/cli/internal/deploy.go +++ b/cli/internal/deploy.go @@ -45,7 +45,11 @@ func DeployAction(c *cli.Context) error { version := deployedVersion if version == "" && !Chaos { - versions, err := catalogue.GetRecipeCatalogueVersions(app.Type) + catl, err := catalogue.ReadRecipeCatalogue() + if err != nil { + logrus.Fatal(err) + } + versions, err := catalogue.GetRecipeCatalogueVersions(app.Type, catl) if err != nil { logrus.Fatal(err) } diff --git a/pkg/catalogue/catalogue.go b/pkg/catalogue/catalogue.go index 3e2f4634..68ff5b98 100644 --- a/pkg/catalogue/catalogue.go +++ b/pkg/catalogue/catalogue.go @@ -480,14 +480,9 @@ func GetRecipeVersions(recipeName string) (RecipeVersions, error) { } // GetRecipeCatalogueVersions list the recipe versions listed in the recipe catalogue. -func GetRecipeCatalogueVersions(recipeName string) ([]string, error) { +func GetRecipeCatalogueVersions(recipeName string, catl RecipeCatalogue) ([]string, error) { var versions []string - catl, err := ReadRecipeCatalogue() - if err != nil { - return versions, err - } - if recipeMeta, exists := catl[recipeName]; exists { for _, versionMeta := range recipeMeta.Versions { for tag := range versionMeta {