Reuse creation of controller object code

The repated controller creation code has been removed. And
aggregated it into a single function, that Kubernetes and OpenShift
providers' Transform code can call.
This commit is contained in:
Suraj Deshmukh 2016-08-18 14:09:47 +05:30
parent d8c2b7cfd3
commit 6ce3c92937
2 changed files with 19 additions and 21 deletions

View File

@ -215,22 +215,29 @@ func ConfigEnvs(name string, service kobject.ServiceConfig) []api.EnvVar {
return envs
}
// Generate a Kubernetes artifacts for each input type service
func CreateKubernetesObjects(name string, service kobject.ServiceConfig, opt kobject.ConvertOptions) []runtime.Object {
var objects []runtime.Object
if opt.CreateD {
objects = append(objects, InitD(name, service, opt.Replicas))
}
if opt.CreateDS {
objects = append(objects, InitDS(name, service))
}
if opt.CreateRC {
objects = append(objects, InitRC(name, service, opt.Replicas))
}
return objects
}
func (k *Kubernetes) Transform(komposeObject kobject.KomposeObject, opt kobject.ConvertOptions) []runtime.Object {
// this will hold all the converted data
var allobjects []runtime.Object
for name, service := range komposeObject.ServiceConfigs {
var objects []runtime.Object
if opt.CreateD {
objects = append(objects, InitD(name, service, opt.Replicas))
}
if opt.CreateDS {
objects = append(objects, InitDS(name, service))
}
if opt.CreateRC {
objects = append(objects, InitRC(name, service, opt.Replicas))
}
objects := CreateKubernetesObjects(name, service, opt)
// If ports not provided in configuration we will not make service
if PortsExist(name, service) {

View File

@ -67,17 +67,8 @@ func (k *OpenShift) Transform(komposeObject kobject.KomposeObject, opt kobject.C
var allobjects []runtime.Object
for name, service := range komposeObject.ServiceConfigs {
var objects []runtime.Object
objects := kubernetes.CreateKubernetesObjects(name, service, opt)
if opt.CreateD {
objects = append(objects, kubernetes.InitD(name, service, opt.Replicas))
}
if opt.CreateDS {
objects = append(objects, kubernetes.InitDS(name, service))
}
if opt.CreateRC {
objects = append(objects, kubernetes.InitRC(name, service, opt.Replicas))
}
if opt.CreateDeploymentConfig {
objects = append(objects, initDeploymentConfig(name, service, opt.Replicas)) // OpenShift DeploymentConfigs
}