Merge pull request #616 from cdrage/files-to-files

Add provider to file output
This commit is contained in:
Tomas Kral 2017-06-02 13:12:26 +02:00 committed by GitHub
commit 5939158b57
3 changed files with 23 additions and 4 deletions

View File

@ -200,7 +200,7 @@ func PrintList(objects []runtime.Object, opt kobject.ConvertOptions) error {
if err != nil {
return fmt.Errorf("Error in marshalling the List: %v", err)
}
printVal, err := transformer.Print("", dirName, "", data, opt.ToStdout, opt.GenerateJSON, f)
printVal, err := transformer.Print("", dirName, "", data, opt.ToStdout, opt.GenerateJSON, f, opt.Provider)
if err != nil {
return errors.Wrap(err, "transformer.Print failed")
}
@ -227,7 +227,7 @@ func PrintList(objects []runtime.Object, opt kobject.ConvertOptions) error {
// cast it to correct type - api.ObjectMeta
objectMeta := val.FieldByName("ObjectMeta").Interface().(api.ObjectMeta)
file, err = transformer.Print(objectMeta.Name, dirName, strings.ToLower(typeMeta.Kind), data, opt.ToStdout, opt.GenerateJSON, f)
file, err = transformer.Print(objectMeta.Name, dirName, strings.ToLower(typeMeta.Kind), data, opt.ToStdout, opt.GenerateJSON, f, opt.Provider)
if err != nil {
return errors.Wrap(err, "transformer.Print failed")
}

View File

@ -115,7 +115,7 @@ func ConfigAnnotations(service kobject.ServiceConfig) map[string]string {
}
// Print either prints to stdout or to file/s
func Print(name, path string, trailing string, data []byte, toStdout, generateJSON bool, f *os.File) (string, error) {
func Print(name, path string, trailing string, data []byte, toStdout, generateJSON bool, f *os.File, provider string) (string, error) {
file := ""
if generateJSON {
file = fmt.Sprintf("%s-%s.json", name, trailing)
@ -137,7 +137,17 @@ func Print(name, path string, trailing string, data []byte, toStdout, generateJS
if err := ioutil.WriteFile(file, []byte(data), 0644); err != nil {
return "", errors.Wrap(err, "Failed to write %s: "+trailing)
}
log.Printf("file %q created", file)
log.Printf("%s file %q created", formatProviderName(provider), file)
}
return file, nil
}
// If Openshift, change to OpenShift!
func formatProviderName(provider string) string {
if strings.EqualFold(provider, "openshift") {
return "OpenShift"
} else if strings.EqualFold(provider, "kubernetes") {
return "Kubernetes"
}
return provider
}

View File

@ -21,6 +21,15 @@ import (
"testing"
)
func TestFormatProviderName(t *testing.T) {
if formatProviderName("openshift") != "OpenShift" {
t.Errorf("Got %s, expected OpenShift", formatProviderName("openshift"))
}
if formatProviderName("kubernetes") != "Kubernetes" {
t.Errorf("Got %s, expected Kubernetes", formatProviderName("kubernetes"))
}
}
// When passing "z" or "Z" we expect "" back.
func TestZParseVolumeLabeling(t *testing.T) {
testCase := "/foobar:/foobar:Z"