From 24d27fce83c4b2d706a89dc7dbe5fa510183c67f Mon Sep 17 00:00:00 2001 From: Michael Schurter Date: Tue, 28 Mar 2017 10:16:27 -0700 Subject: [PATCH] Don't take a reference a var in a loop Fixes #2491 --- client/driver/env/env.go | 6 +++--- client/driver/env/env_test.go | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/client/driver/env/env.go b/client/driver/env/env.go index c2aacd383..dcc2858dc 100644 --- a/client/driver/env/env.go +++ b/client/driver/env/env.go @@ -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) diff --git a/client/driver/env/env_test.go b/client/driver/env/env_test.go index dd8eddfb1..3e672a79a 100644 --- a/client/driver/env/env_test.go +++ b/client/driver/env/env_test.go @@ -139,6 +139,16 @@ func TestEnvironment_AsList(t *testing.T) { n := mock.Node() a := mock.Alloc() a.TaskResources["web"].Networks[0].DynamicPorts[0].Value = 2000 + a.TaskResources["ssh"] = &structs.Resources{ + Networks: []*structs.NetworkResource{ + { + ReservedPorts: []structs.Port{ + {Label: "ssh", Value: 22}, + {Label: "other", Value: 1234}, + }, + }, + }, + } env := NewTaskEnvironment(n). SetNetworks(networks). SetPortMap(portMap). @@ -165,6 +175,12 @@ 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=:1234", + "NOMAD_ADDR_ssh_ssh=:22", + "NOMAD_IP_ssh_other=", + "NOMAD_IP_ssh_ssh=", + "NOMAD_PORT_ssh_other=1234", + "NOMAD_PORT_ssh_ssh=22", } allocID := fmt.Sprintf("NOMAD_ALLOC_ID=%s", a.ID) exp = append(exp, allocID)