Move component working directory management to coordinator#10857
Merged
Move component working directory management to coordinator#10857
Conversation
5ac04a9 to
5230db6
Compare
swiatekm
commented
Oct 28, 2025
4794d7e to
c472e05
Compare
c7ed40c to
f7105b6
Compare
swiatekm
commented
Oct 28, 2025
cmacknz
reviewed
Oct 28, 2025
Member
|
Did a first pass and this looks good, want to see CI pass before approving and take a second look with fresher eyes tomorrow (some else approving also covers this). There is also the requirement that we don't change the run directory names from what they were before this change, which I double checked manually to confirm it is the same. |
Contributor
|
Pinging @elastic/elastic-agent-control-plane (Team:Elastic-Agent-Control-Plane) |
swiatekm
commented
Oct 29, 2025
blakerouse
previously approved these changes
Oct 29, 2025
Contributor
blakerouse
left a comment
There was a problem hiding this comment.
This change looks good to me. My only comment is really on the changelog.
changelog/fragments/1761679059-move-component-workdir-coordinator.yaml
Outdated
Show resolved
Hide resolved
cmacknz
previously approved these changes
Oct 29, 2025
leehinman
reviewed
Oct 29, 2025
Contributor
💚 Build Succeeded
History
cc @swiatekm |
blakerouse
approved these changes
Oct 30, 2025
Contributor
blakerouse
left a comment
There was a problem hiding this comment.
Thanks for updating the changelog.
mergify bot
pushed a commit
that referenced
this pull request
Oct 30, 2025
* Move component setup and teardown code to the Component struct * Move teardown to coordinator * Integration test to check data re-ingest when switching runtimes * Add integration test for component working dirs * Check workdir creation time in tests * Fix linter warnings * Fix a minor issue in endpoint integration tests * Add changelog entry * Completely remove workdir handling from command runtime * Fix changelog summary * Use fleet in the integration test --------- Co-authored-by: Lee E. Hinman <lee.e.hinman@elastic.co> (cherry picked from commit 41fd24f)
mergify bot
pushed a commit
that referenced
this pull request
Oct 30, 2025
* Move component setup and teardown code to the Component struct * Move teardown to coordinator * Integration test to check data re-ingest when switching runtimes * Add integration test for component working dirs * Check workdir creation time in tests * Fix linter warnings * Fix a minor issue in endpoint integration tests * Add changelog entry * Completely remove workdir handling from command runtime * Fix changelog summary * Use fleet in the integration test --------- Co-authored-by: Lee E. Hinman <lee.e.hinman@elastic.co> (cherry picked from commit 41fd24f)
This was referenced Oct 30, 2025
swiatekm
added a commit
that referenced
this pull request
Oct 30, 2025
* Move component setup and teardown code to the Component struct * Move teardown to coordinator * Integration test to check data re-ingest when switching runtimes * Add integration test for component working dirs * Check workdir creation time in tests * Fix linter warnings * Fix a minor issue in endpoint integration tests * Add changelog entry * Completely remove workdir handling from command runtime * Fix changelog summary * Use fleet in the integration test --------- Co-authored-by: Lee E. Hinman <lee.e.hinman@elastic.co> (cherry picked from commit 41fd24f)
cmacknz
pushed a commit
that referenced
this pull request
Oct 30, 2025
…10925) * Move component setup and teardown code to the Component struct * Move teardown to coordinator * Integration test to check data re-ingest when switching runtimes * Add integration test for component working dirs * Check workdir creation time in tests * Fix linter warnings * Fix a minor issue in endpoint integration tests * Add changelog entry * Completely remove workdir handling from command runtime * Fix changelog summary * Use fleet in the integration test --------- (cherry picked from commit 41fd24f) Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com> Co-authored-by: Lee E. Hinman <lee.e.hinman@elastic.co>
swiatekm
added a commit
that referenced
this pull request
Oct 30, 2025
…to coordinator (#10924) * Move component working directory management to coordinator (#10857) * Move component setup and teardown code to the Component struct * Move teardown to coordinator * Integration test to check data re-ingest when switching runtimes * Add integration test for component working dirs * Check workdir creation time in tests * Fix linter warnings * Fix a minor issue in endpoint integration tests * Add changelog entry * Completely remove workdir handling from command runtime * Fix changelog summary * Use fleet in the integration test --------- Co-authored-by: Lee E. Hinman <lee.e.hinman@elastic.co> (cherry picked from commit 41fd24f) * Fix imports --------- Co-authored-by: Mikołaj Świątek <mail@mikolajswiatek.com> Co-authored-by: Lee E. Hinman <lee.e.hinman@elastic.co>
8 tasks
hayotbisonai
pushed a commit
to hayotbisonai/elastic-agent
that referenced
this pull request
Nov 23, 2025
…0857) * Move component setup and teardown code to the Component struct * Move teardown to coordinator * Integration test to check data re-ingest when switching runtimes * Add integration test for component working dirs * Check workdir creation time in tests * Fix linter warnings * Fix a minor issue in endpoint integration tests * Add changelog entry * Completely remove workdir handling from command runtime * Fix changelog summary * Use fleet in the integration test --------- Co-authored-by: Lee E. Hinman <lee.e.hinman@elastic.co>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What does this PR do?
It makes the coordinator responsible for creating and removing the working directories of components. Until now, CommandRuntime and ServiceRuntime did this on their own, whereas the OtelManager didn't do it at all. We move the logic for creating and removing the directories into the component module itself, and call it from the Coordinator. The new logic is as follows.
The condition that the component must not be present in the current model fixes an issue where the working directory would be deleted when the component was being moved between runtimes.
Why is it important?
Note that I've included an integration test from #10544, which specifically checks point 2 from above.
Checklist
[ ] I have made corresponding changes to the documentation[ ] I have made corresponding change to the default configuration files./changelog/fragmentsusing the changelog toolHow to test this PR locally
Related issues