[JENKINS-72370][JENKINS-11889] fix SimpleScheduledRetentionStrategy with inbound agents #8717
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
By implementing
isAcceptingTasks
the availability strategy ensures that no builds can start when the agent should not do anything.The current behaviour with an inbound agent is that controller and agent play jojo. The strategy disconnects the agent, the agents java process detects the disconnect and reconnects to the controller, with the strategy again disconnecting the agent and so on.
So the change will only disconnect the agent when the controller can itself launch the agent, this means inbound agents are not disconnected, to avoid playing jojo. The agent will just not accept new tasks for execution.
The change also avoids the problem in [JENKINS-11889] for outbound agents where the accepting tasks of an agents seems to be not reset when changing the availability strategy to always on.
See JENKINS-72370.
See JENKINS-11889.
Testing done
Manual testing as described in the Jira ticket.
Proposed changelog entries
Proposed upgrade guidelines
N/A
Submitter checklist
Desired reviewers
@mention
Before the changes are marked as
ready-for-merge
:Maintainer checklist