fix: support downgrade/upgrade for unknown versions

This commit is contained in:
2021-10-15 09:57:36 +02:00
parent e820e0219d
commit 0615c3f745
2 changed files with 49 additions and 37 deletions

View File

@ -54,10 +54,6 @@ data beforehand - see "abra app backup <app>" for more.
logrus.Fatal(err)
}
if deployedVersion == "" {
logrus.Fatalf("failed to determine version of deployed '%s'", app.Name)
}
if !isDeployed {
logrus.Fatalf("'%s' is not deployed?", app.Name)
}
@ -67,23 +63,35 @@ data beforehand - see "abra app backup <app>" for more.
logrus.Fatal(err)
}
var availableUpgrades []string
for _, version := range versions {
parsedDeployedVersion, err := tagcmp.Parse(deployedVersion)
if err != nil {
logrus.Fatal(err)
}
parsedVersion, err := tagcmp.Parse(version)
if err != nil {
logrus.Fatal(err)
}
if parsedVersion.IsGreaterThan(parsedDeployedVersion) {
availableUpgrades = append(availableUpgrades, version)
}
if len(versions) == 0 {
logrus.Fatalf("no versions available '%s' in recipe catalogue?", app.Type)
}
if len(availableUpgrades) == 0 {
logrus.Fatal("no available upgrades, you're on latest")
var availableUpgrades []string
if deployedVersion == "" {
deployedVersion = "unknown"
availableUpgrades = versions
logrus.Warnf("failed to determine version of deployed '%s'", app.Name)
}
if deployedVersion != "unknown" {
for _, version := range versions {
parsedDeployedVersion, err := tagcmp.Parse(deployedVersion)
if err != nil {
logrus.Fatal(err)
}
parsedVersion, err := tagcmp.Parse(version)
if err != nil {
logrus.Fatal(err)
}
if parsedVersion.IsGreaterThan(parsedDeployedVersion) {
availableUpgrades = append(availableUpgrades, version)
}
}
if len(availableUpgrades) == 0 {
logrus.Fatal("no available upgrades, you're on latest")
}
}
var chosenUpgrade string