forked from LaconicNetwork/kompose
Merge pull request #434 from procrypt/abstract_out_api.PodSpec
Abstract out api.pod spec
This commit is contained in:
commit
082bd17dce
@ -104,6 +104,19 @@ func (k *Kubernetes) CheckUnsupportedKey(komposeObject *kobject.KomposeObject, u
|
||||
return keysFound
|
||||
}
|
||||
|
||||
// InitPodSpec creates the pod specification
|
||||
func (k *Kubernetes) InitPodSpec(name string, image string) api.PodSpec {
|
||||
pod := api.PodSpec{
|
||||
Containers: []api.Container{
|
||||
{
|
||||
Name: name,
|
||||
Image: image,
|
||||
},
|
||||
},
|
||||
}
|
||||
return pod
|
||||
}
|
||||
|
||||
// InitRC initializes Kubernetes ReplicationController object
|
||||
func (k *Kubernetes) InitRC(name string, service kobject.ServiceConfig, replicas int) *api.ReplicationController {
|
||||
rc := &api.ReplicationController{
|
||||
@ -120,14 +133,7 @@ func (k *Kubernetes) InitRC(name string, service kobject.ServiceConfig, replicas
|
||||
ObjectMeta: api.ObjectMeta{
|
||||
Labels: transformer.ConfigLabels(name),
|
||||
},
|
||||
Spec: api.PodSpec{
|
||||
Containers: []api.Container{
|
||||
{
|
||||
Name: name,
|
||||
Image: service.Image,
|
||||
},
|
||||
},
|
||||
},
|
||||
Spec: k.InitPodSpec(name, service.Image),
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -165,14 +171,7 @@ func (k *Kubernetes) InitD(name string, service kobject.ServiceConfig, replicas
|
||||
Spec: extensions.DeploymentSpec{
|
||||
Replicas: int32(replicas),
|
||||
Template: api.PodTemplateSpec{
|
||||
Spec: api.PodSpec{
|
||||
Containers: []api.Container{
|
||||
{
|
||||
Name: name,
|
||||
Image: service.Image,
|
||||
},
|
||||
},
|
||||
},
|
||||
Spec: k.InitPodSpec(name, service.Image),
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -191,14 +190,7 @@ func (k *Kubernetes) InitDS(name string, service kobject.ServiceConfig) *extensi
|
||||
},
|
||||
Spec: extensions.DaemonSetSpec{
|
||||
Template: api.PodTemplateSpec{
|
||||
Spec: api.PodSpec{
|
||||
Containers: []api.Container{
|
||||
{
|
||||
Name: name,
|
||||
Image: service.Image,
|
||||
},
|
||||
},
|
||||
},
|
||||
Spec: k.InitPodSpec(name, service.Image),
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -453,14 +445,7 @@ func (k *Kubernetes) InitPod(name string, service kobject.ServiceConfig) *api.Po
|
||||
ObjectMeta: api.ObjectMeta{
|
||||
Name: name,
|
||||
},
|
||||
Spec: api.PodSpec{
|
||||
Containers: []api.Container{
|
||||
{
|
||||
Name: name,
|
||||
Image: service.Image,
|
||||
},
|
||||
},
|
||||
},
|
||||
Spec: k.InitPodSpec(name, service.Image),
|
||||
}
|
||||
return &pod
|
||||
}
|
||||
|
||||
@ -502,3 +502,12 @@ func TestRestartOnFailure(t *testing.T) {
|
||||
}
|
||||
t.Fatalf("Process ran with err %v, want exit status 1", err)
|
||||
}
|
||||
|
||||
func TestInitPodSpec(t *testing.T) {
|
||||
name := "foo"
|
||||
k := Kubernetes{}
|
||||
result := k.InitPodSpec(name, newServiceConfig().Image)
|
||||
if result.Containers[0].Name != "foo" && result.Containers[0].Image != "image" {
|
||||
t.Fatalf("Pod object not found")
|
||||
}
|
||||
}
|
||||
|
||||
@ -240,15 +240,7 @@ func (o *OpenShift) initDeploymentConfig(name string, service kobject.ServiceCon
|
||||
ObjectMeta: api.ObjectMeta{
|
||||
Labels: map[string]string{"service": name},
|
||||
},
|
||||
Spec: api.PodSpec{
|
||||
Containers: []api.Container{
|
||||
{
|
||||
Name: name,
|
||||
// Image will be set to ImageStream image by ImageChange trigger.
|
||||
Image: " ",
|
||||
},
|
||||
},
|
||||
},
|
||||
Spec: o.InitPodSpec(name, " "),
|
||||
},
|
||||
Triggers: []deployapi.DeploymentTriggerPolicy{
|
||||
// Trigger new deploy when DeploymentConfig is created (config change)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user