transformer fce now also converts k8s and openshift objects to versioned object

This commit is contained in:
Tomas Kral 2016-07-21 17:46:47 +02:00
parent eef44ca57b
commit 7892ea1bff

View File

@ -533,17 +533,25 @@ func configServicePorts(name string, service ServiceConfig) []api.ServicePort {
} }
// Transform data to json/yaml // Transform data to json/yaml
func transformer(v interface{}, entity string, generateYaml bool) ([]byte, string) { func transformer(obj runtime.Object, generateYaml bool) ([]byte, error) {
// Convert to versioned object
objectVersion := obj.GetObjectKind().GroupVersionKind()
version := unversioned.GroupVersion{Group: objectVersion.Group, Version: objectVersion.Version}
versionedObj, err := api.Scheme.ConvertToVersion(obj, version)
if err != nil {
return nil, err
}
// convert data to json / yaml // convert data to json / yaml
data, err := json.MarshalIndent(v, "", " ") data, err := json.MarshalIndent(versionedObj, "", " ")
if generateYaml == true { if generateYaml == true {
data, err = yaml.Marshal(v) data, err = yaml.Marshal(versionedObj)
} }
if err != nil { if err != nil {
return nil, "Failed to marshal the " + entity return nil, err
} }
logrus.Debugf("%s\n", data) logrus.Debugf("%s\n", data)
return data, "" return data, nil
} }
// load Environment Variable from bundles file // load Environment Variable from bundles file
@ -869,39 +877,39 @@ func komposeConvert(komposeObject KomposeObject, toStdout, createD, createRS, cr
updateController(osDC, fillTemplate, fillObjectMeta) updateController(osDC, fillTemplate, fillObjectMeta)
// convert datarc to json / yaml // convert datarc to json / yaml
datarc, err := transformer(rc, "replication controller", generateYaml) datarc, err := transformer(rc, generateYaml)
if err != "" { if err != nil {
logrus.Fatalf(err) logrus.Fatalf(err.Error())
} }
// convert datadc to json / yaml // convert datadc to json / yaml
datadc, err := transformer(dc, "deployment", generateYaml) datadc, err := transformer(dc, generateYaml)
if err != "" { if err != nil {
logrus.Fatalf(err) logrus.Fatalf(err.Error())
} }
// convert datads to json / yaml // convert datads to json / yaml
datads, err := transformer(ds, "daemonSet", generateYaml) datads, err := transformer(ds, generateYaml)
if err != "" { if err != nil {
logrus.Fatalf(err) logrus.Fatalf(err.Error())
} }
// convert datars to json / yaml // convert datars to json / yaml
datars, err := transformer(rs, "replicaSet", generateYaml) datars, err := transformer(rs, generateYaml)
if err != "" { if err != nil {
logrus.Fatalf(err) logrus.Fatalf(err.Error())
} }
// convert datasvc to json / yaml // convert datasvc to json / yaml
datasvc, err := transformer(sc, "service controller", generateYaml) datasvc, err := transformer(sc, generateYaml)
if err != "" { if err != nil {
logrus.Fatalf(err) logrus.Fatalf(err.Error())
} }
// convert OpenShift DeploymentConfig to json / yaml // convert OpenShift DeploymentConfig to json / yaml
dataDeploymentConfig, err := transformer(osDC, "deployment config", generateYaml) dataDeploymentConfig, err := transformer(osDC, generateYaml)
if err != "" { if err != nil {
logrus.Fatalf(err) logrus.Fatalf(err.Error())
} }
mServices[name] = datasvc mServices[name] = datasvc