-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for downloading upgrade artifacts async from checkin/action workflow #1706
Comments
cc @cmacknz @pierrehilbert as discussed earlier this week. Dropping into the next sprint, but feel free to move. |
@jlind23 marking this as P1 |
@blakerouse did we address this as part of the changes in V2? The notes on #2410 suggests we have. |
@cmacknz No I do not believe so. The Fleet gateway code still uses a single loop to run actions so that action should run and while its running other actions (like checkin) will be blocked. |
- handle upgrade in separate go routine - increase download timeout to 2 hours - add KeepAliveSettings - set idle connection timeout to 30 sec Closes elastic#1706 Duplicate elastic#1666
- handle upgrade in separate go routine - increase download timeout to 2 hours - add KeepAliveSettings - set idle connection timeout to 30 sec Closes elastic#1706 Duplicate elastic#1666
- handle upgrade in separate go routine - increase download timeout to 2 hours - add KeepAliveSettings - set idle connection timeout to 30 sec Closes elastic#1706 Duplicate elastic#1666
- handle upgrade in separate go routine - increase download timeout to 2 hours - add KeepAliveSettings - set idle connection timeout to 30 sec Closes elastic#1706 Duplicate elastic#1666
- handle upgrade in separate go routine - increase download timeout to 2 hours - add KeepAliveSettings - set idle connection timeout to 30 sec Closes elastic#1706 Duplicate elastic#1666
- handle upgrade in separate go routine - increase download timeout to 2 hours - add KeepAliveSettings - set idle connection timeout to 30 sec Closes elastic#1706 Duplicate elastic#1666
- handle upgrade in separate go routine - increase download timeout to 2 hours - add KeepAliveSettings - set idle connection timeout to 30 sec Closes elastic#1706 Duplicate elastic#1666
- handle upgrade in separate go routine - increase download timeout to 2 hours - add KeepAliveSettings - set idle connection timeout to 30 sec Closes elastic#1706 Duplicate elastic#1666
- handle upgrade in separate go routine - increase download timeout to 2 hours - add KeepAliveSettings - set idle connection timeout to 30 sec - skip duplicate upgrade requests - cancel current upgrade if upgrade comes in for a newer version, proceed with newer upgrade - added unit tests - prevent multiple upgrades from command line Closes #1706 Duplicate #1666
We've observed some machines on slow connections downloading the upgrade artifact as slow as 50Kb/s. Our largest artifact size is on linux, clocking in at around 370MB. Because of this upgrades can constantly fail, even if the download could possibly complete if given enough time.
We cannot currently just increase the download timeout (currently 10 minutes) because while processing the upgrade action, Agent will stop checking in with Fleet Server and will not receive other types of actions or policy updates.
We should break the upgrade sequence into two steps to avoid this problem and be able to download the agent binary while the agent continues to check in and receive updates and then resume the upgrade once the download is complete.
Blocks:
The text was updated successfully, but these errors were encountered: