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

Add option to Fail the build if node label does not exist or if it cannot be provisioned within a timeout

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Reopened (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Component/s: plugin-proposals
    • Labels:
      None
    • Environment:
      Jenkins 1.642
      github-branch-source-plugin:1.7
      github-organization-folder-plugin:1.3
    • Similar Issues:

      Description

      Issue

      When a node label does not exists, the build hangs in the queue until a node is assigned to that label. In that case I would like my build to fail. It would be great to have such option and also the possibility to apply it with GitHub Organization.

      How to Reproduce

      node ('thislabeldoesnotexists') {
          echo "This could be improved"
      }
      

      This label does not exists in my Instance, the build hang in the queue and the console logs show:

      > There are no nodes with the label ‘thislabeldoesnotexists’

        Attachments

          Issue Links

            Activity

            Hide
            amidar Amit Dar added a comment -

            This option is a high valuable option for organizations using a main jenkins server handling jobs for various development and integration groups.

            this way, a job waiting for execution would be automatically removed from the build queue after a pre-defined time for machine provisioning and the built queue will stay "clean". a notification with the reason should also be viewable in the console output of the execution (though it was not executed at all...).

            Show
            amidar Amit Dar added a comment - This option is a high valuable option for organizations using a main jenkins server handling jobs for various development and integration groups. this way, a job waiting for execution would be automatically removed from the build queue after a pre-defined time for machine provisioning and the built queue will stay "clean". a notification with the reason should also be viewable in the console output of the execution (though it was not executed at all...).
            Hide
            marcusschulmann Marcus Schulmann added a comment -

            I wonder why this is still not yet implemented. This clogged our whole build-pipeline over the weekend because one agent was down, which was needed for specific tests.

            Show
            marcusschulmann Marcus Schulmann added a comment - I wonder why this is still not yet implemented. This clogged our whole build-pipeline over the weekend because one agent was down, which was needed for specific tests.
            Hide
            amidar Amit Dar added a comment -

            I totally agree with Marcus Schulmann, sometimes there is a uniqe agent (with specific hardware, for instance) used for tests. I wonder what can we do in order to bump this issue's importance and handling?

            Show
            amidar Amit Dar added a comment - I totally agree with Marcus Schulmann , sometimes there is a uniqe agent (with specific hardware, for instance) used for tests. I wonder what can we do in order to bump this issue's importance and handling?
            Hide
            tamerlaha ipleten added a comment -

            Timeout would be very useful.

            Show
            tamerlaha ipleten added a comment - Timeout would be very useful.
            Hide
            jasonperrone Jason Perrone added a comment -

            This is causing us serious problems as well. I thought the labels would be looked at as tags. If there is no match, no big deal, simply skip it. I mean, think about it. I can have a label defined like "prod || test || development" and if I have so much as one node matching any of those labels I'm fine. If all I had was a node with a label of prod, and no test or development nodes, no problem. But all of a sudden if I don't match on prod, it hangs in the queue? No, just skip it, like you would skip any node that doesn't match the label. This is messing up our whole paradigm because we have one set of jobs that are source controlled so that we don't have all these variants all over the place. But because of this, it doesn't work.

            Show
            jasonperrone Jason Perrone added a comment - This is causing us serious problems as well. I thought the labels would be looked at as tags. If there is no match, no big deal, simply skip it. I mean, think about it. I can have a label defined like "prod || test || development" and if I have so much as one node matching any of those labels I'm fine. If all I had was a node with a label of prod, and no test or development nodes, no problem. But all of a sudden if I don't match on prod, it hangs in the queue? No, just skip it, like you would skip any node that doesn't match the label. This is messing up our whole paradigm because we have one set of jobs that are source controlled so that we don't have all these variants all over the place. But because of this, it doesn't work.

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              allan_burdajewicz Allan BURDAJEWICZ
              Votes:
              8 Vote for this issue
              Watchers:
              14 Start watching this issue

                Dates

                Created:
                Updated: