normalize docker-compose service that has name with underscore

kubernetes or openshift does not allow underscores in the object
names, while docker-compose does, in this commit the code has been
added to convert underscores to hypens.
This commit is contained in:
Suraj Deshmukh 2017-02-14 15:48:00 +05:30
parent f918d51cc1
commit 0bc24d5ca6
4 changed files with 28 additions and 3 deletions

View File

@ -3,10 +3,11 @@ package cmd
import ( import (
"bytes" "bytes"
"fmt" "fmt"
"github.com/Sirupsen/logrus"
"github.com/spf13/cobra"
"io" "io"
"os" "os"
"github.com/Sirupsen/logrus"
"github.com/spf13/cobra"
) )
var completion = &cobra.Command{ var completion = &cobra.Command{

View File

@ -33,12 +33,13 @@ import (
_ "github.com/openshift/origin/pkg/image/api/install" _ "github.com/openshift/origin/pkg/image/api/install"
_ "github.com/openshift/origin/pkg/route/api/install" _ "github.com/openshift/origin/pkg/route/api/install"
"os"
"github.com/kubernetes-incubator/kompose/pkg/kobject" "github.com/kubernetes-incubator/kompose/pkg/kobject"
"github.com/kubernetes-incubator/kompose/pkg/loader" "github.com/kubernetes-incubator/kompose/pkg/loader"
"github.com/kubernetes-incubator/kompose/pkg/transformer" "github.com/kubernetes-incubator/kompose/pkg/transformer"
"github.com/kubernetes-incubator/kompose/pkg/transformer/kubernetes" "github.com/kubernetes-incubator/kompose/pkg/transformer/kubernetes"
"github.com/kubernetes-incubator/kompose/pkg/transformer/openshift" "github.com/kubernetes-incubator/kompose/pkg/transformer/openshift"
"os"
) )
const ( const (

View File

@ -391,3 +391,7 @@ func handleServiceType(ServiceType string) string {
return "" return ""
} }
} }
func normalizeServiceNames(svcName string) string {
return strings.Replace(svcName, "_", "-", -1)
}

View File

@ -263,3 +263,22 @@ func TestUnsupportedKeys(t *testing.T) {
} }
} }
func TestNormalizeServiceNames(t *testing.T) {
testCases := []struct {
composeServiceName string
normalizedServiceName string
}{
{"foo_bar", "foo-bar"},
{"foo", "foo"},
{"foo.bar", "foo.bar"},
//{"", ""},
}
for _, testCase := range testCases {
returnValue := normalizeServiceNames(testCase.composeServiceName)
if returnValue != testCase.normalizedServiceName {
t.Logf("Expected %q, got %q", testCase.normalizedServiceName, returnValue)
}
}
}