Simplified code, only svc for services

This commit is contained in:
Laszlo Fogas
2019-04-26 11:08:45 +02:00
parent 8509c1ca59
commit e290c76f00
3 changed files with 14 additions and 33 deletions

View File

@@ -72,18 +72,13 @@ func (e *engine) Setup(ctx context.Context, conf *backend.Config) error {
if stage.Alias == "services" {
for _, step := range stage.Steps {
e.logs.WriteString("Creating service\n")
pod := Pod(e.namespace, step)
var svc *v1.Service
for _, n := range step.Networks {
if len(n.Aliases) > 0 {
svc = Service(e.namespace, n.Aliases[0], pod.Name, step.Ports)
svc = Service(e.namespace, n.Aliases[0], podName(step), step.Ports)
}
}
if _, err := e.kubeClient.CoreV1().Pods(e.namespace).Create(pod); err != nil {
return err
}
if svc, err := e.kubeClient.CoreV1().Services(e.namespace).Create(svc); err != nil {
return err
} else {
@@ -108,17 +103,6 @@ func (e *engine) Setup(ctx context.Context, conf *backend.Config) error {
func (e *engine) Exec(ctx context.Context, step *backend.Step) error {
e.logs.WriteString("Creating pod\n")
pod := Pod(e.namespace, step)
var svc *v1.Service
for _, n := range step.Networks {
if len(n.Aliases) > 0 {
svc = Service(e.namespace, n.Aliases[0], pod.Name, step.Ports)
}
}
if svc != nil {
return nil // Pods with services are created already in Setup()
}
_, err := e.kubeClient.CoreV1().Pods(e.namespace).Create(pod)
return err
}
@@ -251,17 +235,22 @@ func (e *engine) Destroy(ctx context.Context, conf *backend.Config) error {
for _, stage := range conf.Stages {
for _, step := range stage.Steps {
e.logs.WriteString("Deleting pod\n")
if err := e.kubeClient.CoreV1().Pods(e.namespace).Delete(podName(step), deleteOpts); err != nil {
return err
}
}
}
for _, n := range step.Networks {
svc := Service(e.namespace, n.Aliases[0], step.Alias, step.Ports)
if svc == nil {
continue
}
if err := e.kubeClient.CoreV1().Services(e.namespace).Delete(svc.Name, deleteOpts); err != nil {
return err
for _, stage := range conf.Stages {
if stage.Alias == "services" {
for _, step := range stage.Steps {
e.logs.WriteString("Deleting service\n")
for _, n := range step.Networks {
svc := Service(e.namespace, n.Aliases[0], step.Alias, step.Ports)
if err := e.kubeClient.CoreV1().Services(e.namespace).Delete(svc.Name, deleteOpts); err != nil {
return err
}
}
}
}

View File

@@ -7,11 +7,6 @@ import (
)
func Service(namespace, name, podName string, ports []int) *v1.Service {
// We don't need a service, if we don't have ports
if len(ports) == 0 {
return nil
}
var svcPorts []v1.ServicePort
for _, p := range ports {
svcPorts = append(svcPorts, v1.ServicePort{

View File

@@ -8,9 +8,6 @@ import (
)
func TestService(t *testing.T) {
s := Service("foo", "bar", "baz", []int{})
assert.Nil(t, s)
expected := `
{
"metadata": {
@@ -43,7 +40,7 @@ func TestService(t *testing.T) {
}
}`
s = Service("foo", "bar", "baz", []int{1, 2, 3})
s := Service("foo", "bar", "baz", []int{1, 2, 3})
j, err := json.Marshal(s)
assert.Nil(t, err)
assert.JSONEq(t, expected, string(j))