[ 
https://issues.apache.org/jira/browse/YUNIKORN-2703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17860632#comment-17860632
 ] 

Mit Desai edited comment on YUNIKORN-2703 at 6/27/24 7:49 PM:
--------------------------------------------------------------

[~ccondit] [~wilfreds] If we change the behavior of the admission controller 
and shim, it might become a breaking change for some.

For instance, with the current behavior, if the placement rules are defined 
like this
{noformat}
placementrules:
  - name: tag
    value: namespace
  - name: fixed
    value: root.default{noformat}
With the existing behavior, apps will be placed in the namespace queue. If for 
any reason, the placement fails for namespace queue, the apps would always run 
in the root.default queue and no apps will be rejected.

If we make the change to *not* pass the {{root.default}} as the default queue, 
core will get an empty string and ultimately reject the app submission.

On the admissionController/shim side, we have the config map so we can decide 
if the defaultQueue override was empty or undefined and take appropriate 
actions. Core will not have that info and will have to act only based on empty 
or non-empty strings.

I think we should keep the existing behavior and as our documentation suggest 
here: [Default Queue Config|#admissioncontrollerfilteringdefaultqueue]], set 
the default queue override to empty string in the event of provided placement 
rules are defined on the top.


was (Author: mitdesai):
[~ccondit] [~wilfreds] If we change the behavior of the admission controller 
and shim, it might become a breaking change for some.

For instance, with the current behavior, if the placement rules are defined 
like this
{noformat}
placementrules:
  - name: tag
    value: namespace
  - name: fixed
    value: root.default{noformat}
With the existing behavior, apps will be placed in the namespace queue. If for 
any reason, the placement fails for namespace queue, the apps would always run 
in the root.default queue and no apps will be rejected.

If we make the change to not pass the {{root.default}} as the default queue, 
core will get an empty string and ultimately reject the app submission.

On the admissionController/shim side, we have the config map so we can decide 
if the defaultQueue override was empty or undefined and take appropriate 
actions. Core will not have that info and will have to act only based on empty 
or non-empty strings.

I think we should keep the existing behavior and as our documentation suggest 
here: [Default Queue 
Config|[https://yunikorn.apache.org/docs/user_guide/service_config#admissioncontrollerfilteringdefaultqueue]],
 set the default queue override to empty string in the event of provided 
placement rules are defined on the top.

> Scheduler does not honor default queue setting from the ConfigMap
> -----------------------------------------------------------------
>
>                 Key: YUNIKORN-2703
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-2703
>             Project: Apache YuniKorn
>          Issue Type: Bug
>          Components: shim - kubernetes
>            Reporter: Mit Desai
>            Assignee: Mit Desai
>            Priority: Major
>
> YUNIKORN-1650 added an override for default queue name in the config map to 
> solve for the scenario where the provided placement rule is evaluated before 
> other rules.
> Scheduler also adds a default queue if the pod labels or annotations does not 
> define a queue name. Because this happens before the placement rules are 
> evaluated, we end up in the same situation of applications getting placed in 
> the default queue and ignoring all other placement rules.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@yunikorn.apache.org
For additional commands, e-mail: issues-h...@yunikorn.apache.org

Reply via email to