Elastic Agent upgrade option is grayed out on Fleet Server


In the product compatibility support matrix page it says that Elasticsearch 8.10.X is compatible with Elastic Agent 7.17.x - 8.10.X, so I would expect the there is no incompatibility issues between patch versions.

For example, Elastic Agent 8.10.3 should be compatible with the stack on version 8.10.2.

However, if I go to fleet page to try to upgrade an agent, the upgrade option is grayed out.

Screenshot from 2023-10-10 12-19-10

Looking at the documentation, it says this:

The Upgrade agent option is grayed out if an upgrade is unavailable or the Kibana version is lower than the agent version.

So, in this case I cannot upgrade an agent to version 8.10.3 if I'm using Kibana 8.10.2, and to use Kibana 8.10.3 I would need to upgrade the entire stack to 8.10.3, the documentation about Kibana compatilibity states that running different patch versions is generally supported, but it does not make clear if this applies to Kibana patch being higher than Elasticsearch patch version.

Is there any way to force the upgrade of a single agent without the need to upgrade the entire stack?

Upgrade the entire stack to be able to upgrade a single agent to fix a bug is really not the best approach and it is not what is described in the support matrix page.

I don't have a good answer to your question, but I thought I would add some details of my research, since I have had the same question.

I think in the Kibana UI, the logic for what agent version to use comes from:

Maybe an elastic-agent developer can chime in,
but reading that code, I can't understand if you have an
elastic-agent at version: MAJOR.MINOR.PATCH,
if the Kibana logic kicks out the ability to update to an elastic agent with a PATCH version which is higher than the PATCH version of the currently running Kibana.

Elastic devs, care to chime in?

I already opened an feature request issue on Github.

If the support matrix says that Elastic Agent 8.10.X is compatible with Elasticsearch 8.10.X, then the user should be able to upgrade it through Kibana, the version should be pinned on the minor version, not the patch version.

But if the Elastic Agent version needs to be pinned to the patch version of Kibana, then the Support Matrix should reflect this and says that patch versions are not fully compatible.

Agree with you :100:

If you manually (outside of Kibana UI)
try to run elastic-agent 8.10.3 and try to connect it to Kibana Fleet 8.10.2 does that work, or does that get kicked out at the API level.

I don’t have a Kibana 8.10.2 setup to test.

If you manually upgrade the agents usind ./elastic-agent upgrade version it will work, there is no issue.

I'm on 8.10.2 (Elasticsearch, Kibana, Fleet Server) but have agents on 8.10.4, both agents that I upgraded manually and new agents on version 8.10.4 enrolled without any issue.

But you can't upgrade through the Fleet UI because the version is pinned on Kibana version.

Thanks for the feedback. I'm not sure if you
have an Enterprise contract with Elastic, but I do,
so I filed a ticket at https://support.elastic.co, and referred to your GitHub issue.

I also have interest in having this problem fixed.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.