Skip to content

Commit

Permalink
Merge pull request #434 from procrypt/abstract_out_api.PodSpec
Browse files Browse the repository at this point in the history
Abstract out api.pod spec
  • Loading branch information
cdrage authored Feb 22, 2017
2 parents 3488416 + 082e235 commit 082bd17
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 41 deletions.
49 changes: 17 additions & 32 deletions pkg/transformer/kubernetes/kubernetes.go
Original file line number Diff line number Diff line change
Expand Up @@ -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{
Expand All @@ -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),
},
},
}
Expand Down Expand Up @@ -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),
},
},
}
Expand All @@ -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),
},
},
}
Expand Down Expand Up @@ -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
}
Expand Down
9 changes: 9 additions & 0 deletions pkg/transformer/kubernetes/kubernetes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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")
}
}
10 changes: 1 addition & 9 deletions pkg/transformer/openshift/openshift.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 082bd17

Please sign in to comment.