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

[Deprecations] Report on # of external calls to deprecated Saved Objects APIs in Upgrade Assistant #182319

Closed
TinaHeiligers opened this issue May 2, 2024 · 12 comments
Labels
Feature:Upgrade Assistant Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc Team:Kibana Management Dev Tools, Index Management, Upgrade Assistant, ILM, Ingest Node Pipelines, and more

Comments

@TinaHeiligers
Copy link
Contributor

The Saved Objects Global HTTP APIs were deprecated in 8.7.
Can we use the Upgrade Assistant to report the number of external requests to these APIs?

@TinaHeiligers TinaHeiligers added the Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc label May 2, 2024
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-core (Team:Core)

@TinaHeiligers
Copy link
Contributor Author

@alisonelizabeth How feasible would this be?

@TinaHeiligers TinaHeiligers added Team:Kibana Management Dev Tools, Index Management, Upgrade Assistant, ILM, Ingest Node Pipelines, and more Feature:Upgrade Assistant labels May 2, 2024
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-management (Team:Kibana Management)

@alisonelizabeth
Copy link
Contributor

@TinaHeiligers here is documentation on the current core deprecations service. Please have a look and let me know if you think that will help with your use case - https://github.com/elastic/kibana/blob/main/src/core/server/docs/kib_core_deprecations_service.mdx

@TinaHeiligers
Copy link
Contributor Author

@gerard and I are considering 2 approaches to answer the question of "has this cluster made external calls to the deprecated APIs":

  1. Surface usage telemetry from the upstream telemetry cluster in an aggregated form in the upgrade assistant.
  2. Surface usage data directly from the .kibana index

Ideally, we can go with option 1 to get an aggregated view of the number of times the APIs have been called over 6 months. This requires read access to the upstream cluster.

If not possible, or there are security concerns, we'll have to go with option 2.

@pgayvallet
Copy link
Contributor

Surface usage telemetry from the upstream telemetry cluster in an aggregated form in the upgrade assistant
This requires read access to the upstream cluster.

I feel like this will indeed be a security concern, doesn't it?

@TinaHeiligers
Copy link
Contributor Author

TinaHeiligers commented May 14, 2024

I feel like this will indeed be a security concern, doesn't it?

It's only a security concern if we connect to the cluster directly and expose sensitive info. The alternatives (less accurate but might be ok), are:

  • read directly from the .kibana index and see if any API usage counters are present
  • something else....(do nothing/don't expose through the upgrade assistant)

The first option's drawback is that we'll only get info for the current session since telemetry was last sent

Not ideal, but certainly "safer" than reading the data from upstream.

@TinaHeiligers
Copy link
Contributor Author

@Bamieh can you see how much effort it would be to extract usage counters from SO non-kibana requests in our telemetry data and surface that in the Upgrade Assistant?

If it's not too much work, we can go with that implementation to make it visible that a deployment has an integration with the APIs.

Alternative:
Static entry in the UA that states SO HTTP APIs are gone in v9. (possibly link to public docs on the breaking changes in the release notes)

@TinaHeiligers
Copy link
Contributor Author

@alisonelizabeth the issue we have with surfacing core's deprecations is that the deprecation service is in core!. Right now, we don't have a plugin to use the "standard" implementation.
We have to register them from within core's package-land.

@alisonelizabeth
Copy link
Contributor

@alisonelizabeth the issue we have with surfacing core's deprecations is that the deprecation service is in core!. Right now, we don't have a plugin to use the #182319 (comment).
We have to register them from within core's package-land.

Ah, I see. Are you looking for further assistance from the Management team on this, or are you going to explore other options?

@TinaHeiligers
Copy link
Contributor Author

TinaHeiligers commented Sep 12, 2024

Are you looking for further assistance from the Management team on this, or are you going to explore other options?

I'm looking for any advice on the best option to get this done with the least overhead. Has the management team had to handle cases like this before? In your opinion, what would be the best?

@Bamieh Bamieh removed their assignment Sep 17, 2024
@rudolf
Copy link
Contributor

rudolf commented Oct 2, 2024

Once #117241 is complete any APIs with the deprecated: true flag will report usage in UA. So I'll close this issue.

@rudolf rudolf closed this as completed Oct 2, 2024
@rudolf rudolf closed this as not planned Won't fix, can't repro, duplicate, stale Oct 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Upgrade Assistant Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc Team:Kibana Management Dev Tools, Index Management, Upgrade Assistant, ILM, Ingest Node Pipelines, and more
Projects
None yet
Development

No branches or pull requests

6 participants