diff --git a/provider/mesos/mesos.go b/provider/mesos/mesos.go index 46f7d33f7..69a9bff2f 100644 --- a/provider/mesos/mesos.go +++ b/provider/mesos/mesos.go @@ -408,7 +408,7 @@ func (p *Provider) taskRecords(sj state.State) []state.Task { for _, task := range f.Tasks { for _, slave := range sj.Slaves { if task.SlaveID == slave.ID { - task.SlaveIP = slave.Hostname + task.SlaveIP = slave.PID.Host } } diff --git a/provider/mesos/mesos_test.go b/provider/mesos/mesos_test.go index 95bb8a3e6..34f7f8fc2 100644 --- a/provider/mesos/mesos_test.go +++ b/provider/mesos/mesos_test.go @@ -6,6 +6,7 @@ import ( "github.com/containous/traefik/log" "github.com/containous/traefik/types" + "github.com/mesos/mesos-go/upid" "github.com/mesosphere/mesos-dns/records/state" ) @@ -194,6 +195,9 @@ func TestTaskRecords(t *testing.T) { ID: "s_id", Hostname: "127.0.0.1", } + + slave.PID.UPID = &upid.UPID{} + slave.PID.Host = slave.Hostname var state = state.State{ Slaves: []state.Slave{slave}, Frameworks: []state.Framework{framework},