fix: manage multiple version showing edge cases
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
dde8afcd43
commit
c764243f3a
|
@ -91,12 +91,19 @@ can take some time.
|
|||
stackName = app.Env["STACK_NAME"]
|
||||
}
|
||||
|
||||
var version string
|
||||
if status, ok := statuses[stackName]; ok {
|
||||
version = status["version"]
|
||||
tableRow = append(tableRow, status["status"], version)
|
||||
status := "unknown"
|
||||
version := "unknown"
|
||||
if statusMeta, ok := statuses[stackName]; ok {
|
||||
if currentVersion, exists := statusMeta["version"]; exists {
|
||||
version = currentVersion
|
||||
}
|
||||
if statusMeta["status"] != "" {
|
||||
status = statusMeta["status"]
|
||||
}
|
||||
|
||||
tableRow = append(tableRow, status, version)
|
||||
} else {
|
||||
tableRow = append(tableRow, "unknown")
|
||||
tableRow = append(tableRow, status, version)
|
||||
}
|
||||
|
||||
var newUpdates []string
|
||||
|
@ -104,13 +111,19 @@ can take some time.
|
|||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
|
||||
for _, update := range updates {
|
||||
if update != version {
|
||||
newUpdates = append(newUpdates, update)
|
||||
}
|
||||
}
|
||||
|
||||
if len(newUpdates) == 0 {
|
||||
if version == "unknown" {
|
||||
tableRow = append(tableRow, "unknown")
|
||||
} else {
|
||||
tableRow = append(tableRow, "none, on latest")
|
||||
}
|
||||
} else {
|
||||
// FIXME: jeezus golang why do you not have a list reverse function
|
||||
for i, j := 0, len(newUpdates)-1; i < j; i, j = i+1, j-1 {
|
||||
|
|
|
@ -299,8 +299,8 @@ func GetAppStatuses(appFiles AppFiles) (map[string]map[string]string, error) {
|
|||
|
||||
for range servers {
|
||||
status := <-ch
|
||||
result := make(map[string]string)
|
||||
for _, service := range status.Services {
|
||||
result := make(map[string]string)
|
||||
name := service.Spec.Labels[convert.LabelNamespace]
|
||||
|
||||
if _, ok := statuses[name]; !ok {
|
||||
|
@ -310,6 +310,11 @@ func GetAppStatuses(appFiles AppFiles) (map[string]map[string]string, error) {
|
|||
labelKey := fmt.Sprintf("coop-cloud.%s.version", name)
|
||||
if version, ok := service.Spec.Labels[labelKey]; ok {
|
||||
result["version"] = version
|
||||
} else {
|
||||
//FIXME: we only need to check containers with the version label not
|
||||
// every single container and then skip when we see no label perf gains
|
||||
// to be had here
|
||||
continue
|
||||
}
|
||||
|
||||
statuses[name] = result
|
||||
|
|
Loading…
Reference in New Issue