[ 
https://issues.apache.org/jira/browse/YUNIKORN-1084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Craig Condit updated YUNIKORN-1084:
-----------------------------------
    Description: 
The current namespaceBlacklist property in the admission controller is very 
unclear and doesn't handle all the cases we need. It is meant to ignore any 
pods listed in the included namespaces. However, these pods still get annotated 
with 'schedulerName: yunikorn' which is incorrect.

Additionally, when running in scheduler plugin mode, we often want to control 
which namespaces should be processed by yunikorn scheduling logic, and which 
should be passed through to the default scheduler logic.

We should use (all comma-separated regexes):
 * bypassNamespaces: (default '^kube-system$')
 * labelNamespaces: (default empty, means ALL)
 * noLabelNamespaces: (default empty, means NONE)

So the logic becomes:

1) Is namespace in bypassNamespaces? If so, do nothing (allow pod to proceed to 
default scheduler), and terminate.

2) Update schedulerName to yunikorn

3) Is namespace labelNamespaces and NOT in noLabelNamespaces? If so, apply 
labels.

  was:
The current namespaceBlacklist property in the admission controller is very 
unclear and doesn't handle all the cases we need. It is meant to ignore any 
pods listed in the included namespaces. However, these pods still get annotated 
with 'schedulerName: yunikorn' which is incorrect.

Additionally, when running in scheduler plugin mode, we often want to control 
which namespaces should be processed by yunikorn scheduling logic, and which 
should be passed through to the default scheduler logic.

We should use:

We should add two additional parameters (which will also be comma-separated 
regexes):
 * bypassNamespaces: (default '^kube-system$')
 * labelNamespaces: (default empty, means ALL)
 * noLabelNamespaces: (default empty, means NONE)

So the logic becomes:

1) Is namespace in bypassNamespaces? If so, do nothing (allow pod to proceed to 
default scheduler), and terminate.

2) Update schedulerName to yunikorn

3) Is namespace labelNamespaces and NOT in noLabelNamespaces? If so, apply 
labels.


> Update namespace handling in admission controller
> -------------------------------------------------
>
>                 Key: YUNIKORN-1084
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-1084
>             Project: Apache YuniKorn
>          Issue Type: Improvement
>          Components: shim - kubernetes
>            Reporter: Craig Condit
>            Assignee: Craig Condit
>            Priority: Major
>
> The current namespaceBlacklist property in the admission controller is very 
> unclear and doesn't handle all the cases we need. It is meant to ignore any 
> pods listed in the included namespaces. However, these pods still get 
> annotated with 'schedulerName: yunikorn' which is incorrect.
> Additionally, when running in scheduler plugin mode, we often want to control 
> which namespaces should be processed by yunikorn scheduling logic, and which 
> should be passed through to the default scheduler logic.
> We should use (all comma-separated regexes):
>  * bypassNamespaces: (default '^kube-system$')
>  * labelNamespaces: (default empty, means ALL)
>  * noLabelNamespaces: (default empty, means NONE)
> So the logic becomes:
> 1) Is namespace in bypassNamespaces? If so, do nothing (allow pod to proceed 
> to default scheduler), and terminate.
> 2) Update schedulerName to yunikorn
> 3) Is namespace labelNamespaces and NOT in noLabelNamespaces? If so, apply 
> labels.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to