forked from LaconicNetwork/kompose
Merge pull request #565 from procrypt/ux
sort output when creating kubernetes/openshift objects
This commit is contained in:
commit
f66a11fd70
@ -41,6 +41,7 @@ import (
|
|||||||
deployapi "github.com/openshift/origin/pkg/deploy/api"
|
deployapi "github.com/openshift/origin/pkg/deploy/api"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"k8s.io/kubernetes/pkg/api/resource"
|
"k8s.io/kubernetes/pkg/api/resource"
|
||||||
|
"sort"
|
||||||
)
|
)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -542,3 +543,13 @@ func (k *Kubernetes) VolumesFrom(objects *[]runtime.Object, komposeObject kobjec
|
|||||||
}
|
}
|
||||||
return nil
|
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
|
||||||
|
}
|
||||||
|
|||||||
@ -29,6 +29,7 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -19,7 +19,6 @@ package kubernetes
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"reflect"
|
"reflect"
|
||||||
"sort"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -533,13 +532,7 @@ func (k *Kubernetes) Transform(komposeObject kobject.KomposeObject, opt kobject.
|
|||||||
// this will hold all the converted data
|
// this will hold all the converted data
|
||||||
var allobjects []runtime.Object
|
var allobjects []runtime.Object
|
||||||
|
|
||||||
// Need to ensure the kubernetes objects are in a consistent order
|
sortedKeys := SortedKeys(komposeObject)
|
||||||
var sortedKeys []string
|
|
||||||
for name := range komposeObject.ServiceConfigs {
|
|
||||||
sortedKeys = append(sortedKeys, name)
|
|
||||||
}
|
|
||||||
sort.Strings(sortedKeys)
|
|
||||||
|
|
||||||
for _, name := range sortedKeys {
|
for _, name := range sortedKeys {
|
||||||
service := komposeObject.ServiceConfigs[name]
|
service := komposeObject.ServiceConfigs[name]
|
||||||
var objects []runtime.Object
|
var objects []runtime.Object
|
||||||
|
|||||||
@ -339,7 +339,9 @@ func (o *OpenShift) Transform(komposeObject kobject.KomposeObject, opt kobject.C
|
|||||||
buildRepo := opt.BuildRepo
|
buildRepo := opt.BuildRepo
|
||||||
buildBranch := opt.BuildBranch
|
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
|
var objects []runtime.Object
|
||||||
|
|
||||||
// Generate pod only and nothing more
|
// Generate pod only and nothing more
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user