From 92bb3728c9f2b63c32cbbeff079a424b3cd4eb62 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Tue, 25 Aug 2020 17:23:20 -0400 Subject: [PATCH] tweak stack job manipulation To address review comments --- scheduler/generic_sched.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/scheduler/generic_sched.go b/scheduler/generic_sched.go index ee51fcb6a..0b089a2c5 100644 --- a/scheduler/generic_sched.go +++ b/scheduler/generic_sched.go @@ -497,15 +497,12 @@ func (s *GenericScheduler) computePlacements(destructive, place []placementResul tg = job.LookupTaskGroup(tg.Name) downgradedJob = job deploymentID = jobDeploymentID - - // ensure we are operating on the correct job - s.stack.SetJob(job) } else { jobVersion := -1 if job != nil { jobVersion = int(job.Version) } - s.logger.Warn("failed to find appropriate job; using the latest", "expected_version", missing.MinJobVersion, "found_version", jobVersion) + s.logger.Debug("failed to find appropriate job; using the latest", "expected_version", missing.MinJobVersion, "found_version", jobVersion) } } @@ -515,6 +512,12 @@ func (s *GenericScheduler) computePlacements(destructive, place []placementResul continue } + // Use downgraded job in scheduling stack to honor + // old job resources and constraints + if downgradedJob != nil { + s.stack.SetJob(downgradedJob) + } + // Find the preferred node preferredNode, err := s.findPreferredNode(missing) if err != nil { @@ -541,7 +544,7 @@ func (s *GenericScheduler) computePlacements(destructive, place []placementResul // Compute top K scoring node metadata s.ctx.Metrics().PopulateScoreMetaData() - // restore stack to use the latest job version again + // Restore stack job now that placement is done, to use plan job version if downgradedJob != nil { s.stack.SetJob(s.job) }