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

[Fleet] Validates the Elastic Version agent on connect. #63736

Closed
ph opened this issue Apr 16, 2020 · 5 comments
Closed

[Fleet] Validates the Elastic Version agent on connect. #63736

ph opened this issue Apr 16, 2020 · 5 comments
Labels
Feature:Fleet Fleet team's agent central management project Team:Fleet Team label for Observability Data Collection Fleet team

Comments

@ph
Copy link
Contributor

ph commented Apr 16, 2020

The Agent had a strict version match logic and was refusing to connect to Kibana if the version was not an exact match. (8.0.0 === 8.0.0)

We have removed the logic on the Elastic Agent side and we think that logic should be put into the Fleet side instead that check the User-Agent this will allow better control over the update and how to correctly dispatch the data to the Elastic Agent.

I think the logic should be to refuse the connection if the Elastic-Agent version is higher than the Kibana version.

Reference: elastic/beats#17764

@ph ph added Feature:Fleet Fleet team's agent central management project Team:Fleet Team label for Observability Data Collection Fleet team labels Apr 16, 2020
@elasticmachine
Copy link
Contributor

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

@ph
Copy link
Contributor Author

ph commented Apr 16, 2020

cc @ruflin WDYT?

@ruflin
Copy link
Member

ruflin commented Apr 17, 2020

I assume the agent would still have some logic in place (or the processes it runs) to not send data to an Elasticsearch instance older then itself?

For Kibana vs Beats checking it: What are the pros and cons of both options?

I think the more general issue here is that we checked the exact string instead of comparing the minor release? 8.0.1 should work with 8.0.0? Also should 8.0.0 work with 8.0.0-SNAPSHOT? I would assume yes?

@ph
Copy link
Contributor Author

ph commented Apr 21, 2020

I assume the agent would still have some logic in place (or the processes it runs) to not send data to an Elasticsearch instance older then itself?

Are you sure we want to do that? I think the idea of doing that is to make sure we have parity of feature like datastream? We should bring it up with platform.

For Kibana vs Beats checking it: What are the pros and cons of both options?

If you do the check on Kibana, you can adapt the response format to the client and have logic in place to better smooth the upgrade/update. We keep the communication open, this gives us a bit more freedom. If you put the hard check on the Elastic Agent, we actually kill the communication channel we can't recover.

8.0.1 should work with 8.0.0? Also should 8.0.0 work with 8.0.0-SNAPSHOT? I would assume yes?

Yes but this check need to happen on the other side using the User Agent string.

@ph ph removed their assignment Jun 15, 2020
@ph
Copy link
Contributor Author

ph commented Oct 16, 2020

Work was done in
#75176 and
#76238

@ph ph closed this as completed Oct 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Fleet Fleet team's agent central management project Team:Fleet Team label for Observability Data Collection Fleet team
Projects
None yet
Development

No branches or pull requests

3 participants