Commit 8b1359c2 authored by Alex Dadgar's avatar Alex Dadgar
Browse files

Fix canonicalization of services

parent 92340873
Branches unavailable v1.4.3 v1.4.2 v1.4.1 v1.4.0 v1.4.0-rc.1 v1.4.0-beta.1 v1.3.8 v1.3.7 v1.3.6 v1.3.5 v1.3.4 v1.3.3 v1.3.2 v1.3.1 v1.3.0 v1.3.0-rc.1 v1.3.0-beta.1 v1.2.15 v1.2.14 v1.2.13 v1.2.12 v1.2.11 v1.2.10 v1.2.9 v1.2.8 v1.2.7 v1.2.6 v1.2.5 v1.2.4 v1.2.3 v1.2.2 v1.2.1 v1.2.0 v1.2.0-rc1 v1.2.0-beta1 v1.1.18 v1.1.17 v1.1.16 v1.1.15 v1.1.14 v1.1.13 v1.1.12 v1.1.11 v1.1.10 v1.1.9 v1.1.8 v1.1.7 v1.1.6 v1.1.5 v1.1.4 v1.1.3 v1.1.2 v1.1.1 v1.1.0 v1.1.0-rc1 v1.1.0-beta1 v1.0.18 v1.0.17 v1.0.16 v1.0.15 v1.0.14 v1.0.13 v1.0.12 v1.0.11 v1.0.10 v1.0.9 v1.0.8 v1.0.7 v1.0.6 v1.0.5 v1.0.4 v1.0.3 v1.0.2 v1.0.1 v1.0.0 v1.0.0-rc1 v1.0.0-beta3 v1.0.0-beta2 v0.12.12 v0.12.11 v0.12.10 v0.12.9 v0.12.8 v0.12.7 v0.12.6 v0.12.5 v0.12.4 v0.12.4-rc1 v0.12.3 v0.12.2 v0.12.1 v0.12.0 v0.12.0-rc1 v0.12.0-beta2 v0.12.0-beta1 v0.11.8 v0.11.7 v0.11.6 v0.11.5 v0.11.4 v0.11.3 v0.11.2 v0.11.1 v0.11.0 v0.11.0-rc1 v0.11.0-beta2 v0.11.0-beta1 v0.10.9 v0.10.8 v0.10.7 v0.10.6 v0.10.5 v0.10.4 v0.10.4-rc1 v0.10.3 v0.10.2 v0.10.2-rc1 v0.10.1 v0.10.0 v0.10.0-rc1 v0.10.0-connect1 v0.10.0-beta1 v0.9.7 v0.9.6 v0.9.5 v0.9.4 v0.9.4-rc1 v0.9.3 v0.9.2 v0.9.2-rc1 v0.9.1 v0.9.1-rc1 v0.9.0 v0.9.0-rc2 v0.9.0-rc1 v0.9.0-beta3 v0.9.0-beta2 v0.9.0-beta1 v0.8.7 v0.8.7-rc1 v0.8.6 v0.8.5 v0.8.4 v0.8.4-rc1 v0.8.3 v0.8.2 v0.8.1 v0.8.0 v0.8.0-rc1 v0.7.1 v0.7.1-rc1 v0.7.1-rc1+pro v0.7.1-rc1+ent v0.7.0 v0.7.0+pro v0.7.0+ent v0.7.0-rc3 v0.7.0-rc2 v0.7.0-rc1 v0.7.0-beta1 v0.6.3 v0.6.3-rc1 v0.6.2 v0.6.1 v0.6.0 v0.6.0-rc2 v0.6.0-rc1 v0.5.6 v0.5.6-rc1 v0.5.5 v0.5.5-rc2 nightly
No related merge requests found
Showing with 12 additions and 13 deletions
+12 -13
......@@ -242,7 +242,7 @@ func TestJobs_Canonicalize(t *testing.T) {
},
},
},
Services: []Service{
Services: []*Service{
{
Name: "global-redis-check",
Tags: []string{"global", "cache"},
......@@ -327,7 +327,7 @@ func TestJobs_Canonicalize(t *testing.T) {
},
},
},
Services: []Service{
Services: []*Service{
{
Name: "global-redis-check",
Tags: []string{"global", "cache"},
......
......@@ -46,7 +46,7 @@ func MockJob() *Job {
Env: map[string]string{
"FOO": "bar",
},
Services: []Service{
Services: []*Service{
{
Name: "${TASK}-frontend",
PortLabel: "http",
......
......@@ -255,7 +255,7 @@ type Task struct {
Config map[string]interface{}
Constraints []*Constraint
Env map[string]string
Services []Service
Services []*Service
Resources *Resources
Meta map[string]string
KillTimeout *time.Duration `mapstructure:"kill_timeout"`
......@@ -268,10 +268,6 @@ type Task struct {
}
func (t *Task) Canonicalize(tg *TaskGroup, job *Job) {
for _, s := range t.Services {
s.Canonicalize(t, tg, job)
}
min := MinResources()
min.Merge(t.Resources)
min.Canonicalize()
......@@ -294,6 +290,9 @@ func (t *Task) Canonicalize(tg *TaskGroup, job *Job) {
for _, tmpl := range t.Templates {
tmpl.Canonicalize()
}
for _, s := range t.Services {
s.Canonicalize(t, tg, job)
}
}
// TaskArtifact is used to download artifacts before running a task.
......
......@@ -765,7 +765,7 @@ func TestJobs_ApiJobToStructsJob(t *testing.T) {
},
},
Services: []api.Service{
Services: []*api.Service{
{
Id: "id",
Name: "serviceA",
......
......@@ -898,7 +898,7 @@ func parseTemplates(result *[]*api.Template, list *ast.ObjectList) error {
}
func parseServices(jobName string, taskGroupName string, task *api.Task, serviceObjs *ast.ObjectList) error {
task.Services = make([]api.Service, len(serviceObjs.Items))
task.Services = make([]*api.Service, len(serviceObjs.Items))
for idx, o := range serviceObjs.Items {
// Check for invalid keys
valid := []string{
......@@ -937,7 +937,7 @@ func parseServices(jobName string, taskGroupName string, task *api.Task, service
}
}
task.Services[idx] = service
task.Services[idx] = &service
}
return nil
......
......@@ -105,7 +105,7 @@ func TestParse(t *testing.T) {
},
},
},
Services: []api.Service{
Services: []*api.Service{
{
Tags: []string{"foo", "bar"},
PortLabel: "http",
......@@ -410,7 +410,7 @@ func TestParse(t *testing.T) {
Tasks: []*api.Task{
&api.Task{
Name: "task",
Services: []api.Service{
Services: []*api.Service{
{
Tags: []string{"foo", "bar"},
PortLabel: "http",
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment