-
Notifications
You must be signed in to change notification settings - Fork 143
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
Revert "[Service Runtime] Add ability for service operations to be retried (#2889)" #3092
Conversation
…tried (elastic#2889)" This reverts commit a3403e5.
Pinging @elastic/elastic-agent (Team:Elastic-Agent) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. less is more. thanks!
🌐 Coverage report
|
We should be sure to test the following after this revert PR goes in.
Is the integration test that @cmacknz added to this PR relevant here? #3086 . Could help us get coverage in place for the eventual re-introduction of this logs |
@kevinlog I tested the scenarios you mentioned in #3092 (comment) on my Mac with an Agent built from this PR. I also added detailed steps for each scenario to this PR's description. Each scenario worked mostly as expected; at the start of each scenario, I had to keep manually deleting |
buildkite test this |
@ycombinator thank you for testing the scenarios!
This doesn't sound right, but my question would be if it's a regression or not. Did the 8.8 Agent/Endpoint behave this way? |
What does this PR do?
This PR reverts #2889.
Why is it important?
The changes introduced in #2889 introduced a critical bug: #3077. While we have a fix for that particular bug (#3086), the fundamental nature of the change introduced in #2889 — changing previously synchronous code paths for service install and uninstall operations to asynchronous — has the potential for introducing other unforeseen bugs in these critical operations.
As mentioned in #3086 (comment),
How to test this PR locally
The example commands below are for MacOS systems.
Adding Elastic Defend integration should install Endpoint
Build Elastic Agent with this PR.
Extract the built Agent artifact and replace Endpoint files with signed versions. Get signed versions by downloading the most recently released Agent artifact.
Enroll the Elastic Agent in Fleet.
Verify that Endpoint isn't already installed on the system.
In the Fleet UI, edit the enrolled Agent's policy and add the Elastic Defend integration.
After a few seconds, verify that Endpoint is installed on the system.
In the Fleet UI, verify that the Agent is healthy.
Unenrolling Elastic Agent should uninstall Endpoint
Removing Elastic Defend integration should uninstall Endpoint
Switching to policy without Elastic Defend integration should uninstall Endpoint
Uninstalling Agent should uninstall Endpoint
Related issues