mirror of
https://github.com/kemko/nomad.git
synced 2026-01-06 10:25:42 +03:00
@@ -142,98 +142,98 @@ func TestAgents_Sort(t *testing.T) {
|
||||
}{
|
||||
{
|
||||
[]*AgentMember{
|
||||
&AgentMember{Name: "nomad-2.vac.us-east",
|
||||
{Name: "nomad-2.vac.us-east",
|
||||
Tags: map[string]string{"region": "us-east", "dc": "us-east-1c"}},
|
||||
&AgentMember{Name: "nomad-1.global",
|
||||
{Name: "nomad-1.global",
|
||||
Tags: map[string]string{"region": "global", "dc": "dc1"}},
|
||||
&AgentMember{Name: "nomad-1.vac.us-east",
|
||||
{Name: "nomad-1.vac.us-east",
|
||||
Tags: map[string]string{"region": "us-east", "dc": "us-east-1c"}},
|
||||
},
|
||||
[]*AgentMember{
|
||||
&AgentMember{Name: "nomad-1.global",
|
||||
{Name: "nomad-1.global",
|
||||
Tags: map[string]string{"region": "global", "dc": "dc1"}},
|
||||
&AgentMember{Name: "nomad-1.vac.us-east",
|
||||
{Name: "nomad-1.vac.us-east",
|
||||
Tags: map[string]string{"region": "us-east", "dc": "us-east-1c"}},
|
||||
&AgentMember{Name: "nomad-2.vac.us-east",
|
||||
{Name: "nomad-2.vac.us-east",
|
||||
Tags: map[string]string{"region": "us-east", "dc": "us-east-1c"}},
|
||||
},
|
||||
},
|
||||
{
|
||||
[]*AgentMember{
|
||||
&AgentMember{Name: "nomad-02.tam.us-east",
|
||||
{Name: "nomad-02.tam.us-east",
|
||||
Tags: map[string]string{"region": "us-east", "dc": "tampa"}},
|
||||
&AgentMember{Name: "nomad-02.pal.us-west",
|
||||
{Name: "nomad-02.pal.us-west",
|
||||
Tags: map[string]string{"region": "us-west", "dc": "palo_alto"}},
|
||||
&AgentMember{Name: "nomad-01.pal.us-west",
|
||||
{Name: "nomad-01.pal.us-west",
|
||||
Tags: map[string]string{"region": "us-west", "dc": "palo_alto"}},
|
||||
&AgentMember{Name: "nomad-01.tam.us-east",
|
||||
{Name: "nomad-01.tam.us-east",
|
||||
Tags: map[string]string{"region": "us-east", "dc": "tampa"}},
|
||||
},
|
||||
[]*AgentMember{
|
||||
&AgentMember{Name: "nomad-01.tam.us-east",
|
||||
{Name: "nomad-01.tam.us-east",
|
||||
Tags: map[string]string{"region": "us-east", "dc": "tampa"}},
|
||||
&AgentMember{Name: "nomad-02.tam.us-east",
|
||||
{Name: "nomad-02.tam.us-east",
|
||||
Tags: map[string]string{"region": "us-east", "dc": "tampa"}},
|
||||
&AgentMember{Name: "nomad-01.pal.us-west",
|
||||
{Name: "nomad-01.pal.us-west",
|
||||
Tags: map[string]string{"region": "us-west", "dc": "palo_alto"}},
|
||||
&AgentMember{Name: "nomad-02.pal.us-west",
|
||||
{Name: "nomad-02.pal.us-west",
|
||||
Tags: map[string]string{"region": "us-west", "dc": "palo_alto"}},
|
||||
},
|
||||
},
|
||||
{
|
||||
[]*AgentMember{
|
||||
&AgentMember{Name: "nomad-02.tam.us-east",
|
||||
{Name: "nomad-02.tam.us-east",
|
||||
Tags: map[string]string{"region": "us-east", "dc": "tampa"}},
|
||||
&AgentMember{Name: "nomad-02.ams.europe",
|
||||
{Name: "nomad-02.ams.europe",
|
||||
Tags: map[string]string{"region": "europe", "dc": "amsterdam"}},
|
||||
&AgentMember{Name: "nomad-01.tam.us-east",
|
||||
{Name: "nomad-01.tam.us-east",
|
||||
Tags: map[string]string{"region": "us-east", "dc": "tampa"}},
|
||||
&AgentMember{Name: "nomad-01.ams.europe",
|
||||
{Name: "nomad-01.ams.europe",
|
||||
Tags: map[string]string{"region": "europe", "dc": "amsterdam"}},
|
||||
},
|
||||
[]*AgentMember{
|
||||
&AgentMember{Name: "nomad-01.ams.europe",
|
||||
{Name: "nomad-01.ams.europe",
|
||||
Tags: map[string]string{"region": "europe", "dc": "amsterdam"}},
|
||||
&AgentMember{Name: "nomad-02.ams.europe",
|
||||
{Name: "nomad-02.ams.europe",
|
||||
Tags: map[string]string{"region": "europe", "dc": "amsterdam"}},
|
||||
&AgentMember{Name: "nomad-01.tam.us-east",
|
||||
{Name: "nomad-01.tam.us-east",
|
||||
Tags: map[string]string{"region": "us-east", "dc": "tampa"}},
|
||||
&AgentMember{Name: "nomad-02.tam.us-east",
|
||||
{Name: "nomad-02.tam.us-east",
|
||||
Tags: map[string]string{"region": "us-east", "dc": "tampa"}},
|
||||
},
|
||||
},
|
||||
{
|
||||
[]*AgentMember{
|
||||
&AgentMember{Name: "nomad-02.ber.europe",
|
||||
{Name: "nomad-02.ber.europe",
|
||||
Tags: map[string]string{"region": "europe", "dc": "berlin"}},
|
||||
&AgentMember{Name: "nomad-02.ams.europe",
|
||||
{Name: "nomad-02.ams.europe",
|
||||
Tags: map[string]string{"region": "europe", "dc": "amsterdam"}},
|
||||
&AgentMember{Name: "nomad-01.ams.europe",
|
||||
{Name: "nomad-01.ams.europe",
|
||||
Tags: map[string]string{"region": "europe", "dc": "amsterdam"}},
|
||||
&AgentMember{Name: "nomad-01.ber.europe",
|
||||
{Name: "nomad-01.ber.europe",
|
||||
Tags: map[string]string{"region": "europe", "dc": "berlin"}},
|
||||
},
|
||||
[]*AgentMember{
|
||||
&AgentMember{Name: "nomad-01.ams.europe",
|
||||
{Name: "nomad-01.ams.europe",
|
||||
Tags: map[string]string{"region": "europe", "dc": "amsterdam"}},
|
||||
&AgentMember{Name: "nomad-02.ams.europe",
|
||||
{Name: "nomad-02.ams.europe",
|
||||
Tags: map[string]string{"region": "europe", "dc": "amsterdam"}},
|
||||
&AgentMember{Name: "nomad-01.ber.europe",
|
||||
{Name: "nomad-01.ber.europe",
|
||||
Tags: map[string]string{"region": "europe", "dc": "berlin"}},
|
||||
&AgentMember{Name: "nomad-02.ber.europe",
|
||||
{Name: "nomad-02.ber.europe",
|
||||
Tags: map[string]string{"region": "europe", "dc": "berlin"}},
|
||||
},
|
||||
},
|
||||
{
|
||||
[]*AgentMember{
|
||||
&AgentMember{Name: "nomad-1.global"},
|
||||
&AgentMember{Name: "nomad-3.global"},
|
||||
&AgentMember{Name: "nomad-2.global"},
|
||||
{Name: "nomad-1.global"},
|
||||
{Name: "nomad-3.global"},
|
||||
{Name: "nomad-2.global"},
|
||||
},
|
||||
[]*AgentMember{
|
||||
&AgentMember{Name: "nomad-1.global"},
|
||||
&AgentMember{Name: "nomad-2.global"},
|
||||
&AgentMember{Name: "nomad-3.global"},
|
||||
{Name: "nomad-1.global"},
|
||||
{Name: "nomad-2.global"},
|
||||
{Name: "nomad-3.global"},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -104,16 +104,16 @@ func TestAllocations_PrefixList(t *testing.T) {
|
||||
func TestAllocations_CreateIndexSort(t *testing.T) {
|
||||
t.Parallel()
|
||||
allocs := []*AllocationListStub{
|
||||
&AllocationListStub{CreateIndex: 2},
|
||||
&AllocationListStub{CreateIndex: 1},
|
||||
&AllocationListStub{CreateIndex: 5},
|
||||
{CreateIndex: 2},
|
||||
{CreateIndex: 1},
|
||||
{CreateIndex: 5},
|
||||
}
|
||||
sort.Sort(AllocIndexSort(allocs))
|
||||
|
||||
expect := []*AllocationListStub{
|
||||
&AllocationListStub{CreateIndex: 5},
|
||||
&AllocationListStub{CreateIndex: 2},
|
||||
&AllocationListStub{CreateIndex: 1},
|
||||
{CreateIndex: 5},
|
||||
{CreateIndex: 2},
|
||||
{CreateIndex: 1},
|
||||
}
|
||||
if !reflect.DeepEqual(allocs, expect) {
|
||||
t.Fatalf("\n\n%#v\n\n%#v", allocs, expect)
|
||||
|
||||
@@ -20,7 +20,7 @@ func TestCompose(t *testing.T) {
|
||||
DiskMB: helper.IntToPtr(2048),
|
||||
IOPS: helper.IntToPtr(500),
|
||||
Networks: []*NetworkResource{
|
||||
&NetworkResource{
|
||||
{
|
||||
CIDR: "0.0.0.0/0",
|
||||
MBits: helper.IntToPtr(100),
|
||||
ReservedPorts: []Port{{"", 80}, {"", 443}},
|
||||
@@ -55,25 +55,25 @@ func TestCompose(t *testing.T) {
|
||||
"foo": "bar",
|
||||
},
|
||||
Constraints: []*Constraint{
|
||||
&Constraint{
|
||||
{
|
||||
LTarget: "kernel.name",
|
||||
RTarget: "linux",
|
||||
Operand: "=",
|
||||
},
|
||||
},
|
||||
TaskGroups: []*TaskGroup{
|
||||
&TaskGroup{
|
||||
{
|
||||
Name: helper.StringToPtr("grp1"),
|
||||
Count: helper.IntToPtr(2),
|
||||
Constraints: []*Constraint{
|
||||
&Constraint{
|
||||
{
|
||||
LTarget: "kernel.name",
|
||||
RTarget: "linux",
|
||||
Operand: "=",
|
||||
},
|
||||
},
|
||||
Tasks: []*Task{
|
||||
&Task{
|
||||
{
|
||||
Name: "task1",
|
||||
Driver: "exec",
|
||||
Resources: &Resources{
|
||||
@@ -82,7 +82,7 @@ func TestCompose(t *testing.T) {
|
||||
DiskMB: helper.IntToPtr(2048),
|
||||
IOPS: helper.IntToPtr(500),
|
||||
Networks: []*NetworkResource{
|
||||
&NetworkResource{
|
||||
{
|
||||
CIDR: "0.0.0.0/0",
|
||||
MBits: helper.IntToPtr(100),
|
||||
ReservedPorts: []Port{
|
||||
@@ -93,7 +93,7 @@ func TestCompose(t *testing.T) {
|
||||
},
|
||||
},
|
||||
Constraints: []*Constraint{
|
||||
&Constraint{
|
||||
{
|
||||
LTarget: "kernel.name",
|
||||
RTarget: "linux",
|
||||
Operand: "=",
|
||||
|
||||
@@ -145,16 +145,16 @@ func TestEvaluations_Allocations(t *testing.T) {
|
||||
func TestEvaluations_Sort(t *testing.T) {
|
||||
t.Parallel()
|
||||
evals := []*Evaluation{
|
||||
&Evaluation{CreateIndex: 2},
|
||||
&Evaluation{CreateIndex: 1},
|
||||
&Evaluation{CreateIndex: 5},
|
||||
{CreateIndex: 2},
|
||||
{CreateIndex: 1},
|
||||
{CreateIndex: 5},
|
||||
}
|
||||
sort.Sort(EvalIndexSort(evals))
|
||||
|
||||
expect := []*Evaluation{
|
||||
&Evaluation{CreateIndex: 5},
|
||||
&Evaluation{CreateIndex: 2},
|
||||
&Evaluation{CreateIndex: 1},
|
||||
{CreateIndex: 5},
|
||||
{CreateIndex: 2},
|
||||
{CreateIndex: 1},
|
||||
}
|
||||
if !reflect.DeepEqual(evals, expect) {
|
||||
t.Fatalf("\n\n%#v\n\n%#v", evals, expect)
|
||||
|
||||
@@ -622,13 +622,13 @@ func TestJobs_EnforceRegister(t *testing.T) {
|
||||
|
||||
// Create a job and attempt to register it with an incorrect index.
|
||||
job := testJob()
|
||||
resp2, wm, err := jobs.EnforceRegister(job, 10, nil)
|
||||
resp2, _, err := jobs.EnforceRegister(job, 10, nil)
|
||||
if err == nil || !strings.Contains(err.Error(), RegisterEnforceIndexErrPrefix) {
|
||||
t.Fatalf("expected enforcement error: %v", err)
|
||||
}
|
||||
|
||||
// Register
|
||||
resp2, wm, err = jobs.EnforceRegister(job, 0, nil)
|
||||
resp2, wm, err := jobs.EnforceRegister(job, 0, nil)
|
||||
if err != nil {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
@@ -655,7 +655,7 @@ func TestJobs_EnforceRegister(t *testing.T) {
|
||||
curIndex := resp[0].JobModifyIndex
|
||||
|
||||
// Fail at incorrect index
|
||||
resp2, wm, err = jobs.EnforceRegister(job, 123456, nil)
|
||||
resp2, _, err = jobs.EnforceRegister(job, 123456, nil)
|
||||
if err == nil || !strings.Contains(err.Error(), RegisterEnforceIndexErrPrefix) {
|
||||
t.Fatalf("expected enforcement error: %v", err)
|
||||
}
|
||||
@@ -699,7 +699,7 @@ func TestJobs_Revert(t *testing.T) {
|
||||
assertWriteMeta(t, wm)
|
||||
|
||||
// Fail revert at incorrect enforce
|
||||
_, wm, err = jobs.Revert(*job.ID, 0, helper.Uint64ToPtr(10), nil)
|
||||
_, _, err = jobs.Revert(*job.ID, 0, helper.Uint64ToPtr(10), nil)
|
||||
if err == nil || !strings.Contains(err.Error(), "enforcing version") {
|
||||
t.Fatalf("expected enforcement error: %v", err)
|
||||
}
|
||||
@@ -1127,6 +1127,7 @@ func TestJobs_Plan(t *testing.T) {
|
||||
if len(planResp.CreatedEvals) == 0 {
|
||||
t.Fatalf("got no CreatedEvals: %#v", planResp)
|
||||
}
|
||||
assertWriteMeta(t, wm)
|
||||
|
||||
// Make a plan request w/o the diff
|
||||
planResp, wm, err = jobs.Plan(job, false, nil)
|
||||
@@ -1263,12 +1264,12 @@ func TestJobs_Constrain(t *testing.T) {
|
||||
// Adding another constraint preserves the original
|
||||
job.Constrain(NewConstraint("memory.totalbytes", ">=", "128000000"))
|
||||
expect := []*Constraint{
|
||||
&Constraint{
|
||||
{
|
||||
LTarget: "kernel.name",
|
||||
RTarget: "darwin",
|
||||
Operand: "=",
|
||||
},
|
||||
&Constraint{
|
||||
{
|
||||
LTarget: "memory.totalbytes",
|
||||
RTarget: "128000000",
|
||||
Operand: ">=",
|
||||
@@ -1282,16 +1283,16 @@ func TestJobs_Constrain(t *testing.T) {
|
||||
func TestJobs_Sort(t *testing.T) {
|
||||
t.Parallel()
|
||||
jobs := []*JobListStub{
|
||||
&JobListStub{ID: "job2"},
|
||||
&JobListStub{ID: "job0"},
|
||||
&JobListStub{ID: "job1"},
|
||||
{ID: "job2"},
|
||||
{ID: "job0"},
|
||||
{ID: "job1"},
|
||||
}
|
||||
sort.Sort(JobIDSort(jobs))
|
||||
|
||||
expect := []*JobListStub{
|
||||
&JobListStub{ID: "job0"},
|
||||
&JobListStub{ID: "job1"},
|
||||
&JobListStub{ID: "job2"},
|
||||
{ID: "job0"},
|
||||
{ID: "job1"},
|
||||
{ID: "job2"},
|
||||
}
|
||||
if !reflect.DeepEqual(jobs, expect) {
|
||||
t.Fatalf("\n\n%#v\n\n%#v", jobs, expect)
|
||||
|
||||
@@ -17,14 +17,14 @@ func MockJob() *Job {
|
||||
AllAtOnce: helper.BoolToPtr(false),
|
||||
Datacenters: []string{"dc1"},
|
||||
Constraints: []*Constraint{
|
||||
&Constraint{
|
||||
{
|
||||
LTarget: "${attr.kernel.name}",
|
||||
RTarget: "linux",
|
||||
Operand: "=",
|
||||
},
|
||||
},
|
||||
TaskGroups: []*TaskGroup{
|
||||
&TaskGroup{
|
||||
{
|
||||
Name: helper.StringToPtr("web"),
|
||||
Count: helper.IntToPtr(10),
|
||||
EphemeralDisk: &EphemeralDisk{
|
||||
@@ -37,7 +37,7 @@ func MockJob() *Job {
|
||||
Mode: helper.StringToPtr("delay"),
|
||||
},
|
||||
Tasks: []*Task{
|
||||
&Task{
|
||||
{
|
||||
Name: "web",
|
||||
Driver: "exec",
|
||||
Config: map[string]interface{}{
|
||||
@@ -72,7 +72,7 @@ func MockJob() *Job {
|
||||
CPU: helper.IntToPtr(500),
|
||||
MemoryMB: helper.IntToPtr(256),
|
||||
Networks: []*NetworkResource{
|
||||
&NetworkResource{
|
||||
{
|
||||
MBits: helper.IntToPtr(50),
|
||||
DynamicPorts: []Port{{Label: "http"}, {Label: "admin"}},
|
||||
},
|
||||
|
||||
@@ -22,7 +22,7 @@ func (n *Nodes) List(q *QueryOptions) ([]*NodeListStub, *QueryMeta, error) {
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
sort.Sort(NodeIndexSort(resp))
|
||||
sort.Sort(resp)
|
||||
return resp, qm, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -260,16 +260,16 @@ func TestNodes_ForceEvaluate(t *testing.T) {
|
||||
func TestNodes_Sort(t *testing.T) {
|
||||
t.Parallel()
|
||||
nodes := []*NodeListStub{
|
||||
&NodeListStub{CreateIndex: 2},
|
||||
&NodeListStub{CreateIndex: 1},
|
||||
&NodeListStub{CreateIndex: 5},
|
||||
{CreateIndex: 2},
|
||||
{CreateIndex: 1},
|
||||
{CreateIndex: 5},
|
||||
}
|
||||
sort.Sort(NodeIndexSort(nodes))
|
||||
|
||||
expect := []*NodeListStub{
|
||||
&NodeListStub{CreateIndex: 5},
|
||||
&NodeListStub{CreateIndex: 2},
|
||||
&NodeListStub{CreateIndex: 1},
|
||||
{CreateIndex: 5},
|
||||
{CreateIndex: 2},
|
||||
{CreateIndex: 1},
|
||||
}
|
||||
if !reflect.DeepEqual(nodes, expect) {
|
||||
t.Fatalf("\n\n%#v\n\n%#v", nodes, expect)
|
||||
|
||||
@@ -75,7 +75,7 @@ func (op *Operator) RaftRemovePeerByAddress(address string, q *WriteOptions) err
|
||||
|
||||
// TODO (alexdadgar) Currently we made address a query parameter. Once
|
||||
// IDs are in place this will be DELETE /v1/operator/raft/peer/<id>.
|
||||
r.params.Set("address", string(address))
|
||||
r.params.Set("address", address)
|
||||
|
||||
_, resp, err := requireOK(op.c.doRequest(r))
|
||||
if err != nil {
|
||||
|
||||
@@ -38,12 +38,12 @@ func TestTaskGroup_Constrain(t *testing.T) {
|
||||
// Add a second constraint
|
||||
grp.Constrain(NewConstraint("memory.totalbytes", ">=", "128000000"))
|
||||
expect := []*Constraint{
|
||||
&Constraint{
|
||||
{
|
||||
LTarget: "kernel.name",
|
||||
RTarget: "darwin",
|
||||
Operand: "=",
|
||||
},
|
||||
&Constraint{
|
||||
{
|
||||
LTarget: "memory.totalbytes",
|
||||
RTarget: "128000000",
|
||||
Operand: ">=",
|
||||
@@ -95,11 +95,11 @@ func TestTaskGroup_AddTask(t *testing.T) {
|
||||
// Add a second task
|
||||
grp.AddTask(NewTask("task2", "exec"))
|
||||
expect := []*Task{
|
||||
&Task{
|
||||
{
|
||||
Name: "task1",
|
||||
Driver: "java",
|
||||
},
|
||||
&Task{
|
||||
{
|
||||
Name: "task2",
|
||||
Driver: "exec",
|
||||
},
|
||||
@@ -178,7 +178,7 @@ func TestTask_Require(t *testing.T) {
|
||||
DiskMB: helper.IntToPtr(2048),
|
||||
IOPS: helper.IntToPtr(500),
|
||||
Networks: []*NetworkResource{
|
||||
&NetworkResource{
|
||||
{
|
||||
CIDR: "0.0.0.0/0",
|
||||
MBits: helper.IntToPtr(100),
|
||||
ReservedPorts: []Port{{"", 80}, {"", 443}},
|
||||
@@ -214,12 +214,12 @@ func TestTask_Constrain(t *testing.T) {
|
||||
// Add a second constraint
|
||||
task.Constrain(NewConstraint("memory.totalbytes", ">=", "128000000"))
|
||||
expect := []*Constraint{
|
||||
&Constraint{
|
||||
{
|
||||
LTarget: "kernel.name",
|
||||
RTarget: "darwin",
|
||||
Operand: "=",
|
||||
},
|
||||
&Constraint{
|
||||
{
|
||||
LTarget: "memory.totalbytes",
|
||||
RTarget: "128000000",
|
||||
Operand: ">=",
|
||||
|
||||
Reference in New Issue
Block a user