Uploaded image for project: 'Apache YuniKorn'
  1. Apache YuniKorn
  2. YUNIKORN-1816

Fixed placement rule no longer works due to incorrect validation

    XMLWordPrintableJSON

Details

    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:

      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
      

      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 FAIL (should return an error, but passes)

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

      Attachments

        Issue Links

          Activity

            People

              pbacsko Peter Bacsko
              pbacsko Peter Bacsko
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: