Merge pull request #565 from procrypt/ux

sort output when creating kubernetes/openshift objects
This commit is contained in:
Charlie Drage 2017-05-10 09:21:05 -04:00 committed by GitHub
commit f66a11fd70
4 changed files with 36 additions and 9 deletions

View File

@ -41,6 +41,7 @@ import (
deployapi "github.com/openshift/origin/pkg/deploy/api"
"github.com/pkg/errors"
"k8s.io/kubernetes/pkg/api/resource"
"sort"
)
/**
@ -542,3 +543,13 @@ func (k *Kubernetes) VolumesFrom(objects *[]runtime.Object, komposeObject kobjec
}
return nil
}
//Ensure the kubernetes objects are in a consistent order
func SortedKeys(komposeObject kobject.KomposeObject) []string {
var sortedKeys []string
for name := range komposeObject.ServiceConfigs {
sortedKeys = append(sortedKeys, name)
}
sort.Strings(sortedKeys)
return sortedKeys
}

View File

@ -29,6 +29,7 @@ import (
"github.com/pkg/errors"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/extensions"
"reflect"
)
/*
@ -275,3 +276,23 @@ func TestRecreateStrategyWithVolumesPresent(t *testing.T) {
}
}
}
func TestSortedKeys(t *testing.T) {
service := kobject.ServiceConfig{
ContainerName: "name",
Image: "image",
}
service1 := kobject.ServiceConfig{
ContainerName: "name",
Image: "image",
}
c := []string{"a", "b"}
komposeObject := kobject.KomposeObject{
ServiceConfigs: map[string]kobject.ServiceConfig{"b": service, "a": service1},
}
a := SortedKeys(komposeObject)
if !reflect.DeepEqual(a, c) {
t.Logf("Test Fail output should be %s", c)
}
}

View File

@ -19,7 +19,6 @@ package kubernetes
import (
"fmt"
"reflect"
"sort"
"strconv"
"time"
@ -533,13 +532,7 @@ func (k *Kubernetes) Transform(komposeObject kobject.KomposeObject, opt kobject.
// this will hold all the converted data
var allobjects []runtime.Object
// Need to ensure the kubernetes objects are in a consistent order
var sortedKeys []string
for name := range komposeObject.ServiceConfigs {
sortedKeys = append(sortedKeys, name)
}
sort.Strings(sortedKeys)
sortedKeys := SortedKeys(komposeObject)
for _, name := range sortedKeys {
service := komposeObject.ServiceConfigs[name]
var objects []runtime.Object

View File

@ -339,7 +339,9 @@ func (o *OpenShift) Transform(komposeObject kobject.KomposeObject, opt kobject.C
buildRepo := opt.BuildRepo
buildBranch := opt.BuildBranch
for name, service := range komposeObject.ServiceConfigs {
sortedKeys := kubernetes.SortedKeys(komposeObject)
for _, name := range sortedKeys {
service := komposeObject.ServiceConfigs[name]
var objects []runtime.Object
// Generate pod only and nothing more