diff --git a/scheduler/util.go b/scheduler/util.go index 7f8278ba4..cf7224a16 100644 --- a/scheduler/util.go +++ b/scheduler/util.go @@ -227,6 +227,11 @@ func tasksUpdated(a, b *structs.TaskGroup) bool { if !reflect.DeepEqual(at.Config, bt.Config) { return true } + + // Inspect the network to see if the resource ask is different + if !reflect.DeepEqual(at.Resources.Networks, bt.Resources.Networks) { + return true + } } return false } diff --git a/scheduler/util_test.go b/scheduler/util_test.go index 9ae78b75b..45c387e29 100644 --- a/scheduler/util_test.go +++ b/scheduler/util_test.go @@ -259,4 +259,10 @@ func TestTasksUpdated(t *testing.T) { if !tasksUpdated(j1.TaskGroups[0], j5.TaskGroups[0]) { t.Fatalf("bad") } + + j6 := mock.Job() + j6.TaskGroups[0].Tasks[0].Resources.Networks[0].DynamicPorts = 3 + if !tasksUpdated(j1.TaskGroups[0], j6.TaskGroups[0]) { + t.Fatalf("bad") + } }