Skip to content

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Sep 12, 2025

PR 3/6

  • Enhancement

What does this PR do?

  • Adds error wrapping in copayActionStore and copyRunDirectory functions so that the errors are properly propagated.
  • Adds tests for copyActionStore, copyRunDirectory and error handling test for the Upgrade function

Why is it important?

This pr makes sure that the errors that originate from copyActionStore and copyRunDirectory get propagated correctly up the call stack.

Checklist

  • I have read and understood the pull request guidelines of this project.
  • 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/fragments using the changelog tool
  • [ ] I have added an integration test or an E2E test

Disruptive User Impact

none

How to test this PR locally

  • Build for windows, mac, linux

  • Install agent (managed and standalone)

  • Fill up disk until almost full

  • Trigger upgrade

    • From fleet
    • Cli with remote url and file
  • Validate the upgrade detail error message shows insufficient disk error message both in the status output and on fleet ui.

  • Run the upgrade tests in upgrade_test.go

Related issues


This is an automatic backport of pull request #9349 done by [Mergify](https://mergify.com).

…Directory (#9349)

* enhancement(5235): added  copyActionStore package var

* enhancement(5235): added copyRunDirectory package var

* enhancement(5235): wrapping errors in copyRunDirectory

enhancement(5235): wrapping mkdriall error in copyrundir function

* enhancement(5235): added package var to abstract third party package function copy.Copy

* enhancement(5235): using copyActionStoreFunc and copyRunDirectoryFunc

* enhancement(5235): wrapping errors in upgrade function

* enhancement(5235): added mkdirall wrapper in copyRunDir

enhancement(5235): added common package import

* enhancement(5235): using writefile wrapper in copyActionStore

* enhancement(5235): using readFile wrapper in copyActionStore

* enhancement(5235): added copyActionStore and copyRunDirectory tests in upgrade_test

enhancement(5235): updated the copyRunDirectory test to mock stdlib functions

* enhancement(5235): added TestUpgradeDirectoryCopyErrors test in upgrade_test

enhancement(5235): added test imports in upgrade_test

* enhancement(5235): added comment in step_unpack

* enhancement(5235): added types in upgrade.go to abstract away functions for testability. abstracted copyActionStore and copyRunDirectory. Updated tests

* enhancement(5235): updated upgrade tests, added tests cases for copyActionStore and copyRunDir error handling, removed unnecessary test, refactored copyActionStore and copyRunDirectory tests

* enhancement(5235): moved where mkdriAllFunc type is declared

* enhancement(5235): remove unnecessary change

* enhancement(5235): added action store path to error message

* enhancement(5235): remove unused commented code

* enhancement(5235): fix typo in test log name

(cherry picked from commit 96e0476)
@mergify mergify bot added the backport label Sep 12, 2025
@mergify mergify bot requested a review from a team as a code owner September 12, 2025 22:48
@mergify mergify bot removed the request for review from a team September 12, 2025 22:48
@mergify mergify bot added the backport label Sep 12, 2025
@github-actions github-actions bot added Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team skip-changelog labels Sep 12, 2025
@elasticmachine
Copy link
Collaborator

Pinging @elastic/elastic-agent-control-plane (Team:Elastic-Agent-Control-Plane)

Copy link

@elasticmachine
Copy link
Collaborator

💛 Build succeeded, but was flaky

Failed CI Steps

cc @kaanyalti

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants