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

[meta] Improve deprecation warnings for plugins without an enabled config in 8.0. #114188

Closed
34 of 100 tasks
lukeelmers opened this issue Oct 6, 2021 · 1 comment
Closed
34 of 100 tasks
Labels
Feature:Upgrade Assistant Meta Team:Kibana Management Dev Tools, Index Management, Upgrade Assistant, ILM, Ingest Node Pipelines, and more

Comments

@lukeelmers
Copy link
Member

lukeelmers commented Oct 6, 2021

Summary

In #89584, we identified the list of plugins which will no longer be disable-able in 8.0. In preparation for the PR with the breaking change, we merged #112602, which added deprecation warnings for all affected plugins.

We decided to do this in one PR to ensure no deprecations were forgotten. However, the result was that these warnings are quite generic as they have not been customized to a specific plugin's users. In the Upgrade Assistant, they will simply say Configuring "foo.enabled" is deprecated and will be removed in 8.0., with instructions to Remove "foo.enabled" from the Kibana config file, CLI flag, or environment variable (in Docker only) before upgrading to 8.0.

Some plugins may have alternative configurations that we could instead point users to, which would create a better upgrade experience. For example, some users may have been depending on the enabled configs to hide items from the UI. In these cases, pointing users to Feature Controls, if available for that plugin, might be a good option. Alternatively, some plugins have other config options that could be used instead. e.g., index_lifecycle_management has a ui.enabled setting which users might prefer to configure.

The purpose of this meta issue is to track the list of affected plugins so that teams can determine whether it is possible to provide their users with a better upgrade experience and link any relevant issues/PRs here.

How to customize your deprecation message

export const config: PluginConfigDescriptor = {
  schema: configSchema,
  deprecations: ({ deprecate }) => [
-    deprecate('enabled', '8.0.0'),
+    (settings, fromPath, addDeprecation, { branch }) => {
+      if (settings?.xpack?.myplugin?.enabled !== undefined) {
+        addDeprecation({
+          documentationUrl: `https://www.elastic.co/guide/en/kibana/${branch}/foo.html`,
+          title: i18n.translate('...', { defaultMessage: 'something is deprecated' }),
+          message: i18n.translate('...', { defaultMessage: 'my message' }),
+          correctiveActions: {
+            manualSteps: [
+              i18n.translate('...', { defaultMessage: 'Do a thing' }),
+              i18n.translate('...', { defaultMessage: 'Do another thing' }),
+            ],
+          },
+        });
+      }
+    },
  ],
};

List of affected plugins by team

Instructions: Next to each plugin you own, please link to any PRs/issues related to improving your deprecations, and check the box to indicate you have completed this review for your plugin. If you determine no action is necessary, please check the box anyway to confirm that you have reviewed this.

@elastic/apm-ui

@elastic/enterprise-search-frontend

  • x-pack/enterprise_search

@elastic/fleet

  • x-pack/fleet

@elastic/kibana-alerting-services #114190

  • x-pack/actions
  • x-pack/alerting
  • x-pack/event_log
  • x-pack/stack_alerts
  • x-pack/task_manager

@elastic/kibana-app

  • charts
  • discover
  • vis_default_editor
  • visualizations
  • visualize
  • x-pack/graph
  • x-pack/lens

@elastic/kibana-app-services

  • bfetch
  • embeddable
  • embeddable_enhanced
  • expressions
  • field_formats
  • index_pattern_editor
  • index_pattern_field_editor
  • index_pattern_management
  • inspector
  • kibana_react
  • kibana_utils
  • management
  • navigation
  • screenshot_mode
  • share
  • ui_actions
  • url_drilldown
  • url_forwarding
  • xpack.runtime_fields
  • xpack.ui_actions_enhanced

@elastic/kibana-core

  • advanced_settings
  • kibana_overview
  • kibana_usage_collection
    • not necessary as disabling telemetry will already prevent sending usage
  • saved_objects
  • saved_objects_management
  • saved_objects_tagging_oss
  • telemetry_collection_manager
    • not necessary as this is handled by disabling telemetry
  • telemetry_collection_xpack
    • not necessary as this is handled by disabling telemetry
  • telemetry_management_section
    • not necessary as this is handled by disabling telemetry
  • x-pack.translations
  • x-pack/cloud
    • primary consumer is cloud, no changes needed
  • x-pack/saved_objects_tagging
  • xpack.global_search_bar
  • xpack.global_search_providers
  • xpack/features

@elastic/kibana-gis

  • x-pack/maps

@elastic/kibana-presentation

  • expression_error
  • expression_image
  • expression_metric
  • expression_repeat_image
  • expression_reveal_image
  • expression_shape
  • input_control_vis
  • presentation_util
  • x-pack/dashboard_mode
  • xpack.canvas
  • xpack.dashboardEnhanced

@elastic/kibana-security

@elastic/kibana-stack-management

@elastic/logs-metrics-ui

  • xpack.uptime
  • x-pack/infra

@elastic/ml-ui

  • data_visualizer
  • file_upload
  • xpack.ml
  • xpack.transform

@elastic/observability-ui

  • x-pack/observability

@elastic/security-asset-management

  • x-pack/osquery

@elastic/security-detections-response

  • x-pack/lists
  • x-pack/metrics_entities
  • x-pack/rule_registry

@elastic/security-solution

  • x-pack/security_solution

@elastic/security-threat-hunting

  • x-pack/cases
  • x-pack/timelines

@elastic/stack-monitoring-ui

  • x-pack/monitoring

cc @elastic/kibana-stack-management

@lukeelmers
Copy link
Member Author

closing as 8.0 has shipped

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Upgrade Assistant Meta Team:Kibana Management Dev Tools, Index Management, Upgrade Assistant, ILM, Ingest Node Pipelines, and more
Projects
None yet
Development

No branches or pull requests

1 participant