Skip to content
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

[Ingest Manager] Use symlink path for reexecutions #21835

Merged
merged 6 commits into from
Oct 22, 2020

Conversation

michalpristas
Copy link
Contributor

@michalpristas michalpristas commented Oct 15, 2020

What does this PR do?

This PR initiates reexec manager with the path to symlink instead of os.Executable which might point to actual executable even if executed using symlink. This behavior leads to reexecing into same binary/version even after upgrade is done.

Tested on linux/windows.
This happens on some OSes as behavior differs in evaluating symlinks. Some refer to symlink file as a process executable some follow symlink and refer to an actual executable.

This is visible during upgrade when upgrade is successfully finished but after reboot it boots up same process (visible as version unchanged in fleet UI).

Why is it important?

Upgrade scenario
Fixes: #21935

Checklist

  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
  • I have added an entry in CHANGELOG.next.asciidoc or CHANGELOG-developer.next.asciidoc.

@elasticmachine
Copy link
Collaborator

Pinging @elastic/ingest-management (Team:Ingest Management)

@botelastic botelastic bot added needs_team Indicates that the issue/PR needs a Team:* label and removed needs_team Indicates that the issue/PR needs a Team:* label labels Oct 15, 2020
@michalpristas michalpristas changed the title [Ingest Manager] Use symlink for reexecutions [Ingest Manager] Use symlink path for reexecutions Oct 15, 2020
@elasticmachine
Copy link
Collaborator

elasticmachine commented Oct 15, 2020

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview

Expand to view the summary

Build stats

  • Build Cause: [Pull request #21835 updated]

  • Start Time: 2020-10-22T14:31:59.864+0000

  • Duration: 35 min 16 sec

Test stats 🧪

Test Results
Failed 0
Passed 1394
Skipped 4
Total 1398

@ph
Copy link
Contributor

ph commented Oct 15, 2020

Any issue linked to this?

@EricDavisX
Copy link
Contributor

Any commentary on when this could potentially happen, sp we can improve test coverage?

@michalpristas
Copy link
Contributor Author

@EricDavisX updated description

Copy link
Contributor

@blakerouse blakerouse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@michalpristas michalpristas merged commit 9aefcfe into elastic:master Oct 22, 2020
michalpristas added a commit to michalpristas/beats that referenced this pull request Oct 22, 2020
[Ingest Manager] Use symlink path for reexecutions (elastic#21835)
michalpristas added a commit to michalpristas/beats that referenced this pull request Oct 22, 2020
[Ingest Manager] Use symlink path for reexecutions (elastic#21835)
michalpristas added a commit that referenced this pull request Oct 22, 2020
[Ingest Manager] Use symlink path for reexecutions (#21835)
michalpristas added a commit that referenced this pull request Oct 22, 2020
[Ingest Manager] Use symlink path for reexecutions (#21835)
v1v added a commit to v1v/beats that referenced this pull request Oct 26, 2020
…beats into feature/support-flaky-test-analyser

* 'feature/support-flaky-test-analyser' of github.com:v1v/beats: (40 commits)
  [CI] support windows-10 (elastic#19804)
  Use default config when creating the input (elastic#22126)
  Change x509 mappings from file. to tls.server. (elastic#22097)
  Add fleet settings image (elastic#22065)
  Edit 7.9.3 changelog (elastic#22117)
  Edit 6.8.13 release notes (elastic#22120)
  Incorporate librpm fix feedback (elastic#22098)
  [libbeat] Add more disk queue unit tests and fix a size-check bug (elastic#22107)
  docs: move kerberos include (elastic#22109)
  Check context.Canceled and fix s3 input config (elastic#22036)
  Add max_number_of_messages into aws filebeat fileset vars (elastic#22057)
  Remove suricata.eve.timestamp alias (elastic#22095)
  [Ingest Manager] Use symlink path for reexecutions (elastic#21835)
  chore: use ubuntu 18 as linux agent (elastic#22084)
  docs: Prepare Changelog for 7.9.3 (elastic#22073) (elastic#22075)
  docs: Prepare Changelog for 6.8.13 (elastic#22072) (elastic#22079)
  [build][packaging] Add resilience when docker build (elastic#22050)
  Fix the url of reviewdog (elastic#21981)
  revert WSS process reporting for windows (elastic#22055)
  Fix typo (elastic#19585) (elastic#22061)
  ...
v1v added a commit to v1v/beats that referenced this pull request Oct 26, 2020
…ter-commit

* upstream/master: (25 commits)
  [CI] set env variable for the params (elastic#22143)
  Fix zeek connection pipeline (elastic#22151)
  Fix Google Cloud Function configuration file issues (elastic#22156)
  Remove old TODO on kubernetes node update (elastic#22074)
  [CI] Enable winlogbeat (elastic#22142)
  [CI] support windows-10 (elastic#19804)
  Use default config when creating the input (elastic#22126)
  Change x509 mappings from file. to tls.server. (elastic#22097)
  Add fleet settings image (elastic#22065)
  Edit 7.9.3 changelog (elastic#22117)
  Edit 6.8.13 release notes (elastic#22120)
  Incorporate librpm fix feedback (elastic#22098)
  [libbeat] Add more disk queue unit tests and fix a size-check bug (elastic#22107)
  docs: move kerberos include (elastic#22109)
  Check context.Canceled and fix s3 input config (elastic#22036)
  Add max_number_of_messages into aws filebeat fileset vars (elastic#22057)
  Remove suricata.eve.timestamp alias (elastic#22095)
  [Ingest Manager] Use symlink path for reexecutions (elastic#21835)
  chore: use ubuntu 18 as linux agent (elastic#22084)
  docs: Prepare Changelog for 7.9.3 (elastic#22073) (elastic#22075)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Ingest Management:beta2 Group issues for ingest management beta2 needs_backport PR is waiting to be backported to other branches.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Agent] When the Agent Upgrade feature is used, Agent doen't use the new version until after a reboot
5 participants