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

[Discuss] Support managed downgrades #520

Open
joshdover opened this issue Jun 7, 2022 · 1 comment
Open

[Discuss] Support managed downgrades #520

joshdover opened this issue Jun 7, 2022 · 1 comment
Labels
enhancement New feature or request Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team

Comments

@joshdover
Copy link
Contributor

In some scenarios, users may want to cancel an Agent upgrade rollout and revert back to a previous version. For example, if there is a bug in a newer version of Agent that is affecting their configuration.

Downgrading the Agent in place is quite complex and may be hard to support. New features added in future versions may be impossible or very costly to support in a way that can be downgraded, for example:

  • Secret management and storage on the host
  • Encrypted disk queues
  • Schema of local state managed by inputs

An alternative approach could be to support downgrades via an unenroll and re-enroll flow, this could work like (very hand wave-y):

  • Fleet Server sends down a DOWNGRADE action that includes an enrollment token for the same policy
  • Agent "soft" unenrolls by emptying remaining data in the queues and then uninstalling itself
  • Agent then reinstalls itself on the older version with the enrollment token sent by Fleet Server
    • How this process happens is the most ambiguous aspect. Could we put a script into a tmp directory that gets executed after the uninstall completes?

We may also want to support preserving the agent.id during this flow for minimal disruption in ingest processing and data correlation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team
Projects
None yet
Development

No branches or pull requests

2 participants