manirajv06 commented on code in PR #569:
URL: https://github.com/apache/yunikorn-core/pull/569#discussion_r1258465933


##########
pkg/scheduler/objects/queue.go:
##########
@@ -663,29 +663,60 @@ func (sq *Queue) AddApplication(app *Application) {
        // YUNIKORN-199: update the quota from the namespace
        // get the tag with the quota
        quota := app.GetTag(common.AppTagNamespaceResourceQuota)
-       if quota == "" {
+       // get the tag with the guaranteed resource
+       guaranteed := app.GetTag(common.AppTagNamespaceResourceGuaranteed)
+       if quota == "" && guaranteed == "" {
                return
        }
+
+       var quotaRes, guaranteedRes *resources.Resource
+       var quotaErr, guaranteedErr error
+
        // need to set a quota: convert json string to resource
-       res, err := resources.NewResourceFromString(quota)
-       if err != nil {
-               log.Log(log.SchedQueue).Warn("application resource quota 
conversion failure",
-                       zap.String("json quota string", quota),
-                       zap.Error(err))
-               return
+       if quota != "" {
+               quotaRes, quotaErr = resources.NewResourceFromString(quota)
+               if quotaErr != nil {
+                       log.Log(log.SchedQueue).Warn("application resource 
quota conversion failure",
+                               zap.String("json quota string", quota),
+                               zap.Error(quotaErr))
+               } else if !resources.StrictlyGreaterThanZero(quotaRes) {
+                       log.Log(log.SchedQueue).Warn("Max resource quantities 
should be greater than zero: cannot set queue max resource",
+                               zap.Stringer("maxResource", quotaRes))
+                       quotaRes = nil // Skip setting quota if it has a value 
<= 0
+               }
        }
-       if !resources.StrictlyGreaterThanZero(res) {
-               log.Log(log.SchedQueue).Warn("application resource quota has at 
least one 0 value: cannot set queue limit",
-                       zap.Stringer("maxResource", res))
-               return
+
+       // need to set guaranteed resource: convert json string to resource
+       if guaranteed != "" {
+               guaranteedRes, guaranteedErr = 
resources.NewResourceFromString(guaranteed)
+               if guaranteedErr != nil {
+                       log.Log(log.SchedQueue).Warn("application guaranteed 
resource conversion failure",
+                               zap.String("json guaranteed string", 
guaranteed),
+                               zap.Error(guaranteedErr))
+                       if quotaErr != nil {

Review Comment:
   guaranteedErr, not quotaErr :)



##########
pkg/scheduler/objects/queue.go:
##########
@@ -663,29 +663,61 @@ func (sq *Queue) AddApplication(app *Application) {
        // YUNIKORN-199: update the quota from the namespace
        // get the tag with the quota
        quota := app.GetTag(common.AppTagNamespaceResourceQuota)
-       if quota == "" {
+       // get the tag with the guaranteed resource
+       guaranteed := app.GetTag(common.AppTagNamespaceResourceGuaranteed)
+       if quota == "" && guaranteed == "" {

Review Comment:
   If we can treat each annotation independently, then we should not put 
together in a single if checks. We can have separate if checks for each one.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to