diff --git a/client/driver/env/env.go b/client/driver/env/env.go index 9fd40c4b3..1ac9b7510 100644 --- a/client/driver/env/env.go +++ b/client/driver/env/env.go @@ -136,11 +136,13 @@ func (t *TaskEnvironment) Build() *TaskEnvironment { for label, value := range network.MapLabelToValues(nil) { t.TaskEnv[fmt.Sprintf("%s%s", IpPrefix, label)] = network.IP t.TaskEnv[fmt.Sprintf("%s%s", HostPortPrefix, label)] = strconv.Itoa(value) - if value, ok := t.PortMap[label]; ok { - t.TaskEnv[fmt.Sprintf("%s%s", PortPrefix, label)] = fmt.Sprintf("%d", value) - IPPort := fmt.Sprintf("%s:%d", network.IP, value) - t.TaskEnv[fmt.Sprintf("%s%s", AddrPrefix, label)] = IPPort + if forwardedPort, ok := t.PortMap[label]; ok { + value = forwardedPort } + t.TaskEnv[fmt.Sprintf("%s%s", PortPrefix, label)] = fmt.Sprintf("%d", value) + IPPort := fmt.Sprintf("%s:%d", network.IP, value) + t.TaskEnv[fmt.Sprintf("%s%s", AddrPrefix, label)] = IPPort + } } diff --git a/client/driver/env/env_test.go b/client/driver/env/env_test.go index 2ea76f394..19c980ee1 100644 --- a/client/driver/env/env_test.go +++ b/client/driver/env/env_test.go @@ -151,7 +151,8 @@ func TestEnvironment_AsList(t *testing.T) { "NOMAD_ADDR_https=127.0.0.1:443", "NOMAD_PORT_https=443", "NOMAD_IP_https=127.0.0.1", - "NOMAD_HOST_PORT_https=443", + "NOMAD_HOST_PORT_http=80", + "NOMAD_HOST_PORT_https=8080", "NOMAD_META_FOO=baz", "NOMAD_META_BAZ=bam", } @@ -177,7 +178,8 @@ func TestEnvironment_ClearEnvvars(t *testing.T) { "NOMAD_ADDR_https=127.0.0.1:443", "NOMAD_PORT_https=443", "NOMAD_IP_https=127.0.0.1", - "NOMAD_HOST_PORT_https=443", + "NOMAD_HOST_PORT_http=80", + "NOMAD_HOST_PORT_https=8080", "bar=bang", "foo=baz", } @@ -198,7 +200,8 @@ func TestEnvironment_ClearEnvvars(t *testing.T) { "NOMAD_ADDR_https=127.0.0.1:443", "NOMAD_PORT_https=443", "NOMAD_IP_https=127.0.0.1", - "NOMAD_HOST_PORT_https=443", + "NOMAD_HOST_PORT_https=8080", + "NOMAD_HOST_PORT_http=80", } sort.Strings(act) sort.Strings(exp)