From 54838b9eba5df8a71e840e72a4711f9b49d2902b Mon Sep 17 00:00:00 2001 From: Sean Chittenden Date: Wed, 8 Jun 2016 02:20:10 -0400 Subject: [PATCH] Rename structs.Task's `Service` attribute to `ConsulService` --- client/client.go | 2 +- client/client_test.go | 1 - client/driver/executor/executor.go | 6 +++--- client/driver/executor/executor_test.go | 12 ++++++------ command/agent/consul/sync_test.go | 6 +++--- jobspec/parse.go | 4 ++-- jobspec/parse_test.go | 2 +- nomad/job_endpoint_test.go | 10 +++++----- nomad/mock/mock.go | 2 +- nomad/structs/diff.go | 2 +- nomad/structs/diff_test.go | 16 ++++++++-------- nomad/structs/structs.go | 16 ++++++++-------- nomad/structs/structs_test.go | 10 +++++----- scheduler/util_test.go | 4 ++-- 14 files changed, 46 insertions(+), 47 deletions(-) diff --git a/client/client.go b/client/client.go index 3788fdfd1..3af148c3d 100644 --- a/client/client.go +++ b/client/client.go @@ -1299,7 +1299,7 @@ func (c *Client) setupConsulSyncer() error { for taskName, taskState := range taskStates { if taskState.State == structs.TaskStateRunning { if tr, ok := ar.tasks[taskName]; ok { - for _, service := range tr.task.Services { + for _, service := range tr.task.ConsulServices { svcIdentifier := fmt.Sprintf("%s-%s", allocId, tr.task.Name) services[service.ID(svcIdentifier)] = struct{}{} } diff --git a/client/client_test.go b/client/client_test.go index 758d3cb7b..36e3ae169 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -12,7 +12,6 @@ import ( "time" "github.com/hashicorp/nomad/client/config" - "github.com/hashicorp/nomad/client/consul" "github.com/hashicorp/nomad/command/agent/consul" "github.com/hashicorp/nomad/nomad" "github.com/hashicorp/nomad/nomad/mock" diff --git a/client/driver/executor/executor.go b/client/driver/executor/executor.go index d6901ac95..0196650a8 100644 --- a/client/driver/executor/executor.go +++ b/client/driver/executor/executor.go @@ -359,7 +359,7 @@ func (e *UniversalExecutor) UpdateTask(task *structs.Task) error { // Re-syncing task with Consul agent if e.consulSyncer != nil { - e.consulSyncer.SetServices(servicesGroupName, task.Services) + e.consulSyncer.SetServices(servicesGroupName, task.ConsulServices) } return nil } @@ -487,7 +487,7 @@ func (e *UniversalExecutor) SyncServices(ctx *ConsulContext) error { if e.ctx != nil { syncerFn := func() error { e.interpolateServices(e.ctx.Task) - e.consulSyncer.SetServices(e.ctx.AllocID, e.ctx.Task.Services) + e.consulSyncer.SetServices(e.ctx.AllocID, e.ctx.Task.ConsulServices) return nil } e.consulSyncer.AddPeriodicHandler(e.ctx.AllocID, syncerFn) @@ -690,7 +690,7 @@ func (e *UniversalExecutor) createCheck(check *structs.ServiceCheck, checkID str // task's environment. func (e *UniversalExecutor) interpolateServices(task *structs.Task) { e.ctx.TaskEnv.Build() - for _, service := range task.Services { + for _, service := range task.ConsulServices { for _, check := range service.Checks { if check.Type == structs.ServiceCheckScript { check.Name = e.ctx.TaskEnv.ReplaceEnv(check.Name) diff --git a/client/driver/executor/executor_test.go b/client/driver/executor/executor_test.go index de479970e..ad96a4c50 100644 --- a/client/driver/executor/executor_test.go +++ b/client/driver/executor/executor_test.go @@ -338,18 +338,18 @@ func TestExecutorInterpolateServices(t *testing.T) { executor.(*UniversalExecutor).ctx = ctx executor.(*UniversalExecutor).interpolateServices(task) expectedTags := []string{"pci:true", "datacenter:dc1"} - if !reflect.DeepEqual(task.Services[0].Tags, expectedTags) { - t.Fatalf("expected: %v, actual: %v", expectedTags, task.Services[0].Tags) + if !reflect.DeepEqual(task.ConsulServices[0].Tags, expectedTags) { + t.Fatalf("expected: %v, actual: %v", expectedTags, task.ConsulServices[0].Tags) } expectedCheckCmd := "/usr/local/check-table-mysql" expectedCheckArgs := []string{"5.6"} - if !reflect.DeepEqual(task.Services[0].Checks[0].Command, expectedCheckCmd) { - t.Fatalf("expected: %v, actual: %v", expectedCheckCmd, task.Services[0].Checks[0].Command) + if !reflect.DeepEqual(task.ConsulServices[0].Checks[0].Command, expectedCheckCmd) { + t.Fatalf("expected: %v, actual: %v", expectedCheckCmd, task.ConsulServices[0].Checks[0].Command) } - if !reflect.DeepEqual(task.Services[0].Checks[0].Args, expectedCheckArgs) { - t.Fatalf("expected: %v, actual: %v", expectedCheckArgs, task.Services[0].Checks[0].Args) + if !reflect.DeepEqual(task.ConsulServices[0].Checks[0].Args, expectedCheckArgs) { + t.Fatalf("expected: %v, actual: %v", expectedCheckArgs, task.ConsulServices[0].Checks[0].Args) } } diff --git a/command/agent/consul/sync_test.go b/command/agent/consul/sync_test.go index e06d5713a..3773dd00d 100644 --- a/command/agent/consul/sync_test.go +++ b/command/agent/consul/sync_test.go @@ -90,7 +90,7 @@ func TestConsulServiceUpdateService(t *testing.T) { //Update Service defn 1 newTags := []string{"tag3"} - task.Services[0].Tags = newTags + task.ConsulServices[0].Tags = newTags if err := cs.SyncServices(); err != nil { t.Fatalf("err: %v", err) } @@ -147,8 +147,8 @@ func checksPresent(t *testing.T, checkIDs []string, syncer *Syncer) error { func mockTask() *structs.Task { task := structs.Task{ - Name: "foo", - Services: []*structs.ConsulService{&service1, &service2}, + Name: "foo", + ConsulServices: []*structs.ConsulService{&service1, &service2}, Resources: &structs.Resources{ Networks: []*structs.NetworkResource{ &structs.NetworkResource{ diff --git a/jobspec/parse.go b/jobspec/parse.go index c951f270f..99dbd6676 100644 --- a/jobspec/parse.go +++ b/jobspec/parse.go @@ -701,7 +701,7 @@ func parseArtifactOption(result map[string]string, list *ast.ObjectList) error { } func parseServices(jobName string, taskGroupName string, task *structs.Task, serviceObjs *ast.ObjectList) error { - task.Services = make([]*structs.ConsulService, len(serviceObjs.Items)) + task.ConsulServices = make([]*structs.ConsulService, len(serviceObjs.Items)) var defaultServiceName bool for idx, o := range serviceObjs.Items { // Check for invalid keys @@ -750,7 +750,7 @@ func parseServices(jobName string, taskGroupName string, task *structs.Task, ser } } - task.Services[idx] = &service + task.ConsulServices[idx] = &service } return nil diff --git a/jobspec/parse_test.go b/jobspec/parse_test.go index 35518dc9e..e2119668e 100644 --- a/jobspec/parse_test.go +++ b/jobspec/parse_test.go @@ -97,7 +97,7 @@ func TestParse(t *testing.T) { }, }, }, - Services: []*structs.ConsulService{ + ConsulServices: []*structs.ConsulService{ { Name: "binstore-storagelocker-binsl-binstore", Tags: []string{"foo", "bar"}, diff --git a/nomad/job_endpoint_test.go b/nomad/job_endpoint_test.go index 339b13439..5aab5ee89 100644 --- a/nomad/job_endpoint_test.go +++ b/nomad/job_endpoint_test.go @@ -48,7 +48,7 @@ func TestJobEndpoint_Register(t *testing.T) { if out.CreateIndex != resp.JobModifyIndex { t.Fatalf("index mis-match") } - serviceName := out.TaskGroups[0].Tasks[0].Services[0].Name + serviceName := out.TaskGroups[0].Tasks[0].ConsulServices[0].Name expectedServiceName := "web-frontend" if serviceName != expectedServiceName { t.Fatalf("Expected Service Name: %s, Actual: %s", expectedServiceName, serviceName) @@ -237,7 +237,7 @@ func TestJobEndpoint_Register_Periodic(t *testing.T) { if out.CreateIndex != resp.JobModifyIndex { t.Fatalf("index mis-match") } - serviceName := out.TaskGroups[0].Tasks[0].Services[0].Name + serviceName := out.TaskGroups[0].Tasks[0].ConsulServices[0].Name expectedServiceName := "web-frontend" if serviceName != expectedServiceName { t.Fatalf("Expected Service Name: %s, Actual: %s", expectedServiceName, serviceName) @@ -573,12 +573,12 @@ func TestJobEndpoint_GetJob(t *testing.T) { // Make a copy of the origin job and change the service name so that we can // do a deep equal with the response from the GET JOB Api j := job - j.TaskGroups[0].Tasks[0].Services[0].Name = "web-frontend" + j.TaskGroups[0].Tasks[0].ConsulServices[0].Name = "web-frontend" for tgix, tg := range j.TaskGroups { for tidx, t := range tg.Tasks { - for sidx, service := range t.Services { + for sidx, service := range t.ConsulServices { for cidx, check := range service.Checks { - check.Name = resp2.Job.TaskGroups[tgix].Tasks[tidx].Services[sidx].Checks[cidx].Name + check.Name = resp2.Job.TaskGroups[tgix].Tasks[tidx].ConsulServices[sidx].Checks[cidx].Name } } } diff --git a/nomad/mock/mock.go b/nomad/mock/mock.go index 7e5a5fedc..1f7b64dee 100644 --- a/nomad/mock/mock.go +++ b/nomad/mock/mock.go @@ -94,7 +94,7 @@ func Job() *structs.Job { Env: map[string]string{ "FOO": "bar", }, - Services: []*structs.ConsulService{ + ConsulServices: []*structs.ConsulService{ { Name: "${TASK}-frontend", PortLabel: "http", diff --git a/nomad/structs/diff.go b/nomad/structs/diff.go index 812b41adf..4d59d2b5a 100644 --- a/nomad/structs/diff.go +++ b/nomad/structs/diff.go @@ -386,7 +386,7 @@ func (t *Task) Diff(other *Task, contextual bool) (*TaskDiff, error) { } // Services diff - if sDiffs := serviceDiffs(t.Services, other.Services, contextual); sDiffs != nil { + if sDiffs := serviceDiffs(t.ConsulServices, other.ConsulServices, contextual); sDiffs != nil { diff.Objects = append(diff.Objects, sDiffs...) } diff --git a/nomad/structs/diff_test.go b/nomad/structs/diff_test.go index 5808cebc9..d56971f72 100644 --- a/nomad/structs/diff_test.go +++ b/nomad/structs/diff_test.go @@ -2363,7 +2363,7 @@ func TestTaskDiff(t *testing.T) { { // Services edited (no checks) Old: &Task{ - Services: []*ConsulService{ + ConsulServices: []*ConsulService{ { Name: "foo", PortLabel: "foo", @@ -2379,7 +2379,7 @@ func TestTaskDiff(t *testing.T) { }, }, New: &Task{ - Services: []*ConsulService{ + ConsulServices: []*ConsulService{ { Name: "bar", PortLabel: "bar", @@ -2452,7 +2452,7 @@ func TestTaskDiff(t *testing.T) { // Services edited (no checks) with context Contextual: true, Old: &Task{ - Services: []*ConsulService{ + ConsulServices: []*ConsulService{ { Name: "foo", PortLabel: "foo", @@ -2460,7 +2460,7 @@ func TestTaskDiff(t *testing.T) { }, }, New: &Task{ - Services: []*ConsulService{ + ConsulServices: []*ConsulService{ { Name: "foo", PortLabel: "bar", @@ -2494,7 +2494,7 @@ func TestTaskDiff(t *testing.T) { { // Service Checks edited Old: &Task{ - Services: []*ConsulService{ + ConsulServices: []*ConsulService{ { Name: "foo", Checks: []*ServiceCheck{ @@ -2533,7 +2533,7 @@ func TestTaskDiff(t *testing.T) { }, }, New: &Task{ - Services: []*ConsulService{ + ConsulServices: []*ConsulService{ { Name: "foo", Checks: []*ServiceCheck{ @@ -2695,7 +2695,7 @@ func TestTaskDiff(t *testing.T) { // Service Checks edited with context Contextual: true, Old: &Task{ - Services: []*ConsulService{ + ConsulServices: []*ConsulService{ { Name: "foo", Checks: []*ServiceCheck{ @@ -2714,7 +2714,7 @@ func TestTaskDiff(t *testing.T) { }, }, New: &Task{ - Services: []*ConsulService{ + ConsulServices: []*ConsulService{ { Name: "foo", Checks: []*ServiceCheck{ diff --git a/nomad/structs/structs.go b/nomad/structs/structs.go index aa74d06ac..a6d4df8ee 100644 --- a/nomad/structs/structs.go +++ b/nomad/structs/structs.go @@ -1688,7 +1688,7 @@ type Task struct { Env map[string]string // List of service definitions exposed by the Task - Services []*ConsulService + ConsulServices []*ConsulService // Constraints can be specified at a task level and apply only to // the particular task. @@ -1721,12 +1721,12 @@ func (t *Task) Copy() *Task { *nt = *t nt.Env = CopyMapStringString(nt.Env) - if t.Services != nil { - services := make([]*ConsulService, len(nt.Services)) - for i, s := range nt.Services { + if t.ConsulServices != nil { + services := make([]*ConsulService, len(nt.ConsulServices)) + for i, s := range nt.ConsulServices { services[i] = s.Copy() } - nt.Services = services + nt.ConsulServices = services } nt.Constraints = CopySliceConstraints(nt.Constraints) @@ -1763,7 +1763,7 @@ func (t *Task) InitFields(job *Job, tg *TaskGroup) { // and Tasks in all the service Names of a Task. This also generates the service // id, check id and check names. func (t *Task) InitServiceFields(job string, taskGroup string) { - for _, service := range t.Services { + for _, service := range t.ConsulServices { service.InitFields(job, taskGroup, t.Name) } } @@ -1860,7 +1860,7 @@ func validateServices(t *Task) error { // unique. servicePorts := make(map[string][]string) knownServices := make(map[string]struct{}) - for i, service := range t.Services { + for i, service := range t.ConsulServices { if err := service.Validate(); err != nil { outer := fmt.Errorf("service %d validation failed: %s", i, err) mErr.Errors = append(mErr.Errors, outer) @@ -2448,7 +2448,7 @@ func (a *Allocation) PopulateServiceIDs(tg *TaskGroup) { a.Services = make(map[string]string) for _, task := range tg.Tasks { - for _, service := range task.Services { + for _, service := range task.ConsulServices { // Retain the service if an ID is already generated if id, ok := previous[service.Name]; ok { a.Services[service.Name] = id diff --git a/nomad/structs/structs_test.go b/nomad/structs/structs_test.go index f3b505544..5c56e9ff1 100644 --- a/nomad/structs/structs_test.go +++ b/nomad/structs/structs_test.go @@ -136,7 +136,7 @@ func testJob() *Job { GetterSource: "http://foo.com", }, }, - Services: []*ConsulService{ + ConsulServices: []*ConsulService{ { Name: "${TASK}-frontend", PortLabel: "http", @@ -311,7 +311,7 @@ func TestTask_Validate_Services(t *testing.T) { MemoryMB: 100, IOPS: 10, }, - Services: []*ConsulService{s1, s2}, + ConsulServices: []*ConsulService{s1, s2}, } err := task.Validate() if err == nil { @@ -722,7 +722,7 @@ func TestJob_ExpandServiceNames(t *testing.T) { Tasks: []*Task{ { Name: "frontend", - Services: []*ConsulService{ + ConsulServices: []*ConsulService{ { Name: "${BASE}-default", }, @@ -746,12 +746,12 @@ func TestJob_ExpandServiceNames(t *testing.T) { j.InitFields() - service1Name := j.TaskGroups[0].Tasks[0].Services[0].Name + service1Name := j.TaskGroups[0].Tasks[0].ConsulServices[0].Name if service1Name != "my-job-web-frontend-default" { t.Fatalf("Expected Service Name: %s, Actual: %s", "my-job-web-frontend-default", service1Name) } - service2Name := j.TaskGroups[0].Tasks[0].Services[1].Name + service2Name := j.TaskGroups[0].Tasks[0].ConsulServices[1].Name if service2Name != "jmx" { t.Fatalf("Expected Service Name: %s, Actual: %s", "jmx", service2Name) } diff --git a/scheduler/util_test.go b/scheduler/util_test.go index da9e8706d..130edce76 100644 --- a/scheduler/util_test.go +++ b/scheduler/util_test.go @@ -691,10 +691,10 @@ func TestInplaceUpdate_Success(t *testing.T) { } // Delete service 2 - tg.Tasks[0].Services = tg.Tasks[0].Services[:1] + tg.Tasks[0].ConsulServices = tg.Tasks[0].ConsulServices[:1] // Add the new services - tg.Tasks[0].Services = append(tg.Tasks[0].Services, newServices...) + tg.Tasks[0].ConsulServices = append(tg.Tasks[0].ConsulServices, newServices...) updates := []allocTuple{{Alloc: alloc, TaskGroup: tg}} stack := NewGenericStack(false, ctx)