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

Peter Bacsko updated YUNIKORN-1816:
-----------------------------------
    Description: 
In release 1.3.0, "fixed" placement rule which points to a leaf queue no longer 
works (the logic was added in YUNIKORN-1568).

The following configuration is rejected:
{noformat}
partitions:
  - name: default
    placementrules:
      - name: fixed
        value: root.parent.leaf
        create: false
    queues:
      - name: root
        submitacl: '*'
        parent: true
        queues:
          - name: parent
            parent: true
            queues:
              - name: leaf
                parent: false
{noformat}
Let's say we have a fixed rule which points to the queue "root.queue1.queue2". 
The queue config can be the same, shorter ("root.queue1") or longer 
("root.queue1.queue2.queue3"). If the path is shorter, we have the "create" 
flag and "queue2" can either be a parent or leaf.

In total, we have the following cases:
||Scenario||Validation result||
|Path exist, leaf|FAIL (should pass, but returns an error)|
|Path exist, parent|FAIL (should return an error, but passes)|
|Shorter path, leaf - create = true|OK (error message is incorrect)|
|Shorter path, leaf - create = false|OK (error message is incorrect)|
|Shorter path, parent - create = true|OK|
|Shorter path, parent - create = false|OK|
|Longer path|(should return an error, but passes)|

The most critical is the first two, which is completely reversed.

  was:
In release 1.3.0, "fixed" placement rule which points to a leaf queue no longer 
works.

The following configuration is rejected:
{noformat}
partitions:
  - name: default
    placementrules:
      - name: fixed
        value: root.parent.leaf
        create: false
    queues:
      - name: root
        submitacl: '*'
        parent: true
        queues:
          - name: parent
            parent: true
            queues:
              - name: leaf
                parent: false
{noformat}
Let's say we have a fixed rule which points to the queue "root.queue1.queue2". 
The queue config can be the same, shorter ("root.queue1") or longer 
("root.queue1.queue2.queue3"). If the path is shorter, we have the "create" 
flag and "queue2" can either be a parent or leaf.


In total, we have the following cases:
||Scenario||Validation result||
|Path exist, leaf|FAIL (should pass, but returns an error)|
|Path exist, parent|FAIL (should return an error, but passes)|
|Shorter path, leaf - create = true|OK (error message is incorrect)|
|Shorter path, leaf - create = false|OK (error message is incorrect)|
|Shorter path, parent - create = true|OK|
|Shorter path, parent - create = false|OK|
|Longer path|(should return an error, but passes)|

The most critical is the first two, which is completely reversed.


> Fixed placement rule no longer works due to incorrect validation
> ----------------------------------------------------------------
>
>                 Key: YUNIKORN-1816
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-1816
>             Project: Apache YuniKorn
>          Issue Type: Bug
>          Components: core - common
>    Affects Versions: 1.3.0
>            Reporter: Peter Bacsko
>            Assignee: Peter Bacsko
>            Priority: Critical
>
> In release 1.3.0, "fixed" placement rule which points to a leaf queue no 
> longer works (the logic was added in YUNIKORN-1568).
> The following configuration is rejected:
> {noformat}
> partitions:
>   - name: default
>     placementrules:
>       - name: fixed
>         value: root.parent.leaf
>         create: false
>     queues:
>       - name: root
>         submitacl: '*'
>         parent: true
>         queues:
>           - name: parent
>             parent: true
>             queues:
>               - name: leaf
>                 parent: false
> {noformat}
> Let's say we have a fixed rule which points to the queue 
> "root.queue1.queue2". The queue config can be the same, shorter 
> ("root.queue1") or longer ("root.queue1.queue2.queue3"). If the path is 
> shorter, we have the "create" flag and "queue2" can either be a parent or 
> leaf.
> In total, we have the following cases:
> ||Scenario||Validation result||
> |Path exist, leaf|FAIL (should pass, but returns an error)|
> |Path exist, parent|FAIL (should return an error, but passes)|
> |Shorter path, leaf - create = true|OK (error message is incorrect)|
> |Shorter path, leaf - create = false|OK (error message is incorrect)|
> |Shorter path, parent - create = true|OK|
> |Shorter path, parent - create = false|OK|
> |Longer path|(should return an error, but passes)|
> The most critical is the first two, which is completely reversed.



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

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

Reply via email to