func()

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))
	}
}