From 3b7d23f364b6416877539022f89adb4855d2a70a Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Tue, 8 May 2018 20:00:06 -0500 Subject: [PATCH] Fix logic inversion in force rescheduling --- nomad/job_endpoint.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nomad/job_endpoint.go b/nomad/job_endpoint.go index 18e03d582a46..c6c121069324 100644 --- a/nomad/job_endpoint.go +++ b/nomad/job_endpoint.go @@ -546,6 +546,7 @@ func (j *Job) Evaluate(args *structs.JobEvaluateRequest, reply *structs.JobRegis } forceRescheduleAllocs := make(map[string]*structs.DesiredTransition) + if args.EvalOptions.ForceReschedule { // Find any failed allocs that could be force rescheduled allocs, err := snap.AllocsByJob(ws, args.RequestNamespace(), args.JobID, false) @@ -556,7 +557,7 @@ func (j *Job) Evaluate(args *structs.JobEvaluateRequest, reply *structs.JobRegis for _, alloc := range allocs { taskGroup := job.LookupTaskGroup(alloc.TaskGroup) // Forcing rescheduling is only allowed if task group has rescheduling enabled - if taskGroup != nil && taskGroup.ReschedulePolicy != nil && taskGroup.ReschedulePolicy.Enabled() { + if taskGroup == nil || taskGroup.ReschedulePolicy == nil || !taskGroup.ReschedulePolicy.Enabled() { continue }