mirror of
https://github.com/kemko/nomad.git
synced 2026-01-07 10:55:42 +03:00
Rename structs.Task's Service attribute to ConsulService
This commit is contained in:
@@ -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{}{}
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -97,7 +97,7 @@ func TestParse(t *testing.T) {
|
||||
},
|
||||
},
|
||||
},
|
||||
Services: []*structs.ConsulService{
|
||||
ConsulServices: []*structs.ConsulService{
|
||||
{
|
||||
Name: "binstore-storagelocker-binsl-binstore",
|
||||
Tags: []string{"foo", "bar"},
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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...)
|
||||
}
|
||||
|
||||
|
||||
@@ -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{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user