in pkg/scheduler/objects/queue.go [405:457]
func (sq *Queue) setResources(guaranteedResource, maxResource *resources.Resource) {
switch {
case resources.StrictlyGreaterThanZero(maxResource):
log.Log(log.SchedQueue).Debug("setting max resources",
zap.String("queue", sq.QueuePath),
zap.Stringer("current", sq.maxResource),
zap.Stringer("new", maxResource))
if !resources.Equals(sq.maxResource, maxResource) && sq.queueEvents != nil {
sq.queueEvents.SendMaxResourceChangedEvent(sq.QueuePath, maxResource)
}
sq.maxResource = maxResource
sq.updateMaxResourceMetrics()
case sq.maxResource != nil:
log.Log(log.SchedQueue).Debug("setting max resources",
zap.String("queue", sq.QueuePath),
zap.Stringer("current", sq.maxResource),
zap.Stringer("new", maxResource))
if sq.queueEvents != nil {
sq.queueEvents.SendMaxResourceChangedEvent(sq.QueuePath, maxResource)
}
sq.maxResource = nil
sq.updateMaxResourceMetrics()
default:
log.Log(log.SchedQueue).Debug("max resources setting ignored: cannot set zero max resources",
zap.String("queue", sq.QueuePath))
}
switch {
case resources.StrictlyGreaterThanZero(guaranteedResource):
log.Log(log.SchedQueue).Debug("setting guaranteed resources",
zap.String("queue", sq.QueuePath),
zap.Stringer("current", sq.guaranteedResource),
zap.Stringer("new", guaranteedResource))
if !resources.Equals(sq.guaranteedResource, guaranteedResource) && sq.queueEvents != nil {
sq.queueEvents.SendGuaranteedResourceChangedEvent(sq.QueuePath, guaranteedResource)
}
sq.guaranteedResource = guaranteedResource
sq.updateGuaranteedResourceMetrics()
case sq.guaranteedResource != nil:
log.Log(log.SchedQueue).Debug("setting guaranteed resources",
zap.String("queue", sq.QueuePath),
zap.Stringer("current", sq.guaranteedResource),
zap.Stringer("new", guaranteedResource))
if sq.queueEvents != nil {
sq.queueEvents.SendGuaranteedResourceChangedEvent(sq.QueuePath, guaranteedResource)
}
sq.guaranteedResource = nil
sq.updateGuaranteedResourceMetrics()
default:
log.Log(log.SchedQueue).Debug("guaranteed resources setting ignored: cannot set zero guaranteed resources",
zap.String("queue", sq.QueuePath))
}
}