Skip to content

Commit

Permalink
[Ingest Manager] Fixed reenroll scenario (#23686) (#23689)
Browse files Browse the repository at this point in the history
[Ingest Manager] Fixed reenroll scenario (#23686)
  • Loading branch information
michalpristas authored Jan 26, 2021
1 parent 1bee345 commit da94576
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 11 deletions.
1 change: 1 addition & 0 deletions x-pack/elastic-agent/CHANGELOG.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
- Fix incorrect hash when upgrading agent {pull}22322[22322]
- Fix refresh of monitoring configuration {pull}23619[23619]
- Fixed nil pointer during unenroll {pull}23609[23609]
- Fixed reenroll scenario {pull}23686[23686]

==== New features

Expand Down
6 changes: 6 additions & 0 deletions x-pack/elastic-agent/pkg/agent/application/enroll_cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,12 @@ func (c *EnrollCmd) Execute() error {
return err
}

// clear action store
// fail only if file exists and there was a failure
if err := os.Remove(info.AgentStateStoreFile()); !os.IsNotExist(err) {
return err
}

return nil
}

Expand Down
28 changes: 17 additions & 11 deletions x-pack/elastic-agent/pkg/agent/application/upgrade/upgrade.go
Original file line number Diff line number Diff line change
Expand Up @@ -247,19 +247,25 @@ func rollbackInstall(ctx context.Context, hash string) {
}

func copyActionStore(newHash string) error {
currentActionStorePath := info.AgentActionStoreFile()
storePaths := []string{info.AgentActionStoreFile(), info.AgentStateStoreFile()}

newHome := filepath.Join(filepath.Dir(paths.Home()), fmt.Sprintf("%s-%s", agentName, newHash))
newActionStorePath := filepath.Join(newHome, filepath.Base(currentActionStorePath))
for _, currentActionStorePath := range storePaths {
newHome := filepath.Join(filepath.Dir(paths.Home()), fmt.Sprintf("%s-%s", agentName, newHash))
newActionStorePath := filepath.Join(newHome, filepath.Base(currentActionStorePath))

currentActionStore, err := ioutil.ReadFile(currentActionStorePath)
if os.IsNotExist(err) {
// nothing to copy
return nil
}
if err != nil {
return err
currentActionStore, err := ioutil.ReadFile(currentActionStorePath)
if os.IsNotExist(err) {
// nothing to copy
continue
}
if err != nil {
return err
}

if err := ioutil.WriteFile(newActionStorePath, currentActionStore, 0600); err != nil {
return err
}
}

return ioutil.WriteFile(newActionStorePath, currentActionStore, 0600)
return nil
}

0 comments on commit da94576

Please sign in to comment.