Hi @ash2k, we need to confirm with @nagyv-gitlab, about if we can deprecate the old agent registration approach (through GetConfiguration method), but we will lose visibility for old version agents if we deprecate it.
I would like to clarify my understandings, what visibility do we lose? I think the old versions agents will not send Register request, so it can't register agents. So, the agent can't communicate with KAS, thus it can't work at all. Users need to update agents, correct?
I would like to clarify my understandings, what visibility do we lose? I think the old versions agents will not send Register request, so it can't register agents. So, the agent can't communicate with KAS, thus it can't work at all. Users need to update agents, correct?
Not exactly. The registration we moved from GetConfiguration into Register is for these purposes:
To get a list of connected agent replicas for a project or by agent id. This is a UI-only feature. Hm, I'm not exactly sure where it's used, but I'm sure it is.
To get a metric on the number of connected agents (unique ids)
To get a metric on the number of connected agent replicas (Pods)
Thanks for clarification! Oh, so the agent still can build a connection to KAS even though the agent registration fails It seems it affects mainly the metrics of number of connected agents.
@takax@ash2k I don't mind losing the tracking of older agents, but I'd like to get an idea of the upgrade rate. Can you tell me what share of agents is considered "old"? What's the version of these agents?
We do have information about versions of all agents in Redis. It is accessible via API that kas exposes. But I think we don't have a way to query this info. Maybe it is actually exposed via GraphQL, I'm not sure.
I think we need an "admin" page where you can see all agents connected to the GitLab instance with info about them all, including versioning statistics.
In the previous discussions of this issue it seems like we use the terms "Deprecation" and "Removals" interchangeably and it is scheduled for %17.0.
However, if we plan to remove it in %17.0 I think we should deprecate (as in "announce" / document) now (%16.9 ?)
From the overall discussion and especially @nagyv-gitlab comment it seems like we want to remove GetConfiguration in %17.0 and deprecate it in %16.9. @takax@ash2k@nagyv-gitlab can you confirm?
We don't want to remove GetConfiguration RPC (it is still used to fetch config!), we only want it to stop registering agents for the purpose of metrics. It's not affecting customers in any way. There is nothing to announce here.