Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[8.8] [Fleet] Include hidden data streams in package upgrade (#158654) (
#158698) # Backport This will backport the following commits from `main` to `8.8`: - [[Fleet] Include hidden data streams in package upgrade (#158654)](#158654) <!--- Backport version: 8.9.7 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Julia Bardi","email":"90178898+juliaElastic@users.noreply.github.com"},"sourceCommit":{"committedDate":"2023-05-31T07:50:42Z","message":"[Fleet] Include hidden data streams in package upgrade (#158654)\n\n## Summary\r\n\r\nAPM team reported an issue in 8.8 where some of their newer data streams\r\nwere not rolled over as expected.\r\nIt turned out these are hidden data streams and those were not updated\r\nin Fleet when a new version of a package is installed.\r\n\r\nTo test:\r\n- Start up a kibana\r\n- Install apm 8.7.0 package\r\n[apm-8.7.0.zip](https://github.com/elastic/kibana/files/11600335/apm-8.7.0.zip)\r\n```\r\nurl -XPOST -H 'content-type: application/zip' -H 'kbn-xsrf: true' http://localhost:5601/julia/api/fleet/epm/packages -u elastic:changeme --data-binary @apm-8.7.0.zip\r\n```\r\n- Index a doc to apm datastream\r\n```\r\nPOST metrics-apm.service_summary.10m-default/_doc\r\n {\r\n \"@timestamp\": \"2023-05-30T07:50:00.000Z\",\r\n \"agent\": {\r\n \"name\": \"go\"\r\n },\r\n \"data_stream\": {\r\n \"dataset\": \"apm.service_summary.10m\",\r\n \"namespace\": \"default\",\r\n \"type\": \"metrics\"\r\n },\r\n \"ecs\": {\r\n \"version\": \"8.6.0-dev\"\r\n },\r\n \"event\": {\r\n \"agent_id_status\": \"missing\",\r\n \"ingested\": \"2023-05-30T07:57:12Z\"\r\n },\r\n \"metricset\": {\r\n \"interval\": \"10m\",\r\n \"name\": \"service_summary\"\r\n },\r\n \"observer\": {\r\n \"hostname\": \"047e282994fb\",\r\n \"type\": \"apm-server\",\r\n \"version\": \"8.7.0\"\r\n },\r\n \"processor\": {\r\n \"event\": \"metric\",\r\n \"name\": \"metric\"\r\n },\r\n \"service\": {\r\n \"language\": {\r\n \"name\": \"go\"\r\n },\r\n \"name\": \"___main_elastic_cloud_87_ilm_fix\"\r\n }\r\n }\r\n```\r\n- Install apm 8.8.0 package\r\n[apm-8.8.0.zip](https://github.com/elastic/kibana/files/11599946/apm-8.8.0.zip)\r\n```\r\nurl -XPOST -H 'content-type: application/zip' -H 'kbn-xsrf: true' http://localhost:5601/julia/api/fleet/epm/packages -u elastic:changeme --data-binary @apm-8.8.0.zip\r\n```\r\n- Expect that the hidden datastream is updated and rolls over on\r\nfailures.\r\n\r\n```\r\n[2023-05-30T15:23:21.666+02:00][DEBUG][plugins.fleet] Updating mappings for metrics-apm.service_summary.10m-default\r\n[2023-05-30T15:23:21.670+02:00][ERROR][plugins.fleet] Mappings update for metrics-apm.service_summary.10m-default failed\r\n[2023-05-30T15:23:21.671+02:00][ERROR][plugins.fleet] ResponseError: illegal_argument_exception\r\n Root causes:\r\n illegal_argument_exception: Mapper for [processor.name] conflicts with existing mapper:\r\n Cannot update parameter [value] from [metric] to [null]\r\n```\r\n\r\n<img width=\"995\" alt=\"image\"\r\nsrc=\"https://github.com/elastic/kibana/assets/90178898/6a5a1abc-30f2-4b2f-a949-5b727cc91f57\">\r\n<img width=\"1175\" alt=\"image\"\r\nsrc=\"https://github.com/elastic/kibana/assets/90178898/8e18c40f-6b7f-4810-a9e4-9685a7fa5d0c\">\r\n\r\nAdded integration test.\r\n\r\n### Checklist\r\n\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios","sha":"58e0fdf096df0af53e5902ee9da9cc5c63d77847","branchLabelMapping":{"^v8.9.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Fleet","v8.9.0","v8.8.1"],"number":158654,"url":"https://github.com/elastic/kibana/pull/158654","mergeCommit":{"message":"[Fleet] Include hidden data streams in package upgrade (#158654)\n\n## Summary\r\n\r\nAPM team reported an issue in 8.8 where some of their newer data streams\r\nwere not rolled over as expected.\r\nIt turned out these are hidden data streams and those were not updated\r\nin Fleet when a new version of a package is installed.\r\n\r\nTo test:\r\n- Start up a kibana\r\n- Install apm 8.7.0 package\r\n[apm-8.7.0.zip](https://github.com/elastic/kibana/files/11600335/apm-8.7.0.zip)\r\n```\r\nurl -XPOST -H 'content-type: application/zip' -H 'kbn-xsrf: true' http://localhost:5601/julia/api/fleet/epm/packages -u elastic:changeme --data-binary @apm-8.7.0.zip\r\n```\r\n- Index a doc to apm datastream\r\n```\r\nPOST metrics-apm.service_summary.10m-default/_doc\r\n {\r\n \"@timestamp\": \"2023-05-30T07:50:00.000Z\",\r\n \"agent\": {\r\n \"name\": \"go\"\r\n },\r\n \"data_stream\": {\r\n \"dataset\": \"apm.service_summary.10m\",\r\n \"namespace\": \"default\",\r\n \"type\": \"metrics\"\r\n },\r\n \"ecs\": {\r\n \"version\": \"8.6.0-dev\"\r\n },\r\n \"event\": {\r\n \"agent_id_status\": \"missing\",\r\n \"ingested\": \"2023-05-30T07:57:12Z\"\r\n },\r\n \"metricset\": {\r\n \"interval\": \"10m\",\r\n \"name\": \"service_summary\"\r\n },\r\n \"observer\": {\r\n \"hostname\": \"047e282994fb\",\r\n \"type\": \"apm-server\",\r\n \"version\": \"8.7.0\"\r\n },\r\n \"processor\": {\r\n \"event\": \"metric\",\r\n \"name\": \"metric\"\r\n },\r\n \"service\": {\r\n \"language\": {\r\n \"name\": \"go\"\r\n },\r\n \"name\": \"___main_elastic_cloud_87_ilm_fix\"\r\n }\r\n }\r\n```\r\n- Install apm 8.8.0 package\r\n[apm-8.8.0.zip](https://github.com/elastic/kibana/files/11599946/apm-8.8.0.zip)\r\n```\r\nurl -XPOST -H 'content-type: application/zip' -H 'kbn-xsrf: true' http://localhost:5601/julia/api/fleet/epm/packages -u elastic:changeme --data-binary @apm-8.8.0.zip\r\n```\r\n- Expect that the hidden datastream is updated and rolls over on\r\nfailures.\r\n\r\n```\r\n[2023-05-30T15:23:21.666+02:00][DEBUG][plugins.fleet] Updating mappings for metrics-apm.service_summary.10m-default\r\n[2023-05-30T15:23:21.670+02:00][ERROR][plugins.fleet] Mappings update for metrics-apm.service_summary.10m-default failed\r\n[2023-05-30T15:23:21.671+02:00][ERROR][plugins.fleet] ResponseError: illegal_argument_exception\r\n Root causes:\r\n illegal_argument_exception: Mapper for [processor.name] conflicts with existing mapper:\r\n Cannot update parameter [value] from [metric] to [null]\r\n```\r\n\r\n<img width=\"995\" alt=\"image\"\r\nsrc=\"https://github.com/elastic/kibana/assets/90178898/6a5a1abc-30f2-4b2f-a949-5b727cc91f57\">\r\n<img width=\"1175\" alt=\"image\"\r\nsrc=\"https://github.com/elastic/kibana/assets/90178898/8e18c40f-6b7f-4810-a9e4-9685a7fa5d0c\">\r\n\r\nAdded integration test.\r\n\r\n### Checklist\r\n\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios","sha":"58e0fdf096df0af53e5902ee9da9cc5c63d77847"}},"sourceBranch":"main","suggestedTargetBranches":["8.8"],"targetPullRequestStates":[{"branch":"main","label":"v8.9.0","labelRegex":"^v8.9.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/158654","number":158654,"mergeCommit":{"message":"[Fleet] Include hidden data streams in package upgrade (#158654)\n\n## Summary\r\n\r\nAPM team reported an issue in 8.8 where some of their newer data streams\r\nwere not rolled over as expected.\r\nIt turned out these are hidden data streams and those were not updated\r\nin Fleet when a new version of a package is installed.\r\n\r\nTo test:\r\n- Start up a kibana\r\n- Install apm 8.7.0 package\r\n[apm-8.7.0.zip](https://github.com/elastic/kibana/files/11600335/apm-8.7.0.zip)\r\n```\r\nurl -XPOST -H 'content-type: application/zip' -H 'kbn-xsrf: true' http://localhost:5601/julia/api/fleet/epm/packages -u elastic:changeme --data-binary @apm-8.7.0.zip\r\n```\r\n- Index a doc to apm datastream\r\n```\r\nPOST metrics-apm.service_summary.10m-default/_doc\r\n {\r\n \"@timestamp\": \"2023-05-30T07:50:00.000Z\",\r\n \"agent\": {\r\n \"name\": \"go\"\r\n },\r\n \"data_stream\": {\r\n \"dataset\": \"apm.service_summary.10m\",\r\n \"namespace\": \"default\",\r\n \"type\": \"metrics\"\r\n },\r\n \"ecs\": {\r\n \"version\": \"8.6.0-dev\"\r\n },\r\n \"event\": {\r\n \"agent_id_status\": \"missing\",\r\n \"ingested\": \"2023-05-30T07:57:12Z\"\r\n },\r\n \"metricset\": {\r\n \"interval\": \"10m\",\r\n \"name\": \"service_summary\"\r\n },\r\n \"observer\": {\r\n \"hostname\": \"047e282994fb\",\r\n \"type\": \"apm-server\",\r\n \"version\": \"8.7.0\"\r\n },\r\n \"processor\": {\r\n \"event\": \"metric\",\r\n \"name\": \"metric\"\r\n },\r\n \"service\": {\r\n \"language\": {\r\n \"name\": \"go\"\r\n },\r\n \"name\": \"___main_elastic_cloud_87_ilm_fix\"\r\n }\r\n }\r\n```\r\n- Install apm 8.8.0 package\r\n[apm-8.8.0.zip](https://github.com/elastic/kibana/files/11599946/apm-8.8.0.zip)\r\n```\r\nurl -XPOST -H 'content-type: application/zip' -H 'kbn-xsrf: true' http://localhost:5601/julia/api/fleet/epm/packages -u elastic:changeme --data-binary @apm-8.8.0.zip\r\n```\r\n- Expect that the hidden datastream is updated and rolls over on\r\nfailures.\r\n\r\n```\r\n[2023-05-30T15:23:21.666+02:00][DEBUG][plugins.fleet] Updating mappings for metrics-apm.service_summary.10m-default\r\n[2023-05-30T15:23:21.670+02:00][ERROR][plugins.fleet] Mappings update for metrics-apm.service_summary.10m-default failed\r\n[2023-05-30T15:23:21.671+02:00][ERROR][plugins.fleet] ResponseError: illegal_argument_exception\r\n Root causes:\r\n illegal_argument_exception: Mapper for [processor.name] conflicts with existing mapper:\r\n Cannot update parameter [value] from [metric] to [null]\r\n```\r\n\r\n<img width=\"995\" alt=\"image\"\r\nsrc=\"https://github.com/elastic/kibana/assets/90178898/6a5a1abc-30f2-4b2f-a949-5b727cc91f57\">\r\n<img width=\"1175\" alt=\"image\"\r\nsrc=\"https://github.com/elastic/kibana/assets/90178898/8e18c40f-6b7f-4810-a9e4-9685a7fa5d0c\">\r\n\r\nAdded integration test.\r\n\r\n### Checklist\r\n\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios","sha":"58e0fdf096df0af53e5902ee9da9cc5c63d77847"}},{"branch":"8.8","label":"v8.8.1","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> --------- Co-authored-by: Julia Bardi <90178898+juliaElastic@users.noreply.github.com>
- Loading branch information