Add provider to file output

Adds the provider name to the file output. For example:

```sh
INFO OpenShift file "frontend-service.yaml" created
INFO OpenShift file "redis-master-service.yaml" created
INFO OpenShift file "redis-slave-service.yaml" created
INFO OpenShift file "frontend-deploymentconfig.yaml" created
INFO OpenShift file "frontend-imagestream.yaml" created
INFO OpenShift file "redis-master-deploymentconfig.yaml" created
INFO OpenShift file "redis-master-imagestream.yaml" created
INFO OpenShift file "redis-slave-deploymentconfig.yaml" created
INFO OpenShift file "redis-slave-imagestream.yaml" created
```
This commit is contained in:
Charlie Drage 2017-05-23 15:07:27 -04:00
parent 1c64b016dc
commit cb30bd5f51
3 changed files with 23 additions and 4 deletions

View File

@ -198,7 +198,7 @@ func PrintList(objects []runtime.Object, opt kobject.ConvertOptions) error {
if err != nil { if err != nil {
return fmt.Errorf("Error in marshalling the List: %v", err) 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 { if err != nil {
return errors.Wrap(err, "transformer.Print failed") return errors.Wrap(err, "transformer.Print failed")
} }
@ -225,7 +225,7 @@ func PrintList(objects []runtime.Object, opt kobject.ConvertOptions) error {
// cast it to correct type - api.ObjectMeta // cast it to correct type - api.ObjectMeta
objectMeta := val.FieldByName("ObjectMeta").Interface().(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 { if err != nil {
return errors.Wrap(err, "transformer.Print failed") 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 // 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 := "" file := ""
if generateJSON { if generateJSON {
file = fmt.Sprintf("%s-%s.json", name, trailing) 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 { if err := ioutil.WriteFile(file, []byte(data), 0644); err != nil {
return "", errors.Wrap(err, "Failed to write %s: "+trailing) 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 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" "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. // When passing "z" or "Z" we expect "" back.
func TestZParseVolumeLabeling(t *testing.T) { func TestZParseVolumeLabeling(t *testing.T) {
testCase := "/foobar:/foobar:Z" testCase := "/foobar:/foobar:Z"