-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
Jenkins 2.73.2
pipeline-input-step-plugin 2.7
We have several jobs that use the "input" pipeline step. This step is not inside a node block so they usually do not grab an executor when waiting for user input, as expected.
We often have many of these waiting over our 200+ jobs which is not normally an issue.
However, upon restarting (e.g. after upgrading plugins), these jobs resume and take up an executor. They appear in the left hand side and have logs like as follows:
Deploy to prod?
Proceed or Abort
Resuming build at Tue Nov 07 12:12:56 GMT 2017 after Jenkins restart
Waiting to resume part of Folder Name » Job Name » master #47: ???
Waiting to resume part of Folder Name » Job Name » master #47: Waiting for next available executor
Waiting to resume part of Folder Name » Job Name » master #47: Waiting for next available executor
Waiting to resume part of Folder Name » Job Name » master #47: Waiting for next available executor
The current workaround is to manually abort each one but this time consuming and problematic if we do not want to abort them yet.
Here is a possibly relevant portion of our shared library code, which gets called from most of our projects Jenkinsfiles:
The relevant section of the code looks similar to this:
for (def index = 0; index < allDeployEnvironments.size(); index++) { def nextEnvironment = "" if (index + 1 < allDeployEnvironments.size()) { nextEnvironment = allDeployEnvironments.get(index + 1) } //snip lines relating to deplpoyment. if (nextEnvironment) { try { stage("${nextEnvironment} deployment prompt") { timeout(time: 30, unit: 'DAYS') { echo "Prompting for deploy to ${nextEnvironment}" input("Deploy to ${nextEnvironment}?") } } } catch (Exception ex) { echo "Input timed out" currentBuild.result = 'ABORTED' break } }