From d53c996faf3cb1475e3044851a6be41104fb3fdf Mon Sep 17 00:00:00 2001 From: Chris Roberson Date: Mon, 11 Feb 2019 14:38:28 -0500 Subject: [PATCH 1/8] Add breaking change for constants change --- docs/migration/migrate_7_0.asciidoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/migration/migrate_7_0.asciidoc b/docs/migration/migrate_7_0.asciidoc index a40b7af1ae857b..92c9762adad517 100644 --- a/docs/migration/migrate_7_0.asciidoc +++ b/docs/migration/migrate_7_0.asciidoc @@ -119,6 +119,10 @@ Previously set `xpack.monitoring.elasticsearch.ssl.verify` is equal to `xpack.mo *Impact:* Users with `xpack.monitoring.report_stats` set should use `xpack.xpack_main.telemetry.enabled` instead. +[float] +=== kibana.yml setting `xpack.monitoring.*.index_pattern` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize these patterns is no longer supported. + [float] === Deprecated API `/shorten` has been removed *Details:* The `/shorten` API has been deprecated since 6.5, when it was replaced by the `/api/shorten_url` API. From 61b3e6bc6133fbb1eb1e22ee1f3a458ef2cd8646 Mon Sep 17 00:00:00 2001 From: Chris Roberson Date: Mon, 11 Feb 2019 14:54:35 -0500 Subject: [PATCH 2/8] PR feedback --- docs/migration/migrate_7_0.asciidoc | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/docs/migration/migrate_7_0.asciidoc b/docs/migration/migrate_7_0.asciidoc index 92c9762adad517..ffb9b392cfcf21 100644 --- a/docs/migration/migrate_7_0.asciidoc +++ b/docs/migration/migrate_7_0.asciidoc @@ -120,8 +120,28 @@ Previously set `xpack.monitoring.elasticsearch.ssl.verify` is equal to `xpack.mo *Impact:* Users with `xpack.monitoring.report_stats` set should use `xpack.xpack_main.telemetry.enabled` instead. [float] -=== kibana.yml setting `xpack.monitoring.*.index_pattern` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize these patterns is no longer supported. +=== kibana.yml setting `xpack.monitoring.index_pattern` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported. + +[float] +=== kibana.yml setting `xpack.monitoring.kibana.index_pattern` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported + +[float] +=== kibana.yml setting `xpack.monitoring.beats.index_pattern` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported + +[float] +=== kibana.yml setting `xpack.monitoring.logstash.index_pattern` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported + +[float] +=== kibana.yml setting `xpack.monitoring.elasticsearch.index_pattern` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported + +[float] +=== kibana.yml setting `xpack.monitoring.cluster_alerts.index` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this index is no longer supported [float] === Deprecated API `/shorten` has been removed From 73bd5c51ac6c6942946c8064eb179c78697025ba Mon Sep 17 00:00:00 2001 From: lcawl Date: Mon, 11 Feb 2019 17:52:26 -0800 Subject: [PATCH 3/8] [DOCS] Edits the new breaking changes --- docs/migration/migrate_7_0.asciidoc | 72 +++++++++++++++++++---------- 1 file changed, 48 insertions(+), 24 deletions(-) diff --git a/docs/migration/migrate_7_0.asciidoc b/docs/migration/migrate_7_0.asciidoc index 712dcdb099a3e9..af7c13a8c85485 100644 --- a/docs/migration/migrate_7_0.asciidoc +++ b/docs/migration/migrate_7_0.asciidoc @@ -278,6 +278,30 @@ file have been removed. *Impact:* Use `xpack.upgrade_assistant.` instead. +[float] +==== `xpack.monitoring.beats.index_pattern` is no longer valid + +*Details:* The unsupported `xpack.monitoring.beats.index_pattern` setting in the +`kibana.yml` file has been officially removed. + +*Impact:* The ability to customize this pattern is no longer supported. + +[float] +==== `xpack.monitoring.cluster_alerts.index` is no longer valid + +*Details:* The unsupported `xpack.monitoring.cluster_alerts.index` setting in +the `kibana.yml` file has been officially removed. + +*Impact:* The ability to customize this index is no longer supported. + +[float] +==== `xpack.monitoring.elasticsearch.index_pattern` is no longer valid + +*Details:* The unsupported `xpack.monitoring.elasticsearch.index_pattern` +setting in the `kibana.yml` file has been officially removed. + +*Impact:* The ability to customize this pattern is no longer supported. + [float] ==== `xpack.monitoring.elasticsearch.ssl.ca` is no longer valid @@ -317,6 +341,30 @@ is protocol dependent: https ports will use 443, and http ports will use 80. If `xpack.monitoring.elasticsearch.url` was dependent on an unspecified port set to 9200, append `:9200` to the url in `xpack.monitoring.elasticsearch.hosts`. +[float] +==== `xpack.monitoring.index_pattern` is no longer valid + +*Details:* The unsupported `xpack.monitoring.index_pattern` setting in the +`kibana.yml` file has been officially removed. + +*Impact:* The ability to customize this pattern is no longer supported. + +[float] +==== `xpack.monitoring.kibana.index_pattern` is no longer valid + +*Details:* The unsupported `xpack.monitoring.kibana.index_pattern` setting in +the `kibana.yml` file has been officially removed. + +*Impact:* The ability to customize this pattern is no longer supported. + +[float] +==== `xpack.monitoring.logstash.index_pattern` is no longer valid + +*Details:* The unsupported `xpack.monitoring.logstash.index_pattern` setting in +the `kibana.yml` file has been officially removed. + +*Impact:* The ability to customize this pattern is no longer supported. + [float] ==== `xpack.monitoring.node_resolver` is no longer valid @@ -337,27 +385,3 @@ the `path.data` directory when the node or instance starts. `kibana.yml` file has been removed. *Impact:* Use `xpack.xpack_main.telemetry.enabled` instead. - -[float] -==== kibana.yml setting `xpack.monitoring.index_pattern` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported. - -[float] -==== kibana.yml setting `xpack.monitoring.kibana.index_pattern` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported - -[float] -==== kibana.yml setting `xpack.monitoring.beats.index_pattern` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported - -[float] -==== kibana.yml setting `xpack.monitoring.logstash.index_pattern` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported - -[float] -==== kibana.yml setting `xpack.monitoring.elasticsearch.index_pattern` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported - -[float] -==== kibana.yml setting `xpack.monitoring.cluster_alerts.index` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this index is no longer supported From 4affb413035d2cf2a105d79cf1d08c2874cb2fd0 Mon Sep 17 00:00:00 2001 From: lcawl Date: Mon, 11 Feb 2019 18:03:13 -0800 Subject: [PATCH 4/8] [DOCS] Reverts merge --- docs/migration/migrate_7_0.asciidoc | 355 ++++++++++------------------ 1 file changed, 131 insertions(+), 224 deletions(-) diff --git a/docs/migration/migrate_7_0.asciidoc b/docs/migration/migrate_7_0.asciidoc index af7c13a8c85485..ffb9b392cfcf21 100644 --- a/docs/migration/migrate_7_0.asciidoc +++ b/docs/migration/migrate_7_0.asciidoc @@ -7,8 +7,6 @@ This section discusses the changes that you need to be aware of when migrating your application to Kibana 7.0. -* <> - See also <> and <>. [float] @@ -80,308 +78,217 @@ If some of your indices have a non-default `default_field` setting, you may want to Kibana's advanced setting. [float] -=== Deprecated API `/shorten` has been removed -*Details:* The `/shorten` API has been deprecated since 6.5, when it was replaced by the `/api/shorten_url` API. +=== Deprecated kibana.yml setting `xpack.monitoring.node_resolver` has been removed +*Details:* This setting has been deprecated since 5.6, when it was explicitly recommended to use `uuid` as its value. -*Impact:* The '/shorten' API has been removed. Use the '/api/shorten_url' API instead. +*Impact:* This setting is no longer necessary. If you enable {monitoring} across the Elastic Stack, a monitoring agent runs +on each Elasticsearch node, Logstash node, Kibana instance, and Beat to collect and index metrics. Each node and instance is +considered unique based on its persistent UUID, which is written to the path.data directory when the node or instance starts. [float] -=== Optimization step deferred until server start -*Details:* Prior versions of Kibana would run the optimization step after each plugin installation. This is now run on server start when necessary. +=== kibana.yml setting `xpack.monitoring.elasticsearch.url` is no longer valid +*Details:* This deprecated setting has been removed and `xpack.monitoring.elasticsearch.hosts` should be used instead. +In prior versions of Kibana, if no port was specified in `xpack.monitoring.elasticsearch.url` a default of 9200 was chosen. +The port in `xpack.monitoring.elasticsearch.hosts` is protocol dependent: https ports will use 443, and http ports will use 80. -*Impact:* Users can trigger a standalone optimization after all plugins have been installed with `bin/kibana --optimize` or let the server manage it on startup. +*Impact:* Users with `xpack.monitoring.elasticsearch.url` set should use `xpack.monitoring.elasticsearch.hosts` instead and if +`xpack.monitoring.elasticsearch.url` was dependent on an unspecified port set to 9200, `:9200` will have to be appended to the url. [float] -=== Legacy browsers (namely IE11) will see a security warning message whenever they load Kibana -*Details:* Kibana now has a Content Security Policy, but it's only effective if browsers enforce it, and since older -browsers like Internet Explorer 11 do not support CSP, we show them a warning message whenever they load Kibana. +=== kibana.yml setting `xpack.monitoring.elasticsearch.ssl.cert` is no longer valid +*Details:* This deprecated setting has been removed and `xpack.monitoring.elasticsearch.ssl.certificate` should be used instead. -*Impact:* Nothing needs to be done necessarily, but if you don't need to support legacy browsers like IE11, we recommend -that you set `csp.strict: true` in your kibana.yml to block access to those browsers entirely. If your organization requires -users to use IE11, you might like to disable the warning entirely with `csp.warnLegacyBrowsers: false` in your kibana.yml. +*Impact:* Users with `xpack.monitoring.elasticsearch.ssl.cert` set should use `xpack.monitoring.elasticsearch.ssl.certificate` instead [float] -=== Saved object structure change -*Details:* Saved objects no longer contain ids of other saved objects under `attributes`. They have been moved under `references` with a named reference in `attributes`. +=== kibana.yml setting `xpack.monitoring.elasticsearch.ssl.ca` is no longer valid +*Details:* This deprecated setting has been removed and `xpack.monitoring.elasticsearch.ssl.certificateAuthorities` should be used instead. -Example structure before: -``` -{ - ... - "attributes": { - ... - "panelsJSON": [{ - ... - "type": "visualization", - "id": "dbf71bb0-ffad-11e8-acfd-d359b3d9069" - }] - } -} -``` - -Example structure after: -``` -{ - ... - "attributes": { - ... - "panelsJSON": [{ - ... - "panelRefName": "panel_0" - }] - }, - "references": [{ - "name": "panel_0", - "type": "visualization", - "id": "dbf71bb0-ffad-11e8-acfd-d359b3d9069" - }] -} -``` - -*Impact:* Users who query directly for ids will have to use the new `hasReference` in the find API. Users who save ids within attributes will have to move them into the `references` attribute and have a named reference to it. - -[float] -[[breaking_70_setting_changes]] -=== Settings changes +*Impact:* Users with `xpack.monitoring.elasticsearch.ssl.ca` set should use `xpack.monitoring.elasticsearch.ssl.certificateAuthorities` instead [float] -==== `elasticsearch.ssl.ca` is no longer valid +=== kibana.yml setting `xpack.monitoring.elasticsearch.ssl.verify` is no longer valid +*Details:* This deprecated setting has been removed and `xpack.monitoring.elasticsearch.ssl.verificationMode` should be used instead. -*Details:* The deprecated `elasticsearch.ssl.ca` setting in the `kibana.yml` -file has been removed. - -*Impact:* Use `elasticsearch.ssl.certificateAuthorities` instead. +*Impact:* Users with `xpack.monitoring.elasticsearch.ssl.verify` set should use `xpack.monitoring.elasticsearch.ssl.verificationMode` instead. +Previously set `xpack.monitoring.elasticsearch.ssl.verify` is equal to `xpack.monitoring.elasticsearch.ssl.verificationMode: full`. [float] -==== `elasticsearch.ssl.cert` is no longer valid - -*Details:* The deprecated `elasticsearch.ssl.cert` setting in the `kibana.yml` -file has been removed. +=== kibana.yml setting `xpack.monitoring.report_stats` is no longer valid +*Details:* This deprecated setting has been removed and `xpack.xpack_main.telemetry.enabled` should be used instead. -*Impact:* Use `elasticsearch.ssl.certificate` instead. +*Impact:* Users with `xpack.monitoring.report_stats` set should use `xpack.xpack_main.telemetry.enabled` instead. [float] -==== `elasticsearch.ssl.verify` is no longer valid - -*Details:* The deprecated `elasticsearch.ssl.verify` setting in the `kibana.yml` -file has been removed. - -*Impact:* Use `elasticsearch.ssl.verificationMode` instead. If you set -`elasticsearch.ssl.verify` to `true`, that is equal to setting -`elasticsearch.ssl.verificationMode` to `full`. +=== kibana.yml setting `xpack.monitoring.index_pattern` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported. [float] -==== `elasticsearch.url` is no longer valid - -*Details:* The deprecated `elasticsearch.url` setting in the `kibana.yml` file -has been removed. - -*Impact:* Use `elasticsearch.hosts` instead. In prior versions of Kibana, if no -port was specified in `elasticsearch.url`, a default of 9200 was chosen. The -port in `elasticsearch.hosts` is protocol dependent: https ports will use 443, -and http ports will use 80. If your `elasticsearch.url` setting was dependent on -an unspecified port set to 9200, append `:9200` to the url in the -`elasticsearch.hosts` setting. +=== kibana.yml setting `xpack.monitoring.kibana.index_pattern` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported [float] -==== `i18n.defaultLocale` is no longer valid - -*Details:* The deprecated `i18n.defaultLocale` setting in the `kibana.yml` file -has been removed. - -*Impact:* Use `i18n.locale` instead. +=== kibana.yml setting `xpack.monitoring.beats.index_pattern` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported [float] -==== `index_management.` is no longer valid - -*Details:* The deprecated `index_management.*` settings in the `kibana.yml` -file have been removed. - -*Impact:* Use `xpack.index_management.` instead. +=== kibana.yml setting `xpack.monitoring.logstash.index_pattern` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported [float] -==== `license_management.` is no longer valid - -*Details:* The deprecated `license_management.*` settings in the `kibana.yml` -file have been removed. - -*Impact:* Use `xpack.license_management.` instead. +=== kibana.yml setting `xpack.monitoring.elasticsearch.index_pattern` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported [float] -==== `logging.useUTC` is no longer valid - -*Details:* The deprecated `logging.useUTC` setting in the `kibana.yml` file has -been removed. - -*Impact:* If `logging.useUTC` was set to `true` (its default value), the -timezone id was `UTC`. Use `logging.timezone` instead. Any timezone can now be -specified by canonical id. +=== kibana.yml setting `xpack.monitoring.cluster_alerts.index` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this index is no longer supported [float] -==== `regionmap` is no longer valid - -*Details:* The deprecated `regionmap` setting in the `kibana.yml` file has been -removed. +=== Deprecated API `/shorten` has been removed +*Details:* The `/shorten` API has been deprecated since 6.5, when it was replaced by the `/api/shorten_url` API. -*Impact:* Use `map.regionmap` instead. +*Impact:* The '/shorten' API has been removed. Use the '/api/shorten_url' API instead. [float] -==== `rollup.` is no longer valid - -*Details:* The deprecated `rollup.*` settings in the `kibana.yml` file have been -removed. +=== Deprecated kibana.yml setting logging.useUTC has been replaced with logging.timezone +*Details:* Any timezone can now be specified by canonical id. -*Impact:* Use `xpack.rollup.` instead. +*Impact:* The logging.useUTC flag will have to be replaced with a timezone id. If set to true the id is `UTC`. [float] -==== `server.ssl.cert` is no longer valid +=== kibana.yml setting `server.ssl.supportedProtocols` excludes TLSv1 by default +*Details:* TLSv1 support has been removed by default, it's still possible to opt-in to TLSv1 support by explicitly setting +`server.ssl.supportedProtocols` -*Details:* The deprecated `server.ssl.cert` setting in the `kibana.yml` file has -been removed. - -*Impact:* Use `server.ssl.certificate` instead +*Impact:* Users relying upon TLSv1 will be unable to use Kibana unless `server.ssl.supportedProtocols` is explicitly set. [float] -==== `server.ssl.enabled` must be set to `true` to enable SSL - -*Details:* Previously, if the `server.ssl.certificate` and `server.ssl.key` -settins were specified in the `kibana.yml` file, SSL would be automatically -enabled. It's now required that you set `server.ssl.enabled` to `true` for this -to occur. +=== kibana.yml setting `server.ssl.cert` is no longer valid +*Details:* This deprecated setting has been removed and `server.ssl.certificate` should be used instead. -*Impact:* Users with both `server.ssl.certificate` and `server.ssl.key` set must -now also set `server.ssl.enabled` to enable SSL. +*Impact:* Users with `server.ssl.cert` set should use `server.ssl.certificate` instead [float] -==== `server.ssl.supportedProtocols` excludes TLSv1 by default +=== kibana.yml `server.ssl.enabled` must be set to `true` to enable SSL +*Details:* Previously, if `server.ssl.certificate` and `server.ssl.key` were set, SSL would automatically be enabled. +It's now required that the user sets `server.ssl.enabled` to true for this to occur. -*Details:* By default, TLSv1 support has been removed. It's still possible to -opt-in to TLSv1 support by explicitly setting `server.ssl.supportedProtocols` in -the `kibana.yml` file. - -*Impact:* Users relying on TLSv1 will be unable to use Kibana unless -`server.ssl.supportedProtocols` is explicitly set. +*Impact:* Users with both `server.ssl.certificate` and `server.ssl.key` set must now also set `server.ssl.enabled` to enable SSL. [float] -==== `tilemap` is no longer valid - -*Details:* The deprecated `tilemap` setting in the `kibana.yml` file has been -removed. +=== Deprecated kibana.yml setting `regionmap` has been replaced with `map.regionmap` +*Details:* This deprecated setting has been removed and `map.regionmap` should be used instead. -*Impact:* Use `map.tilemap` instead. +*Impact:* Users with `regionmap` set should use `map.regionmap` instead. [float] -==== `upgrade_assistant.` is no longer valid +=== Deprecated kibana.yml setting `tilemap` has been replaced with `map.tilemap` +*Details:* This deprecated setting has been removed and `map.tilemap` should be used instead. -*Details:* The deprecated `upgrade_assistant.*` settings in the `kibana.yml` -file have been removed. +*Impact:* Users with `tilemap` set should use `map.tilemap` instead. -*Impact:* Use `xpack.upgrade_assistant.` instead. [float] -==== `xpack.monitoring.beats.index_pattern` is no longer valid - -*Details:* The unsupported `xpack.monitoring.beats.index_pattern` setting in the -`kibana.yml` file has been officially removed. +=== Optimization step deferred until server start +*Details:* Prior versions of Kibana would run the optimization step after each plugin installation. This is now run on server start when necessary. -*Impact:* The ability to customize this pattern is no longer supported. +*Impact:* Users can trigger a standalone optimization after all plugins have been installed with `bin/kibana --optimize` or let the server manage it on startup. [float] -==== `xpack.monitoring.cluster_alerts.index` is no longer valid +=== kibana.yml setting `i18n.defaultLocale` is no longer valid +*Details:* This deprecated setting has been removed and `i18n.locale` should be used instead. -*Details:* The unsupported `xpack.monitoring.cluster_alerts.index` setting in -the `kibana.yml` file has been officially removed. - -*Impact:* The ability to customize this index is no longer supported. +*Impact:* Users with `i18n.defaultLocale` set should use `i18n.locale` instead [float] -==== `xpack.monitoring.elasticsearch.index_pattern` is no longer valid - -*Details:* The unsupported `xpack.monitoring.elasticsearch.index_pattern` -setting in the `kibana.yml` file has been officially removed. +=== kibana.yml setting `elasticsearch.url` is no longer valid +*Details:* This deprecated setting has been removed and `elasticsearch.hosts` should be used instead. +In prior versions of Kibana, if no port was specified in `elasticsearch.url` a default of 9200 was chosen. The port in +`elasticsearch.hosts` is protocol dependent: https ports will use 443, and http ports will use 80. -*Impact:* The ability to customize this pattern is no longer supported. +*Impact:* Users with `elasticsearch.url` set should use `elasticsearch.hosts` instead and if `elasticsearch.url` was +dependent on an unspecified port set to 9200, `:9200` will have to be appended to the url. [float] -==== `xpack.monitoring.elasticsearch.ssl.ca` is no longer valid +=== kibana.yml setting `elasticsearch.ssl.cert` is no longer valid +*Details:* This deprecated setting has been removed and `elasticsearch.ssl.certificate` should be used instead. -*Details:* The deprecated `xpack.monitoring.elasticsearch.ssl.ca` setting in the -`kibana.yml` file has been removed. - -*Impact:* Use `xpack.monitoring.elasticsearch.ssl.certificateAuthorities` instead. +*Impact:* Users with `elasticsearch.ssl.cert` set should use `elasticsearch.ssl.certificate` instead [float] -==== `xpack.monitoring.elasticsearch.ssl.cert` is no longer valid - -*Details:* The deprecated `xpack.monitoring.elasticsearch.ssl.cert` setting in -the `kibana.yml` file has been removed. +=== kibana.yml setting `elasticsearch.ssl.ca` is no longer valid +*Details:* This deprecated setting has been removed and `elasticsearch.ssl.certificateAuthorities` should be used instead. -*Impact:* Use `xpack.monitoring.elasticsearch.ssl.certificate` instead. +*Impact:* Users with `elasticsearch.ssl.ca` set should use `elasticsearch.ssl.certificateAuthorities` instead [float] -==== `xpack.monitoring.elasticsearch.ssl.verify` is no longer valid +=== kibana.yml setting `elasticsearch.ssl.verify` is no longer valid +*Details:* This deprecated setting has been removed and `elasticsearch.ssl.verificationMode` should be used instead. -*Details:* The deprecated `xpack.monitoring.elasticsearch.ssl.verify` setting in -the `kibana.yml` file has been removed. - -*Impact:* Use `xpack.monitoring.elasticsearch.ssl.verificationMode` instead. If -you previously set `xpack.monitoring.elasticsearch.ssl.verify` to `true`, it is -equal to setting `xpack.monitoring.elasticsearch.ssl.verificationMode` to `full`. +*Impact:* Users with `elasticsearch.ssl.verify` set should use `elasticsearch.ssl.verificationMode` instead. +Previously set `elasticsearch.ssl.verify` is equal to `elasticsearch.ssl.verificationMode: full`. [float] -==== `xpack.monitoring.elasticsearch.url` is no longer valid - -*Details:* The deprecated `xpack.monitoring.elasticsearch.url` setting in the -`kibana.yml` file has been removed. - -*Impact:* Use `xpack.monitoring.elasticsearch.hosts` instead. In prior versions -of Kibana, if no port was specified in `xpack.monitoring.elasticsearch.url` a -default of 9200 was chosen. The port in `xpack.monitoring.elasticsearch.hosts` -is protocol dependent: https ports will use 443, and http ports will use 80. If -`xpack.monitoring.elasticsearch.url` was dependent on an unspecified port set to -9200, append `:9200` to the url in `xpack.monitoring.elasticsearch.hosts`. +=== kibana.yml setting `index_management.` is no longer valid +*Impact:* Users with `index_management.` set should use `xpack.index_management.` instead. [float] -==== `xpack.monitoring.index_pattern` is no longer valid - -*Details:* The unsupported `xpack.monitoring.index_pattern` setting in the -`kibana.yml` file has been officially removed. - -*Impact:* The ability to customize this pattern is no longer supported. +=== kibana.yml setting `license_management.` is no longer valid +*Impact:* Users with `license_management.` set should use `xpack.license_management.` instead. [float] -==== `xpack.monitoring.kibana.index_pattern` is no longer valid - -*Details:* The unsupported `xpack.monitoring.kibana.index_pattern` setting in -the `kibana.yml` file has been officially removed. - -*Impact:* The ability to customize this pattern is no longer supported. +=== kibana.yml setting `rollup.` is no longer valid +*Impact:* Users with `rollup.` set should use `xpack.rollup.` instead. [float] -==== `xpack.monitoring.logstash.index_pattern` is no longer valid - -*Details:* The unsupported `xpack.monitoring.logstash.index_pattern` setting in -the `kibana.yml` file has been officially removed. - -*Impact:* The ability to customize this pattern is no longer supported. +=== kibana.yml setting `upgrade_assistant.` is no longer valid +*Impact:* Users with `upgrade_assistant.` set should use `xpack.upgrade_assistant.` instead. [float] -==== `xpack.monitoring.node_resolver` is no longer valid - -*Details:* The deprecated `xpack.monitoring.node_resolver` setting in the -`kibana.yml` file has been removed. This setting has been deprecated since 5.6, -when it was explicitly recommended to use `uuid` as its value. +=== Legacy browsers (namely IE11) will see a security warning message whenever they load Kibana +*Details:* Kibana now has a Content Security Policy, but it's only effective if browsers enforce it, and since older +browsers like Internet Explorer 11 do not support CSP, we show them a warning message whenever they load Kibana. -*Impact:* This setting is no longer necessary. If you enable the {stack} -{monitor-features}, a monitoring agent runs on each Elasticsearch node, Logstash -node, Kibana instance, and Beat to collect and index metrics. Each node and -instance is considered unique based on its persistent UUID, which is written to -the `path.data` directory when the node or instance starts. +*Impact:* Nothing needs to be done necessarily, but if you don't need to support legacy browsers like IE11, we recommend +that you set `csp.strict: true` in your kibana.yml to block access to those browsers entirely. If your organization requires +users to use IE11, you might like to disable the warning entirely with `csp.warnLegacyBrowsers: false` in your kibana.yml. [float] -==== `xpack.monitoring.report_stats` is no longer valid +=== Saved object structure change +*Details:* Saved objects no longer contain ids of other saved objects under `attributes`. They have been moved under `references` with a named reference in `attributes`. -*Details:* The deprecated `xpack.monitoring.report_stats` setting in the -`kibana.yml` file has been removed. +Example structure before: +``` +{ + ... + "attributes": { + ... + "panelsJSON": [{ + ... + "type": "visualization", + "id": "dbf71bb0-ffad-11e8-acfd-d359b3d9069" + }] + } +} +``` + +Example structure after: +``` +{ + ... + "attributes": { + ... + "panelsJSON": [{ + ... + "panelRefName": "panel_0" + }] + }, + "references": [{ + "name": "panel_0", + "type": "visualization", + "id": "dbf71bb0-ffad-11e8-acfd-d359b3d9069" + }] +} +``` -*Impact:* Use `xpack.xpack_main.telemetry.enabled` instead. +*Impact:* Users who query directly for ids will have to use the new `hasReference` in the find API. Users who save ids within attributes will have to move them into the `references` attribute and have a named reference to it. \ No newline at end of file From 7948412b858e74ee85dc7e64fd5e4bee8cd9ee78 Mon Sep 17 00:00:00 2001 From: lcawl Date: Mon, 11 Feb 2019 18:31:39 -0800 Subject: [PATCH 5/8] Removes yarn.lock from PR --- yarn.lock | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index 872d74987f1f06..7922a1153eca90 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1584,6 +1584,13 @@ dependencies: "@types/node" "*" +"@types/lodash.clonedeep@^4.5.4": + version "4.5.4" + resolved "https://registry.yarnpkg.com/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.4.tgz#2515c5f08bc95afebfb597711871b0497f5d7da7" + integrity sha512-+rCVPIZOJaub++wU/lmyp/SxiKlqXQaXI5LryzjuHBKFj51ApVt38Xxk9psLWNGMuR/obEQNTH0l/yDfG4ANNQ== + dependencies: + "@types/lodash" "*" + "@types/lodash.clonedeepwith@^4.5.3": version "4.5.3" resolved "https://registry.yarnpkg.com/@types/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.3.tgz#8057f074de743bdcff59fdbf26cd04c674a186cc" @@ -13847,7 +13854,7 @@ lodash.clone@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" integrity sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y= -lodash.clonedeep@^4.3.2: +lodash.clonedeep@^4.3.2, lodash.clonedeep@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= From 9f9a6760976c4b515b6865ceb790351f45208583 Mon Sep 17 00:00:00 2001 From: lcawl Date: Mon, 11 Feb 2019 18:39:21 -0800 Subject: [PATCH 6/8] Removes accidental files from PR --- package.json | 2 ++ .../migrations/core/document_migrator.test.ts | 23 +++++++++++++++ .../migrations/core/document_migrator.ts | 7 ++++- .../canvas/public/apps/workpad/routes.js | 20 ++++++++----- .../canvas/public/state/actions/transient.js | 1 + .../canvas/public/state/initial_state.js | 1 + .../canvas/public/state/reducers/transient.js | 4 +++ .../canvas/public/state/selectors/app.js | 4 +++ .../maps/public/angular/get_initial_layers.js | 5 ++-- .../public/angular/get_initial_layers.test.js | 4 +-- x-pack/plugins/maps/public/meta.js | 2 +- .../create_source_editor.js | 8 ++++-- .../kibana_tilemap_source.js | 28 ++++++++++++------- .../documentation_help_link.js | 23 +++++++++------ .../apps/spaces/spaces_selection.ts | 15 ++++------ 15 files changed, 102 insertions(+), 45 deletions(-) diff --git a/package.json b/package.json index 4d5a693792dbfc..6ab750b98b970e 100644 --- a/package.json +++ b/package.json @@ -109,6 +109,7 @@ "@kbn/pm": "1.0.0", "@kbn/test-subj-selector": "0.2.1", "@kbn/ui-framework": "1.0.0", + "@types/lodash.clonedeep": "^4.5.4", "JSONStream": "1.1.1", "abortcontroller-polyfill": "^1.1.9", "angular": "1.6.9", @@ -170,6 +171,7 @@ "less": "2.7.1", "less-loader": "4.1.0", "lodash": "npm:@elastic/lodash@3.10.1-kibana1", + "lodash.clonedeep": "^4.5.0", "lru-cache": "4.1.1", "markdown-it": "^8.4.1", "mini-css-extract-plugin": "0.4.4", diff --git a/src/legacy/server/saved_objects/migrations/core/document_migrator.test.ts b/src/legacy/server/saved_objects/migrations/core/document_migrator.test.ts index 293d96c8e62f49..a9df65604a9ae9 100644 --- a/src/legacy/server/saved_objects/migrations/core/document_migrator.test.ts +++ b/src/legacy/server/saved_objects/migrations/core/document_migrator.test.ts @@ -109,6 +109,29 @@ describe('DocumentMigrator', () => { }); }); + it(`doesn't mutate the original document`, () => { + const migrator = new DocumentMigrator({ + ...testOpts(), + migrations: { + user: { + '1.2.3': (doc: RawSavedObjectDoc) => { + _.set(doc, 'attributes.name', 'Mike'); + return doc; + }, + }, + }, + }); + const originalDoc = { + id: 'me', + type: 'user', + attributes: {}, + migrationVersion: {}, + }; + const migratedDoc = migrator.migrate(originalDoc); + expect(_.get(originalDoc, 'attributes.name')).toBeUndefined(); + expect(_.get(migratedDoc, 'attributes.name')).toBe('Mike'); + }); + it('migrates meta properties', () => { const migrator = new DocumentMigrator({ ...testOpts(), diff --git a/src/legacy/server/saved_objects/migrations/core/document_migrator.ts b/src/legacy/server/saved_objects/migrations/core/document_migrator.ts index 4a2a5aedc250d7..502b566924e311 100644 --- a/src/legacy/server/saved_objects/migrations/core/document_migrator.ts +++ b/src/legacy/server/saved_objects/migrations/core/document_migrator.ts @@ -62,6 +62,7 @@ import Boom from 'boom'; import _ from 'lodash'; +import cloneDeep from 'lodash.clonedeep'; import Semver from 'semver'; import { MigrationVersion, RawSavedObjectDoc } from '../../serialization'; import { LogFn, Logger, MigrationLogger } from './migration_logger'; @@ -147,7 +148,11 @@ export class DocumentMigrator implements VersionedTransformer { * @memberof DocumentMigrator */ public migrate = (doc: RawSavedObjectDoc): RawSavedObjectDoc => { - return this.transformDoc(doc); + // Clone the document to prevent accidental mutations on the original data + // Ex: Importing sample data that is cached at import level, migrations would + // execute on mutated data the second time. + const clonedDoc = cloneDeep(doc); + return this.transformDoc(clonedDoc); }; } diff --git a/x-pack/plugins/canvas/public/apps/workpad/routes.js b/x-pack/plugins/canvas/public/apps/workpad/routes.js index 727f03a779da93..d69895715e40ab 100644 --- a/x-pack/plugins/canvas/public/apps/workpad/routes.js +++ b/x-pack/plugins/canvas/public/apps/workpad/routes.js @@ -12,7 +12,8 @@ import { setWorkpad } from '../../state/actions/workpad'; import { setAssets, resetAssets } from '../../state/actions/assets'; import { gotoPage } from '../../state/actions/pages'; import { getWorkpad } from '../../state/selectors/workpad'; -import { setCanUserWrite } from '../../state/actions/transient'; +import { isFirstLoad } from '../../state/selectors/app'; +import { setCanUserWrite, setFirstLoad } from '../../state/actions/transient'; import { WorkpadApp } from './workpad_app'; export const routes = [ @@ -48,7 +49,9 @@ export const routes = [ path: '/:id(/page/:page)', action: (dispatch, getState) => async ({ params, router }) => { // load workpad if given a new id via url param - const currentWorkpad = getWorkpad(getState()); + const state = getState(); + const currentWorkpad = getWorkpad(state); + const firstLoad = isFirstLoad(state); if (params.id !== currentWorkpad.id) { try { const fetchedWorkpad = await workpadService.get(params.id); @@ -60,11 +63,14 @@ export const routes = [ // tests if user has permissions to write to workpads // TODO: remove this and switch to checking user privileges when canvas loads when granular app privileges are introduced // https://github.com/elastic/kibana/issues/20277 - workpadService.update(params.id, fetchedWorkpad).catch(err => { - if (err.response && err.response.status === 403) { - dispatch(setCanUserWrite(false)); - } - }); + if (firstLoad) { + workpadService.update(params.id, fetchedWorkpad).catch(err => { + if (err.response && err.response.status === 403) { + dispatch(setCanUserWrite(false)); + } + }); + dispatch(setFirstLoad(false)); + } } catch (err) { notify.error(err, { title: `Couldn't load workpad with ID` }); return router.redirectTo('home'); diff --git a/x-pack/plugins/canvas/public/state/actions/transient.js b/x-pack/plugins/canvas/public/state/actions/transient.js index 93464a23bf5004..11d0a43fb2fdeb 100644 --- a/x-pack/plugins/canvas/public/state/actions/transient.js +++ b/x-pack/plugins/canvas/public/state/actions/transient.js @@ -9,3 +9,4 @@ import { createAction } from 'redux-actions'; export const setCanUserWrite = createAction('setCanUserWrite'); export const setFullscreen = createAction('setFullscreen'); export const selectElement = createAction('selectElement'); +export const setFirstLoad = createAction('setFirstLoad'); diff --git a/x-pack/plugins/canvas/public/state/initial_state.js b/x-pack/plugins/canvas/public/state/initial_state.js index b6e54af9ecbb6b..0f84079c1df213 100644 --- a/x-pack/plugins/canvas/public/state/initial_state.js +++ b/x-pack/plugins/canvas/public/state/initial_state.js @@ -12,6 +12,7 @@ export const getInitialState = path => { app: {}, // Kibana stuff in here assets: {}, // assets end up here transient: { + isFirstLoad: true, canUserWrite: true, fullscreen: false, selectedElement: null, diff --git a/x-pack/plugins/canvas/public/state/reducers/transient.js b/x-pack/plugins/canvas/public/state/reducers/transient.js index a99d85b399c7e9..6f2f2dd3bb169f 100644 --- a/x-pack/plugins/canvas/public/state/reducers/transient.js +++ b/x-pack/plugins/canvas/public/state/reducers/transient.js @@ -32,6 +32,10 @@ export const transientReducer = handleActions( return set(transientState, 'canUserWrite', Boolean(payload)); }, + [actions.setFirstLoad]: (transientState, { payload }) => { + return set(transientState, 'isFirstLoad', Boolean(payload)); + }, + [actions.setFullscreen]: (transientState, { payload }) => { return set(transientState, 'fullscreen', Boolean(payload)); }, diff --git a/x-pack/plugins/canvas/public/state/selectors/app.js b/x-pack/plugins/canvas/public/state/selectors/app.js index 0f13df85a03533..26e5fff11b7860 100644 --- a/x-pack/plugins/canvas/public/state/selectors/app.js +++ b/x-pack/plugins/canvas/public/state/selectors/app.js @@ -11,6 +11,10 @@ export function canUserWrite(state) { return get(state, 'transient.canUserWrite', true); } +export function isFirstLoad(state) { + return get(state, 'transient.isFirstLoad', true); +} + export function getFullscreen(state) { return get(state, 'transient.fullscreen', false); } diff --git a/x-pack/plugins/maps/public/angular/get_initial_layers.js b/x-pack/plugins/maps/public/angular/get_initial_layers.js index a7cc6e77fa317c..0c9462984a460d 100644 --- a/x-pack/plugins/maps/public/angular/get_initial_layers.js +++ b/x-pack/plugins/maps/public/angular/get_initial_layers.js @@ -25,9 +25,8 @@ export function getInitialLayers(savedMapLayerListJSON) { } const dataSources = getDataSourcesSync(); - const kibanaTilemapUrl = _.get(dataSources, 'kibana.tilemap.url'); - if (kibanaTilemapUrl) { - const sourceDescriptor = KibanaTilemapSource.createDescriptor(kibanaTilemapUrl); + if (_.get(dataSources, 'kibana.tilemap.url')) { + const sourceDescriptor = KibanaTilemapSource.createDescriptor(); const source = new KibanaTilemapSource(sourceDescriptor); const layer = source.createDefaultLayer(); return [ diff --git a/x-pack/plugins/maps/public/angular/get_initial_layers.test.js b/x-pack/plugins/maps/public/angular/get_initial_layers.test.js index 9554dc54bda006..175ecb6d395c0d 100644 --- a/x-pack/plugins/maps/public/angular/get_initial_layers.test.js +++ b/x-pack/plugins/maps/public/angular/get_initial_layers.test.js @@ -98,10 +98,8 @@ describe('Saved object does not have layer list', () => { label: null, maxZoom: 24, minZoom: 0, - source: undefined, sourceDescriptor: { - type: 'KIBANA_TILEMAP', - url: 'myTileUrl', + type: 'KIBANA_TILEMAP' }, style: { properties: {}, diff --git a/x-pack/plugins/maps/public/meta.js b/x-pack/plugins/maps/public/meta.js index 63262008aeff5c..91a296f08cf767 100644 --- a/x-pack/plugins/maps/public/meta.js +++ b/x-pack/plugins/maps/public/meta.js @@ -64,5 +64,5 @@ export async function getKibanaRegionList() { export async function getKibanaTileMap() { const dataSource = await getDataSources(); - return _.get(dataSource, 'kibana.tilemap', []); + return _.get(dataSource, 'kibana.tilemap', {}); } diff --git a/x-pack/plugins/maps/public/shared/layers/sources/kibana_tilemap_source/create_source_editor.js b/x-pack/plugins/maps/public/shared/layers/sources/kibana_tilemap_source/create_source_editor.js index a20e45019f896f..b5b2b6130ac2cc 100644 --- a/x-pack/plugins/maps/public/shared/layers/sources/kibana_tilemap_source/create_source_editor.js +++ b/x-pack/plugins/maps/public/shared/layers/sources/kibana_tilemap_source/create_source_editor.js @@ -30,7 +30,11 @@ export class CreateSourceEditor extends Component { if (this._isMounted) { this.setState( { url: tilemap.url }, - () => this.props.previewTilemap(this.state.url) + () => { + if (this.state.url) { + this.props.previewTilemap(); + } + } ); } }; @@ -46,7 +50,7 @@ export class CreateSourceEditor extends Component { render() { - if (this.state.url === null) { + if (this.state.url === null) {//still loading return null; } diff --git a/x-pack/plugins/maps/public/shared/layers/sources/kibana_tilemap_source/kibana_tilemap_source.js b/x-pack/plugins/maps/public/shared/layers/sources/kibana_tilemap_source/kibana_tilemap_source.js index a847aa32535c25..f897a61f91cde8 100644 --- a/x-pack/plugins/maps/public/shared/layers/sources/kibana_tilemap_source/kibana_tilemap_source.js +++ b/x-pack/plugins/maps/public/shared/layers/sources/kibana_tilemap_source/kibana_tilemap_source.js @@ -7,27 +7,28 @@ import React from 'react'; import { AbstractTMSSource } from '../tms_source'; import { TileLayer } from '../../tile_layer'; import { CreateSourceEditor } from './create_source_editor'; -export class KibanaTilemapSource extends AbstractTMSSource { +import { getKibanaTileMap } from '../../../../meta'; + +export class KibanaTilemapSource extends AbstractTMSSource { static type = 'KIBANA_TILEMAP'; static title = 'Custom Tile Map Service'; static description = 'Map tiles configured in kibana.yml'; static icon = 'logoKibana'; - static createDescriptor(url) { + static createDescriptor() { return { - type: KibanaTilemapSource.type, - url + type: KibanaTilemapSource.type }; } static renderEditor = ({ onPreviewSource }) => { - const previewTilemap = (urlTemplate) => { - const sourceDescriptor = KibanaTilemapSource.createDescriptor(urlTemplate); + const previewTilemap = () => { + const sourceDescriptor = KibanaTilemapSource.createDescriptor(); const source = new KibanaTilemapSource(sourceDescriptor); onPreviewSource(source); }; - return (); + return (); }; async getImmutableProperties() { @@ -51,12 +52,19 @@ export class KibanaTilemapSource extends AbstractTMSSource { }); } - async getUrlTemplate() { - return this._descriptor.url; + const tilemap = await getKibanaTileMap(); + if (!tilemap.url) { + throw new Error(`Unable to find map.tilemap.url configuration in the kibana.yml`); + } + return tilemap.url; } async getDisplayName() { - return await this.getUrlTemplate(); + try { + return await this.getUrlTemplate(); + } catch (e) { + return ''; + } } } diff --git a/x-pack/plugins/ml/public/components/documentation_help_link/documentation_help_link.js b/x-pack/plugins/ml/public/components/documentation_help_link/documentation_help_link.js index 8762a4d4c18f5c..745075ace5633f 100644 --- a/x-pack/plugins/ml/public/components/documentation_help_link/documentation_help_link.js +++ b/x-pack/plugins/ml/public/components/documentation_help_link/documentation_help_link.js @@ -29,15 +29,20 @@ module.directive('mlDocumentationHelpLink', function () { // metadata.branch corresponds to the version used in documentation links. const version = metadata.branch; - const props = { - fullUrl: `${baseUrl}/guide/en/x-pack/${version}/${scope.uri}`, - label: scope.label - }; - - ReactDOM.render( - React.createElement(DocumentationHelpLink, props), - element[0] - ); + function renderReactComponent() { + + const props = { + fullUrl: `${baseUrl}/guide/en/x-pack/${version}/${scope.uri}`, + label: scope.label + }; + + ReactDOM.render( + React.createElement(DocumentationHelpLink, props), + element[0] + ); + } + + scope.$watch('uri', renderReactComponent); } }; diff --git a/x-pack/test/functional/apps/spaces/spaces_selection.ts b/x-pack/test/functional/apps/spaces/spaces_selection.ts index ddd98890c46b33..463f3a73fbc55d 100644 --- a/x-pack/test/functional/apps/spaces/spaces_selection.ts +++ b/x-pack/test/functional/apps/spaces/spaces_selection.ts @@ -79,23 +79,20 @@ export default function spaceSelectorFunctonalTests({ getService, getPageObjects pathname: `/s/${spaceId}${homePath}`, }, }); - await PageObjects.home.addSampleDataSet('flights'); + await PageObjects.home.addSampleDataSet('logs'); }); after(async () => { + // No need to remove the same sample data in both spaces, the index + // data will be removed in the first call. By feature limitation, + // the created saved objects in the second space will be broken but removed + // when we call esArchiver.unload('spaces'). await PageObjects.common.navigateToApp('home', { appConfig: { hash: sampleDataHash, }, }); await PageObjects.home.removeSampleDataSet('logs'); - await PageObjects.common.navigateToApp('home', { - appConfig: { - hash: sampleDataHash, - pathname: `/s/${spaceId}${homePath}`, - }, - }); - await PageObjects.home.removeSampleDataSet('flights'); await PageObjects.security.logout(); await esArchiver.unload('spaces'); }); @@ -112,7 +109,7 @@ export default function spaceSelectorFunctonalTests({ getService, getPageObjects pathname: `/s/${spaceId}${dashboardPath}`, }, }); - await expectDashboardRenders('[Flights] Global Flight Dashboard'); + await expectDashboardRenders('[Logs] Web Traffic'); }); }); }); From 0619bc0d8ac205664f6cb5c2e60e282f3511cff4 Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Mon, 11 Feb 2019 16:38:43 -0800 Subject: [PATCH 7/8] [DOCS] Adds settings section to Breaking changes (#30757) --- docs/migration/migrate_7_0.asciidoc | 340 +++++++++++++++++----------- 1 file changed, 205 insertions(+), 135 deletions(-) diff --git a/docs/migration/migrate_7_0.asciidoc b/docs/migration/migrate_7_0.asciidoc index ffb9b392cfcf21..281e6d4fbe60e6 100644 --- a/docs/migration/migrate_7_0.asciidoc +++ b/docs/migration/migrate_7_0.asciidoc @@ -7,6 +7,8 @@ This section discusses the changes that you need to be aware of when migrating your application to Kibana 7.0. +* <> + See also <> and <>. [float] @@ -78,217 +80,285 @@ If some of your indices have a non-default `default_field` setting, you may want to Kibana's advanced setting. [float] -=== Deprecated kibana.yml setting `xpack.monitoring.node_resolver` has been removed -*Details:* This setting has been deprecated since 5.6, when it was explicitly recommended to use `uuid` as its value. +=== Deprecated API `/shorten` has been removed +*Details:* The `/shorten` API has been deprecated since 6.5, when it was replaced by the `/api/shorten_url` API. -*Impact:* This setting is no longer necessary. If you enable {monitoring} across the Elastic Stack, a monitoring agent runs -on each Elasticsearch node, Logstash node, Kibana instance, and Beat to collect and index metrics. Each node and instance is -considered unique based on its persistent UUID, which is written to the path.data directory when the node or instance starts. +*Impact:* The '/shorten' API has been removed. Use the '/api/shorten_url' API instead. [float] -=== kibana.yml setting `xpack.monitoring.elasticsearch.url` is no longer valid -*Details:* This deprecated setting has been removed and `xpack.monitoring.elasticsearch.hosts` should be used instead. -In prior versions of Kibana, if no port was specified in `xpack.monitoring.elasticsearch.url` a default of 9200 was chosen. -The port in `xpack.monitoring.elasticsearch.hosts` is protocol dependent: https ports will use 443, and http ports will use 80. +=== Optimization step deferred until server start +*Details:* Prior versions of Kibana would run the optimization step after each plugin installation. This is now run on server start when necessary. -*Impact:* Users with `xpack.monitoring.elasticsearch.url` set should use `xpack.monitoring.elasticsearch.hosts` instead and if -`xpack.monitoring.elasticsearch.url` was dependent on an unspecified port set to 9200, `:9200` will have to be appended to the url. +*Impact:* Users can trigger a standalone optimization after all plugins have been installed with `bin/kibana --optimize` or let the server manage it on startup. [float] -=== kibana.yml setting `xpack.monitoring.elasticsearch.ssl.cert` is no longer valid -*Details:* This deprecated setting has been removed and `xpack.monitoring.elasticsearch.ssl.certificate` should be used instead. +=== Legacy browsers (namely IE11) will see a security warning message whenever they load Kibana +*Details:* Kibana now has a Content Security Policy, but it's only effective if browsers enforce it, and since older +browsers like Internet Explorer 11 do not support CSP, we show them a warning message whenever they load Kibana. -*Impact:* Users with `xpack.monitoring.elasticsearch.ssl.cert` set should use `xpack.monitoring.elasticsearch.ssl.certificate` instead +*Impact:* Nothing needs to be done necessarily, but if you don't need to support legacy browsers like IE11, we recommend +that you set `csp.strict: true` in your kibana.yml to block access to those browsers entirely. If your organization requires +users to use IE11, you might like to disable the warning entirely with `csp.warnLegacyBrowsers: false` in your kibana.yml. [float] -=== kibana.yml setting `xpack.monitoring.elasticsearch.ssl.ca` is no longer valid -*Details:* This deprecated setting has been removed and `xpack.monitoring.elasticsearch.ssl.certificateAuthorities` should be used instead. +=== Saved object structure change +*Details:* Saved objects no longer contain ids of other saved objects under `attributes`. They have been moved under `references` with a named reference in `attributes`. -*Impact:* Users with `xpack.monitoring.elasticsearch.ssl.ca` set should use `xpack.monitoring.elasticsearch.ssl.certificateAuthorities` instead +Example structure before: +``` +{ + ... + "attributes": { + ... + "panelsJSON": [{ + ... + "type": "visualization", + "id": "dbf71bb0-ffad-11e8-acfd-d359b3d9069" + }] + } +} +``` -[float] -=== kibana.yml setting `xpack.monitoring.elasticsearch.ssl.verify` is no longer valid -*Details:* This deprecated setting has been removed and `xpack.monitoring.elasticsearch.ssl.verificationMode` should be used instead. +Example structure after: +``` +{ + ... + "attributes": { + ... + "panelsJSON": [{ + ... + "panelRefName": "panel_0" + }] + }, + "references": [{ + "name": "panel_0", + "type": "visualization", + "id": "dbf71bb0-ffad-11e8-acfd-d359b3d9069" + }] +} +``` -*Impact:* Users with `xpack.monitoring.elasticsearch.ssl.verify` set should use `xpack.monitoring.elasticsearch.ssl.verificationMode` instead. -Previously set `xpack.monitoring.elasticsearch.ssl.verify` is equal to `xpack.monitoring.elasticsearch.ssl.verificationMode: full`. +*Impact:* Users who query directly for ids will have to use the new `hasReference` in the find API. Users who save ids within attributes will have to move them into the `references` attribute and have a named reference to it. [float] -=== kibana.yml setting `xpack.monitoring.report_stats` is no longer valid -*Details:* This deprecated setting has been removed and `xpack.xpack_main.telemetry.enabled` should be used instead. - -*Impact:* Users with `xpack.monitoring.report_stats` set should use `xpack.xpack_main.telemetry.enabled` instead. +[[breaking_70_setting_changes]] +=== Settings changes [float] -=== kibana.yml setting `xpack.monitoring.index_pattern` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported. +==== `elasticsearch.ssl.ca` is no longer valid -[float] -=== kibana.yml setting `xpack.monitoring.kibana.index_pattern` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported +*Details:* The deprecated `elasticsearch.ssl.ca` setting in the `kibana.yml` +file has been removed. -[float] -=== kibana.yml setting `xpack.monitoring.beats.index_pattern` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported +*Impact:* Use `elasticsearch.ssl.certificateAuthorities` instead. [float] -=== kibana.yml setting `xpack.monitoring.logstash.index_pattern` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported +==== `elasticsearch.ssl.cert` is no longer valid -[float] -=== kibana.yml setting `xpack.monitoring.elasticsearch.index_pattern` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported +*Details:* The deprecated `elasticsearch.ssl.cert` setting in the `kibana.yml` +file has been removed. + +*Impact:* Use `elasticsearch.ssl.certificate` instead. [float] -=== kibana.yml setting `xpack.monitoring.cluster_alerts.index` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this index is no longer supported +==== `elasticsearch.ssl.verify` is no longer valid + +*Details:* The deprecated `elasticsearch.ssl.verify` setting in the `kibana.yml` +file has been removed. + +*Impact:* Use `elasticsearch.ssl.verificationMode` instead. If you set +`elasticsearch.ssl.verify` to `true`, that is equal to setting +`elasticsearch.ssl.verificationMode` to `full`. [float] -=== Deprecated API `/shorten` has been removed -*Details:* The `/shorten` API has been deprecated since 6.5, when it was replaced by the `/api/shorten_url` API. +==== `elasticsearch.url` is no longer valid -*Impact:* The '/shorten' API has been removed. Use the '/api/shorten_url' API instead. +*Details:* The deprecated `elasticsearch.url` setting in the `kibana.yml` file +has been removed. + +*Impact:* Use `elasticsearch.hosts` instead. In prior versions of Kibana, if no +port was specified in `elasticsearch.url`, a default of 9200 was chosen. The +port in `elasticsearch.hosts` is protocol dependent: https ports will use 443, +and http ports will use 80. If your `elasticsearch.url` setting was dependent on +an unspecified port set to 9200, append `:9200` to the url in the +`elasticsearch.hosts` setting. [float] -=== Deprecated kibana.yml setting logging.useUTC has been replaced with logging.timezone -*Details:* Any timezone can now be specified by canonical id. +==== `i18n.defaultLocale` is no longer valid + +*Details:* The deprecated `i18n.defaultLocale` setting in the `kibana.yml` file +has been removed. -*Impact:* The logging.useUTC flag will have to be replaced with a timezone id. If set to true the id is `UTC`. +*Impact:* Use `i18n.locale` instead. [float] -=== kibana.yml setting `server.ssl.supportedProtocols` excludes TLSv1 by default -*Details:* TLSv1 support has been removed by default, it's still possible to opt-in to TLSv1 support by explicitly setting -`server.ssl.supportedProtocols` +==== `index_management.` is no longer valid -*Impact:* Users relying upon TLSv1 will be unable to use Kibana unless `server.ssl.supportedProtocols` is explicitly set. +*Details:* The deprecated `index_management.*` settings in the `kibana.yml` +file have been removed. + +*Impact:* Use `xpack.index_management.` instead. [float] -=== kibana.yml setting `server.ssl.cert` is no longer valid -*Details:* This deprecated setting has been removed and `server.ssl.certificate` should be used instead. +==== `license_management.` is no longer valid + +*Details:* The deprecated `license_management.*` settings in the `kibana.yml` +file have been removed. -*Impact:* Users with `server.ssl.cert` set should use `server.ssl.certificate` instead +*Impact:* Use `xpack.license_management.` instead. [float] -=== kibana.yml `server.ssl.enabled` must be set to `true` to enable SSL -*Details:* Previously, if `server.ssl.certificate` and `server.ssl.key` were set, SSL would automatically be enabled. -It's now required that the user sets `server.ssl.enabled` to true for this to occur. +==== `logging.useUTC` is no longer valid -*Impact:* Users with both `server.ssl.certificate` and `server.ssl.key` set must now also set `server.ssl.enabled` to enable SSL. +*Details:* The deprecated `logging.useUTC` setting in the `kibana.yml` file has +been removed. + +*Impact:* If `logging.useUTC` was set to `true` (its default value), the +timezone id was `UTC`. Use `logging.timezone` instead. Any timezone can now be +specified by canonical id. [float] -=== Deprecated kibana.yml setting `regionmap` has been replaced with `map.regionmap` -*Details:* This deprecated setting has been removed and `map.regionmap` should be used instead. +==== `regionmap` is no longer valid + +*Details:* The deprecated `regionmap` setting in the `kibana.yml` file has been +removed. -*Impact:* Users with `regionmap` set should use `map.regionmap` instead. +*Impact:* Use `map.regionmap` instead. [float] -=== Deprecated kibana.yml setting `tilemap` has been replaced with `map.tilemap` -*Details:* This deprecated setting has been removed and `map.tilemap` should be used instead. +==== `rollup.` is no longer valid -*Impact:* Users with `tilemap` set should use `map.tilemap` instead. +*Details:* The deprecated `rollup.*` settings in the `kibana.yml` file have been +removed. +*Impact:* Use `xpack.rollup.` instead. [float] -=== Optimization step deferred until server start -*Details:* Prior versions of Kibana would run the optimization step after each plugin installation. This is now run on server start when necessary. +==== `server.ssl.cert` is no longer valid -*Impact:* Users can trigger a standalone optimization after all plugins have been installed with `bin/kibana --optimize` or let the server manage it on startup. +*Details:* The deprecated `server.ssl.cert` setting in the `kibana.yml` file has +been removed. + +*Impact:* Use `server.ssl.certificate` instead [float] -=== kibana.yml setting `i18n.defaultLocale` is no longer valid -*Details:* This deprecated setting has been removed and `i18n.locale` should be used instead. +==== `server.ssl.enabled` must be set to `true` to enable SSL + +*Details:* Previously, if the `server.ssl.certificate` and `server.ssl.key` +settins were specified in the `kibana.yml` file, SSL would be automatically +enabled. It's now required that you set `server.ssl.enabled` to `true` for this +to occur. -*Impact:* Users with `i18n.defaultLocale` set should use `i18n.locale` instead +*Impact:* Users with both `server.ssl.certificate` and `server.ssl.key` set must +now also set `server.ssl.enabled` to enable SSL. [float] -=== kibana.yml setting `elasticsearch.url` is no longer valid -*Details:* This deprecated setting has been removed and `elasticsearch.hosts` should be used instead. -In prior versions of Kibana, if no port was specified in `elasticsearch.url` a default of 9200 was chosen. The port in -`elasticsearch.hosts` is protocol dependent: https ports will use 443, and http ports will use 80. +==== `server.ssl.supportedProtocols` excludes TLSv1 by default -*Impact:* Users with `elasticsearch.url` set should use `elasticsearch.hosts` instead and if `elasticsearch.url` was -dependent on an unspecified port set to 9200, `:9200` will have to be appended to the url. +*Details:* By default, TLSv1 support has been removed. It's still possible to +opt-in to TLSv1 support by explicitly setting `server.ssl.supportedProtocols` in +the `kibana.yml` file. + +*Impact:* Users relying on TLSv1 will be unable to use Kibana unless +`server.ssl.supportedProtocols` is explicitly set. [float] -=== kibana.yml setting `elasticsearch.ssl.cert` is no longer valid -*Details:* This deprecated setting has been removed and `elasticsearch.ssl.certificate` should be used instead. +==== `tilemap` is no longer valid + +*Details:* The deprecated `tilemap` setting in the `kibana.yml` file has been +removed. -*Impact:* Users with `elasticsearch.ssl.cert` set should use `elasticsearch.ssl.certificate` instead +*Impact:* Use `map.tilemap` instead. [float] -=== kibana.yml setting `elasticsearch.ssl.ca` is no longer valid -*Details:* This deprecated setting has been removed and `elasticsearch.ssl.certificateAuthorities` should be used instead. +==== `upgrade_assistant.` is no longer valid + +*Details:* The deprecated `upgrade_assistant.*` settings in the `kibana.yml` +file have been removed. -*Impact:* Users with `elasticsearch.ssl.ca` set should use `elasticsearch.ssl.certificateAuthorities` instead +*Impact:* Use `xpack.upgrade_assistant.` instead. [float] -=== kibana.yml setting `elasticsearch.ssl.verify` is no longer valid -*Details:* This deprecated setting has been removed and `elasticsearch.ssl.verificationMode` should be used instead. +==== `xpack.monitoring.elasticsearch.ssl.ca` is no longer valid -*Impact:* Users with `elasticsearch.ssl.verify` set should use `elasticsearch.ssl.verificationMode` instead. -Previously set `elasticsearch.ssl.verify` is equal to `elasticsearch.ssl.verificationMode: full`. +*Details:* The deprecated `xpack.monitoring.elasticsearch.ssl.ca` setting in the +`kibana.yml` file has been removed. + +*Impact:* Use `xpack.monitoring.elasticsearch.ssl.certificateAuthorities` instead. [float] -=== kibana.yml setting `index_management.` is no longer valid -*Impact:* Users with `index_management.` set should use `xpack.index_management.` instead. +==== `xpack.monitoring.elasticsearch.ssl.cert` is no longer valid + +*Details:* The deprecated `xpack.monitoring.elasticsearch.ssl.cert` setting in +the `kibana.yml` file has been removed. + +*Impact:* Use `xpack.monitoring.elasticsearch.ssl.certificate` instead. [float] -=== kibana.yml setting `license_management.` is no longer valid -*Impact:* Users with `license_management.` set should use `xpack.license_management.` instead. +==== `xpack.monitoring.elasticsearch.ssl.verify` is no longer valid + +*Details:* The deprecated `xpack.monitoring.elasticsearch.ssl.verify` setting in +the `kibana.yml` file has been removed. + +*Impact:* Use `xpack.monitoring.elasticsearch.ssl.verificationMode` instead. If +you previously set `xpack.monitoring.elasticsearch.ssl.verify` to `true`, it is +equal to setting `xpack.monitoring.elasticsearch.ssl.verificationMode` to `full`. [float] -=== kibana.yml setting `rollup.` is no longer valid -*Impact:* Users with `rollup.` set should use `xpack.rollup.` instead. +==== `xpack.monitoring.elasticsearch.url` is no longer valid + +*Details:* The deprecated `xpack.monitoring.elasticsearch.url` setting in the +`kibana.yml` file has been removed. + +*Impact:* Use `xpack.monitoring.elasticsearch.hosts` instead. In prior versions +of Kibana, if no port was specified in `xpack.monitoring.elasticsearch.url` a +default of 9200 was chosen. The port in `xpack.monitoring.elasticsearch.hosts` +is protocol dependent: https ports will use 443, and http ports will use 80. If +`xpack.monitoring.elasticsearch.url` was dependent on an unspecified port set to +9200, append `:9200` to the url in `xpack.monitoring.elasticsearch.hosts`. [float] -=== kibana.yml setting `upgrade_assistant.` is no longer valid -*Impact:* Users with `upgrade_assistant.` set should use `xpack.upgrade_assistant.` instead. +==== `xpack.monitoring.node_resolver` is no longer valid + +*Details:* The deprecated `xpack.monitoring.node_resolver` setting in the +`kibana.yml` file has been removed. This setting has been deprecated since 5.6, +when it was explicitly recommended to use `uuid` as its value. + +*Impact:* This setting is no longer necessary. If you enable the {stack} +{monitor-features}, a monitoring agent runs on each Elasticsearch node, Logstash +node, Kibana instance, and Beat to collect and index metrics. Each node and +instance is considered unique based on its persistent UUID, which is written to +the `path.data` directory when the node or instance starts. [float] -=== Legacy browsers (namely IE11) will see a security warning message whenever they load Kibana -*Details:* Kibana now has a Content Security Policy, but it's only effective if browsers enforce it, and since older -browsers like Internet Explorer 11 do not support CSP, we show them a warning message whenever they load Kibana. +==== `xpack.monitoring.report_stats` is no longer valid -*Impact:* Nothing needs to be done necessarily, but if you don't need to support legacy browsers like IE11, we recommend -that you set `csp.strict: true` in your kibana.yml to block access to those browsers entirely. If your organization requires -users to use IE11, you might like to disable the warning entirely with `csp.warnLegacyBrowsers: false` in your kibana.yml. +*Details:* The deprecated `xpack.monitoring.report_stats` setting in the +`kibana.yml` file has been removed. + +*Impact:* Use `xpack.xpack_main.telemetry.enabled` instead. + +//// +=== kibana.yml setting `xpack.monitoring.index_pattern` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported. [float] -=== Saved object structure change -*Details:* Saved objects no longer contain ids of other saved objects under `attributes`. They have been moved under `references` with a named reference in `attributes`. +=== kibana.yml setting `xpack.monitoring.kibana.index_pattern` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported -Example structure before: -``` -{ - ... - "attributes": { - ... - "panelsJSON": [{ - ... - "type": "visualization", - "id": "dbf71bb0-ffad-11e8-acfd-d359b3d9069" - }] - } -} -``` +[float] +=== kibana.yml setting `xpack.monitoring.beats.index_pattern` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported -Example structure after: -``` -{ - ... - "attributes": { - ... - "panelsJSON": [{ - ... - "panelRefName": "panel_0" - }] - }, - "references": [{ - "name": "panel_0", - "type": "visualization", - "id": "dbf71bb0-ffad-11e8-acfd-d359b3d9069" - }] -} -``` +[float] +=== kibana.yml setting `xpack.monitoring.logstash.index_pattern` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported -*Impact:* Users who query directly for ids will have to use the new `hasReference` in the find API. Users who save ids within attributes will have to move them into the `references` attribute and have a named reference to it. \ No newline at end of file +[float] +=== kibana.yml setting `xpack.monitoring.elasticsearch.index_pattern` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported + +[float] +=== kibana.yml setting `xpack.monitoring.cluster_alerts.index` is no longer valid +*Details:* This unsupported setting has been officially removed. The ability to customize this index is no longer supported +//// \ No newline at end of file From 8e56545f204a85f449e482d387b08b8706fbf0a7 Mon Sep 17 00:00:00 2001 From: lcawl Date: Mon, 11 Feb 2019 17:52:26 -0800 Subject: [PATCH 8/8] [DOCS] Edits the new breaking changes --- docs/migration/migrate_7_0.asciidoc | 73 +++++++++++++++++++---------- 1 file changed, 48 insertions(+), 25 deletions(-) diff --git a/docs/migration/migrate_7_0.asciidoc b/docs/migration/migrate_7_0.asciidoc index 281e6d4fbe60e6..af7c13a8c85485 100644 --- a/docs/migration/migrate_7_0.asciidoc +++ b/docs/migration/migrate_7_0.asciidoc @@ -278,6 +278,30 @@ file have been removed. *Impact:* Use `xpack.upgrade_assistant.` instead. +[float] +==== `xpack.monitoring.beats.index_pattern` is no longer valid + +*Details:* The unsupported `xpack.monitoring.beats.index_pattern` setting in the +`kibana.yml` file has been officially removed. + +*Impact:* The ability to customize this pattern is no longer supported. + +[float] +==== `xpack.monitoring.cluster_alerts.index` is no longer valid + +*Details:* The unsupported `xpack.monitoring.cluster_alerts.index` setting in +the `kibana.yml` file has been officially removed. + +*Impact:* The ability to customize this index is no longer supported. + +[float] +==== `xpack.monitoring.elasticsearch.index_pattern` is no longer valid + +*Details:* The unsupported `xpack.monitoring.elasticsearch.index_pattern` +setting in the `kibana.yml` file has been officially removed. + +*Impact:* The ability to customize this pattern is no longer supported. + [float] ==== `xpack.monitoring.elasticsearch.ssl.ca` is no longer valid @@ -317,6 +341,30 @@ is protocol dependent: https ports will use 443, and http ports will use 80. If `xpack.monitoring.elasticsearch.url` was dependent on an unspecified port set to 9200, append `:9200` to the url in `xpack.monitoring.elasticsearch.hosts`. +[float] +==== `xpack.monitoring.index_pattern` is no longer valid + +*Details:* The unsupported `xpack.monitoring.index_pattern` setting in the +`kibana.yml` file has been officially removed. + +*Impact:* The ability to customize this pattern is no longer supported. + +[float] +==== `xpack.monitoring.kibana.index_pattern` is no longer valid + +*Details:* The unsupported `xpack.monitoring.kibana.index_pattern` setting in +the `kibana.yml` file has been officially removed. + +*Impact:* The ability to customize this pattern is no longer supported. + +[float] +==== `xpack.monitoring.logstash.index_pattern` is no longer valid + +*Details:* The unsupported `xpack.monitoring.logstash.index_pattern` setting in +the `kibana.yml` file has been officially removed. + +*Impact:* The ability to customize this pattern is no longer supported. + [float] ==== `xpack.monitoring.node_resolver` is no longer valid @@ -337,28 +385,3 @@ the `path.data` directory when the node or instance starts. `kibana.yml` file has been removed. *Impact:* Use `xpack.xpack_main.telemetry.enabled` instead. - -//// -=== kibana.yml setting `xpack.monitoring.index_pattern` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported. - -[float] -=== kibana.yml setting `xpack.monitoring.kibana.index_pattern` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported - -[float] -=== kibana.yml setting `xpack.monitoring.beats.index_pattern` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported - -[float] -=== kibana.yml setting `xpack.monitoring.logstash.index_pattern` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported - -[float] -=== kibana.yml setting `xpack.monitoring.elasticsearch.index_pattern` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this pattern is no longer supported - -[float] -=== kibana.yml setting `xpack.monitoring.cluster_alerts.index` is no longer valid -*Details:* This unsupported setting has been officially removed. The ability to customize this index is no longer supported -//// \ No newline at end of file