Merge pull request #2494 from hashicorp/b-2491-task-env
Don't take a reference a var in a loop
This commit is contained in:
commit
33ed383911
|
@ -10,6 +10,7 @@ BUG FIXES:
|
|||
* api: Fix TLS in logs and fs commands/APIs [GH-2290]
|
||||
* cli/plan: Fix diff alignment and remove no change DC output [GH-2465]
|
||||
* client: Fix panic when restarting non-running tasks [GH-2480]
|
||||
* client: Fix env vars when multiple tasks and ports present [GH-2491]
|
||||
* client: Fix `user` attribute disregarding membership of non-main group
|
||||
[GH-2461]
|
||||
* client/vault: Stop Vault token renewal on task exit [GH-2495]
|
||||
|
|
6
client/driver/env/env.go
vendored
6
client/driver/env/env.go
vendored
|
@ -203,12 +203,12 @@ func (t *TaskEnvironment) Build() *TaskEnvironment {
|
|||
continue
|
||||
}
|
||||
for _, nw := range resources.Networks {
|
||||
ports := make([]*structs.Port, 0, len(nw.ReservedPorts)+len(nw.DynamicPorts))
|
||||
ports := make([]structs.Port, 0, len(nw.ReservedPorts)+len(nw.DynamicPorts))
|
||||
for _, port := range nw.ReservedPorts {
|
||||
ports = append(ports, &port)
|
||||
ports = append(ports, port)
|
||||
}
|
||||
for _, port := range nw.DynamicPorts {
|
||||
ports = append(ports, &port)
|
||||
ports = append(ports, port)
|
||||
}
|
||||
for _, p := range ports {
|
||||
key := fmt.Sprintf("%s%s_%s", AddrPrefix, taskName, p.Label)
|
||||
|
|
35
client/driver/env/env_test.go
vendored
35
client/driver/env/env_test.go
vendored
|
@ -138,7 +138,24 @@ func TestEnvironment_ReplaceEnv_Mixed(t *testing.T) {
|
|||
func TestEnvironment_AsList(t *testing.T) {
|
||||
n := mock.Node()
|
||||
a := mock.Alloc()
|
||||
a.Resources.Networks[0].ReservedPorts = append(a.Resources.Networks[0].ReservedPorts,
|
||||
structs.Port{Label: "ssh", Value: 22},
|
||||
structs.Port{Label: "other", Value: 1234},
|
||||
)
|
||||
a.TaskResources["web"].Networks[0].DynamicPorts[0].Value = 2000
|
||||
a.TaskResources["ssh"] = &structs.Resources{
|
||||
Networks: []*structs.NetworkResource{
|
||||
{
|
||||
Device: "eth0",
|
||||
IP: "192.168.0.100",
|
||||
MBits: 50,
|
||||
ReservedPorts: []structs.Port{
|
||||
{Label: "ssh", Value: 22},
|
||||
{Label: "other", Value: 1234},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
env := NewTaskEnvironment(n).
|
||||
SetNetworks(networks).
|
||||
SetPortMap(portMap).
|
||||
|
@ -165,13 +182,23 @@ func TestEnvironment_AsList(t *testing.T) {
|
|||
"NOMAD_IP_web_main=192.168.0.100",
|
||||
"NOMAD_IP_web_http=192.168.0.100",
|
||||
"NOMAD_TASK_NAME=taskA",
|
||||
"NOMAD_ADDR_ssh_other=192.168.0.100:1234",
|
||||
"NOMAD_ADDR_ssh_ssh=192.168.0.100:22",
|
||||
"NOMAD_IP_ssh_other=192.168.0.100",
|
||||
"NOMAD_IP_ssh_ssh=192.168.0.100",
|
||||
"NOMAD_PORT_ssh_other=1234",
|
||||
"NOMAD_PORT_ssh_ssh=22",
|
||||
fmt.Sprintf("NOMAD_ALLOC_ID=%s", a.ID),
|
||||
}
|
||||
allocID := fmt.Sprintf("NOMAD_ALLOC_ID=%s", a.ID)
|
||||
exp = append(exp, allocID)
|
||||
sort.Strings(act)
|
||||
sort.Strings(exp)
|
||||
if !reflect.DeepEqual(act, exp) {
|
||||
t.Fatalf("env.List() returned %v;\n want:\n%v", strings.Join(act, "\n"), strings.Join(exp, "\n"))
|
||||
if len(act) != len(exp) {
|
||||
t.Fatalf("wat: %d != %d", len(act), len(exp))
|
||||
}
|
||||
for i := range act {
|
||||
if act[i] != exp[i] {
|
||||
t.Errorf("%d %q != %q", i, act[i], exp[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue