Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-38885

Support configurable Usage mode of created node

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Won't Do
    • Icon: Major Major
    • node-sharing-plugin
    • None

      Currently all nodes are created with Node.Mode.EXCLUSIVE flag. It would be very useful if this can be driven by a new property attribute for each node.

      There are 4 different use-cases:

      • node has defined labels and EXCLUSIVE flag isn't set
        • either a job asking for any of these labels or if a job is non restricted it can be scheduled on such a node
      • node has defined labels and EXCLUSIVE flag
        • only a job asking for any of these labels can be scheduled on such a node
      • node hasn't defined labels and EXCLUSIVE flag isn't set
        • any job can be schedules on such a node
        • this is partially subject of JENKINS-38366
      • node hasn't defined labels and EXCLUSIVE flags is set
        • doesn't make sense because Jenkins is unable to schedule a job on such a node even it asks for its provision
        • such a node should be reported with WARNING message

      Possible implementation:

      • a new EXCLUSIVE_MODE attribute supported on Foreman side
        • treats value 'true' as Node.Mode.EXCLUSIVE, otherwise Node.Mode.NORMAL
      • if a node has an EXCLUSIVE_MODE attribute defined, use its value
        • if a node hasn't defined any label and yet has EXCLUSIVE_MODE set to 'true', report it with a warning message to the LOG
      • if a node hasn't an EXCLUSIVE_MODE attribute defined treats it like
        • node has defined label(s) -> Node.Mode.EXCLUSIVE
        • node hasn't defined any label -> Node.Mode.NORMAL

            pajasoft Pavel Janoušek
            pajasoft Pavel Janoušek
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: