Skip to content

Commit

Permalink
[8.x] [Entity Analytics] API changes for right placement of deleting …
Browse files Browse the repository at this point in the history
…the old component template (elastic#199734) (elastic#200673)

# Backport

This will backport the following commits from `main` to `8.x`:
- [[Entity Analytics] API changes for right placement of deleting the
old component template
(elastic#199734)](elastic#199734)

<!--- Backport version: 8.9.8 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Abhishek
Bhatia","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-11-18T15:07:13Z","message":"[Entity
Analytics] API changes for right placement of deleting the old component
template (elastic#199734)\n\n## Summary\r\n\r\n- Delete the old component
template after the index template has\r\nreferenced to the new component
template\r\n- Test cases for the same flow\r\n\r\n\r\n```JSON\r\n# Let's
assume this is 8.15.3\r\n# Create the component template when Risk Score
engine is initialised\r\n# Create the index template which references
the created component template\r\n\r\nPUT
/_component_template/.risk-score-mappings\r\n{\r\n \"template\": {\r\n
\"settings\": {\r\n \"number_of_shards\": 1\r\n },\r\n \"mappings\":
{\r\n \"properties\": {\r\n \"timestamp\": {\r\n \"type\": \"date\"\r\n
},\r\n \"user\": {\r\n \"properties\": {\r\n \"id\": {\r\n \"type\":
\"keyword\"\r\n },\r\n \"name\": {\r\n \"type\": \"text\"\r\n }\r\n
}\r\n }\r\n }\r\n }\r\n },\r\n \"version\": 1\r\n}\r\n\r\nPUT
/_index_template/.risk-score.risk-score-default-index-template\r\n{\r\n
\"index_patterns\":
[\".risk-score.risk-score-default-index-template\"],\r\n \"template\":
{\r\n \"settings\": {\r\n \"number_of_replicas\": 1\r\n }\r\n },\r\n
\"composed_of\": [\".risk-score-mappings\"],\r\n \"priority\": 100,\r\n
\"version\": 1,\r\n \"_meta\": {\r\n \"description\": \"Index template
for indices with the pattern my_index-*\"\r\n }\r\n}\r\n\r\n# The
deployment is updated to 8.16\r\n# User tries to enable the Entity store
which init's the Risk Score engine (again!!) \r\n# Fails, but creates
the component template and cannot update the index template to reference
the new component template due to the error\r\n\r\nPUT
/_component_template/.risk-score-mappings-default\r\n{\r\n \"template\":
{\r\n \"settings\": {\r\n \"number_of_shards\": 1\r\n },\r\n
\"mappings\": {\r\n \"properties\": {\r\n \"timestamp\": {\r\n \"type\":
\"date\"\r\n },\r\n \"user\": {\r\n \"properties\": {\r\n \"id\": {\r\n
\"type\": \"keyword\"\r\n },\r\n \"name\": {\r\n \"type\": \"text\"\r\n
}\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"version\": 1\r\n}\r\n\r\nGET
/_component_template?filter_path=component_templates.name&name=.risk-score-mappings*\r\n\r\n\r\nDELETE
/_component_template/.risk-score-mappings\r\n\r\n# Fails \r\n\r\n#
changed flow\r\nPUT
/_index_template/.risk-score.risk-score-default-index-template\r\n{\r\n
\"index_patterns\":
[\".risk-score.risk-score-default-index-template\"],\r\n \"template\":
{\r\n \"settings\": {\r\n \"number_of_replicas\": 1\r\n }\r\n },\r\n
\"composed_of\": [\".risk-score-mappings-default\"],\r\n \"priority\":
100,\r\n \"version\": 1,\r\n \"_meta\": {\r\n \"description\": \"Index
template for indices with the pattern my_index-*\"\r\n
}\r\n}\r\n\r\nDELETE /_component_template/.risk-score-mappings\r\n\r\n#
Succeeds\r\n\r\n#########\r\n```\r\n\r\n\r\n### Checklist\r\n\r\nDelete
any items that are not applicable to this PR.\r\n\r\n- [ ] [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\r\n- [ ] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n\r\n\r\n\r\n### For
maintainers\r\n\r\n- [ ] This was checked for breaking API changes and
was
[labeled\r\nappropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#_add_your_labels)\r\n-
[ ] This will appear in the **Release Notes** and follow
the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)","sha":"771c139269ac0eac27274e0858be2fbcf87b31e3","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:fix","v9.0.0","Team:Entity
Analytics","backport:version","v8.17.0","v8.16.1"],"number":199734,"url":"https://github.com/elastic/kibana/pull/199734","mergeCommit":{"message":"[Entity
Analytics] API changes for right placement of deleting the old component
template (elastic#199734)\n\n## Summary\r\n\r\n- Delete the old component
template after the index template has\r\nreferenced to the new component
template\r\n- Test cases for the same flow\r\n\r\n\r\n```JSON\r\n# Let's
assume this is 8.15.3\r\n# Create the component template when Risk Score
engine is initialised\r\n# Create the index template which references
the created component template\r\n\r\nPUT
/_component_template/.risk-score-mappings\r\n{\r\n \"template\": {\r\n
\"settings\": {\r\n \"number_of_shards\": 1\r\n },\r\n \"mappings\":
{\r\n \"properties\": {\r\n \"timestamp\": {\r\n \"type\": \"date\"\r\n
},\r\n \"user\": {\r\n \"properties\": {\r\n \"id\": {\r\n \"type\":
\"keyword\"\r\n },\r\n \"name\": {\r\n \"type\": \"text\"\r\n }\r\n
}\r\n }\r\n }\r\n }\r\n },\r\n \"version\": 1\r\n}\r\n\r\nPUT
/_index_template/.risk-score.risk-score-default-index-template\r\n{\r\n
\"index_patterns\":
[\".risk-score.risk-score-default-index-template\"],\r\n \"template\":
{\r\n \"settings\": {\r\n \"number_of_replicas\": 1\r\n }\r\n },\r\n
\"composed_of\": [\".risk-score-mappings\"],\r\n \"priority\": 100,\r\n
\"version\": 1,\r\n \"_meta\": {\r\n \"description\": \"Index template
for indices with the pattern my_index-*\"\r\n }\r\n}\r\n\r\n# The
deployment is updated to 8.16\r\n# User tries to enable the Entity store
which init's the Risk Score engine (again!!) \r\n# Fails, but creates
the component template and cannot update the index template to reference
the new component template due to the error\r\n\r\nPUT
/_component_template/.risk-score-mappings-default\r\n{\r\n \"template\":
{\r\n \"settings\": {\r\n \"number_of_shards\": 1\r\n },\r\n
\"mappings\": {\r\n \"properties\": {\r\n \"timestamp\": {\r\n \"type\":
\"date\"\r\n },\r\n \"user\": {\r\n \"properties\": {\r\n \"id\": {\r\n
\"type\": \"keyword\"\r\n },\r\n \"name\": {\r\n \"type\": \"text\"\r\n
}\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"version\": 1\r\n}\r\n\r\nGET
/_component_template?filter_path=component_templates.name&name=.risk-score-mappings*\r\n\r\n\r\nDELETE
/_component_template/.risk-score-mappings\r\n\r\n# Fails \r\n\r\n#
changed flow\r\nPUT
/_index_template/.risk-score.risk-score-default-index-template\r\n{\r\n
\"index_patterns\":
[\".risk-score.risk-score-default-index-template\"],\r\n \"template\":
{\r\n \"settings\": {\r\n \"number_of_replicas\": 1\r\n }\r\n },\r\n
\"composed_of\": [\".risk-score-mappings-default\"],\r\n \"priority\":
100,\r\n \"version\": 1,\r\n \"_meta\": {\r\n \"description\": \"Index
template for indices with the pattern my_index-*\"\r\n
}\r\n}\r\n\r\nDELETE /_component_template/.risk-score-mappings\r\n\r\n#
Succeeds\r\n\r\n#########\r\n```\r\n\r\n\r\n### Checklist\r\n\r\nDelete
any items that are not applicable to this PR.\r\n\r\n- [ ] [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\r\n- [ ] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n\r\n\r\n\r\n### For
maintainers\r\n\r\n- [ ] This was checked for breaking API changes and
was
[labeled\r\nappropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#_add_your_labels)\r\n-
[ ] This will appear in the **Release Notes** and follow
the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)","sha":"771c139269ac0eac27274e0858be2fbcf87b31e3"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/199734","number":199734,"mergeCommit":{"message":"[Entity
Analytics] API changes for right placement of deleting the old component
template (elastic#199734)\n\n## Summary\r\n\r\n- Delete the old component
template after the index template has\r\nreferenced to the new component
template\r\n- Test cases for the same flow\r\n\r\n\r\n```JSON\r\n# Let's
assume this is 8.15.3\r\n# Create the component template when Risk Score
engine is initialised\r\n# Create the index template which references
the created component template\r\n\r\nPUT
/_component_template/.risk-score-mappings\r\n{\r\n \"template\": {\r\n
\"settings\": {\r\n \"number_of_shards\": 1\r\n },\r\n \"mappings\":
{\r\n \"properties\": {\r\n \"timestamp\": {\r\n \"type\": \"date\"\r\n
},\r\n \"user\": {\r\n \"properties\": {\r\n \"id\": {\r\n \"type\":
\"keyword\"\r\n },\r\n \"name\": {\r\n \"type\": \"text\"\r\n }\r\n
}\r\n }\r\n }\r\n }\r\n },\r\n \"version\": 1\r\n}\r\n\r\nPUT
/_index_template/.risk-score.risk-score-default-index-template\r\n{\r\n
\"index_patterns\":
[\".risk-score.risk-score-default-index-template\"],\r\n \"template\":
{\r\n \"settings\": {\r\n \"number_of_replicas\": 1\r\n }\r\n },\r\n
\"composed_of\": [\".risk-score-mappings\"],\r\n \"priority\": 100,\r\n
\"version\": 1,\r\n \"_meta\": {\r\n \"description\": \"Index template
for indices with the pattern my_index-*\"\r\n }\r\n}\r\n\r\n# The
deployment is updated to 8.16\r\n# User tries to enable the Entity store
which init's the Risk Score engine (again!!) \r\n# Fails, but creates
the component template and cannot update the index template to reference
the new component template due to the error\r\n\r\nPUT
/_component_template/.risk-score-mappings-default\r\n{\r\n \"template\":
{\r\n \"settings\": {\r\n \"number_of_shards\": 1\r\n },\r\n
\"mappings\": {\r\n \"properties\": {\r\n \"timestamp\": {\r\n \"type\":
\"date\"\r\n },\r\n \"user\": {\r\n \"properties\": {\r\n \"id\": {\r\n
\"type\": \"keyword\"\r\n },\r\n \"name\": {\r\n \"type\": \"text\"\r\n
}\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"version\": 1\r\n}\r\n\r\nGET
/_component_template?filter_path=component_templates.name&name=.risk-score-mappings*\r\n\r\n\r\nDELETE
/_component_template/.risk-score-mappings\r\n\r\n# Fails \r\n\r\n#
changed flow\r\nPUT
/_index_template/.risk-score.risk-score-default-index-template\r\n{\r\n
\"index_patterns\":
[\".risk-score.risk-score-default-index-template\"],\r\n \"template\":
{\r\n \"settings\": {\r\n \"number_of_replicas\": 1\r\n }\r\n },\r\n
\"composed_of\": [\".risk-score-mappings-default\"],\r\n \"priority\":
100,\r\n \"version\": 1,\r\n \"_meta\": {\r\n \"description\": \"Index
template for indices with the pattern my_index-*\"\r\n
}\r\n}\r\n\r\nDELETE /_component_template/.risk-score-mappings\r\n\r\n#
Succeeds\r\n\r\n#########\r\n```\r\n\r\n\r\n### Checklist\r\n\r\nDelete
any items that are not applicable to this PR.\r\n\r\n- [ ] [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\r\n- [ ] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n\r\n\r\n\r\n### For
maintainers\r\n\r\n- [ ] This was checked for breaking API changes and
was
[labeled\r\nappropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#_add_your_labels)\r\n-
[ ] This will appear in the **Release Notes** and follow
the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)","sha":"771c139269ac0eac27274e0858be2fbcf87b31e3"}},{"branch":"8.x","label":"v8.17.0","labelRegex":"^v8.17.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.16","label":"v8.16.1","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/200591","number":200591,"state":"MERGED","mergeCommit":{"sha":"06999139d210464c236a3784c58b7e5dcbd64ce3","message":"[8.16]
[Entity Analytics] API changes for right placement of deleting the old
component template (elastic#199734) (elastic#200591)\n\n# Backport\n\nThis will
backport the following commits from `main` to `8.16`:\n- [[Entity
Analytics] API changes for right placement of deleting the\nold
component
template\n(elastic#199734)](https://github.com/elastic/kibana/pull/199734)\n\n<!---
Backport version: 8.9.8 -->\n\n### Questions ?\nPlease refer to the
[Backport
tool\ndocumentation](https://github.com/sqren/backport)\n\n<!--BACKPORT
[{\"author\":{\"name\":\"Abhishek\nBhatia\",\"email\":\"[email protected]\"},\"sourceCommit\":{\"committedDate\":\"2024-11-18T15:07:13Z\",\"message\":\"[Entity\nAnalytics]
API changes for right placement of deleting the old component\ntemplate
(elastic#199734)\\n\\n## Summary\\r\\n\\r\\n- Delete the old
component\ntemplate after the index template has\\r\\nreferenced to the
new component\ntemplate\\r\\n- Test cases for the same
flow\\r\\n\\r\\n\\r\\n```JSON\\r\\n# Let's\nassume this is 8.15.3\\r\\n#
Create the component template when Risk Score\nengine is
initialised\\r\\n# Create the index template which references\nthe
created component
template\\r\\n\\r\\nPUT\n/_component_template/.risk-score-mappings\\r\\n{\\r\\n
\\\"template\\\": {\\r\\n\n\\\"settings\\\": {\\r\\n
\\\"number_of_shards\\\": 1\\r\\n },\\r\\n \\\"mappings\\\":\n{\\r\\n
\\\"properties\\\": {\\r\\n \\\"timestamp\\\": {\\r\\n \\\"type\\\":
\\\"date\\\"\\r\\n\n},\\r\\n \\\"user\\\": {\\r\\n \\\"properties\\\":
{\\r\\n \\\"id\\\": {\\r\\n \\\"type\\\":\n\\\"keyword\\\"\\r\\n
},\\r\\n \\\"name\\\": {\\r\\n \\\"type\\\": \\\"text\\\"\\r\\n
}\\r\\n\n}\\r\\n }\\r\\n }\\r\\n }\\r\\n },\\r\\n \\\"version\\\":
1\\r\\n}\\r\\n\\r\\nPUT\n/_index_template/.risk-score.risk-score-default-index-template\\r\\n{\\r\\n\n\\\"index_patterns\\\":\n[\\\".risk-score.risk-score-default-index-template\\\"],\\r\\n
\\\"template\\\":\n{\\r\\n \\\"settings\\\": {\\r\\n
\\\"number_of_replicas\\\": 1\\r\\n }\\r\\n
},\\r\\n\n\\\"composed_of\\\": [\\\".risk-score-mappings\\\"],\\r\\n
\\\"priority\\\": 100,\\r\\n\n\\\"version\\\": 1,\\r\\n \\\"_meta\\\":
{\\r\\n \\\"description\\\": \\\"Index template\nfor indices with the
pattern my_index-*\\\"\\r\\n }\\r\\n}\\r\\n\\r\\n# The\ndeployment is
updated to 8.16\\r\\n# User tries to enable the Entity store\nwhich
init's the Risk Score engine (again!!) \\r\\n# Fails, but creates\nthe
component template and cannot update the index template to
reference\nthe new component template due to the
error\\r\\n\\r\\nPUT\n/_component_template/.risk-score-mappings-default\\r\\n{\\r\\n
\\\"template\\\":\n{\\r\\n \\\"settings\\\": {\\r\\n
\\\"number_of_shards\\\": 1\\r\\n },\\r\\n\n\\\"mappings\\\": {\\r\\n
\\\"properties\\\": {\\r\\n \\\"timestamp\\\": {\\r\\n
\\\"type\\\":\n\\\"date\\\"\\r\\n },\\r\\n \\\"user\\\": {\\r\\n
\\\"properties\\\": {\\r\\n \\\"id\\\": {\\r\\n\n\\\"type\\\":
\\\"keyword\\\"\\r\\n },\\r\\n \\\"name\\\": {\\r\\n \\\"type\\\":
\\\"text\\\"\\r\\n\n}\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n },\\r\\n
\\\"version\\\":
1\\r\\n}\\r\\n\\r\\nGET\n/_component_template?filter_path=component_templates.name&name=.risk-score-mappings*\\r\\n\\r\\n\\r\\nDELETE\n/_component_template/.risk-score-mappings\\r\\n\\r\\n#
Fails \\r\\n\\r\\n#\nchanged
flow\\r\\nPUT\n/_index_template/.risk-score.risk-score-default-index-template\\r\\n{\\r\\n\n\\\"index_patterns\\\":\n[\\\".risk-score.risk-score-default-index-template\\\"],\\r\\n
\\\"template\\\":\n{\\r\\n \\\"settings\\\": {\\r\\n
\\\"number_of_replicas\\\": 1\\r\\n }\\r\\n
},\\r\\n\n\\\"composed_of\\\":
[\\\".risk-score-mappings-default\\\"],\\r\\n
\\\"priority\\\":\n100,\\r\\n \\\"version\\\": 1,\\r\\n \\\"_meta\\\":
{\\r\\n \\\"description\\\": \\\"Index\ntemplate for indices with the
pattern my_index-*\\\"\\r\\n\n}\\r\\n}\\r\\n\\r\\nDELETE
/_component_template/.risk-score-mappings\\r\\n\\r\\n#\nSucceeds\\r\\n\\r\\n#########\\r\\n```\\r\\n\\r\\n\\r\\n###
Checklist\\r\\n\\r\\nDelete\nany items that are not applicable to this
PR.\\r\\n\\r\\n- [ ] [Unit
or\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\nupdated
or added to match the most common scenarios\\r\\n- [ ]
[Flaky\nTest\\r\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\nwas\\r\\nused
on any tests changed\\r\\n\\r\\n\\r\\n\\r\\n###
For\nmaintainers\\r\\n\\r\\n- [ ] This was checked for breaking API
changes
and\nwas\n[labeled\\r\\nappropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#_add_your_labels)\\r\\n-\n[
] This will appear in the **Release Notes** and
follow\nthe\\r\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\",\"sha\":\"771c139269ac0eac27274e0858be2fbcf87b31e3\",\"branchLabelMapping\":{\"^v9.0.0$\":\"main\",\"^v8.17.0$\":\"8.x\",\"^v(\\\\d+).(\\\\d+).\\\\d+$\":\"$1.$2\"}},\"sourcePullRequest\":{\"labels\":[\"bug\",\"release_note:fix\",\"v9.0.0\",\"Team:Entity\nAnalytics\",\"backport:version\",\"v8.17.0\",\"v8.16.1\"],\"number\":199734,\"url\":\"https://github.com/elastic/kibana/pull/199734\",\"mergeCommit\":{\"message\":\"[Entity\nAnalytics]
API changes for right placement of deleting the old component\ntemplate
(elastic#199734)\\n\\n## Summary\\r\\n\\r\\n- Delete the old
component\ntemplate after the index template has\\r\\nreferenced to the
new component\ntemplate\\r\\n- Test cases for the same
flow\\r\\n\\r\\n\\r\\n```JSON\\r\\n# Let's\nassume this is 8.15.3\\r\\n#
Create the component template when Risk Score\nengine is
initialised\\r\\n# Create the index template which references\nthe
created component
template\\r\\n\\r\\nPUT\n/_component_template/.risk-score-mappings\\r\\n{\\r\\n
\\\"template\\\": {\\r\\n\n\\\"settings\\\": {\\r\\n
\\\"number_of_shards\\\": 1\\r\\n },\\r\\n \\\"mappings\\\":\n{\\r\\n
\\\"properties\\\": {\\r\\n \\\"timestamp\\\": {\\r\\n \\\"type\\\":
\\\"date\\\"\\r\\n\n},\\r\\n \\\"user\\\": {\\r\\n \\\"properties\\\":
{\\r\\n \\\"id\\\": {\\r\\n \\\"type\\\":\n\\\"keyword\\\"\\r\\n
},\\r\\n \\\"name\\\": {\\r\\n \\\"type\\\": \\\"text\\\"\\r\\n
}\\r\\n\n}\\r\\n }\\r\\n }\\r\\n }\\r\\n },\\r\\n \\\"version\\\":
1\\r\\n}\\r\\n\\r\\nPUT\n/_index_template/.risk-score.risk-score-default-index-template\\r\\n{\\r\\n\n\\\"index_patterns\\\":\n[\\\".risk-score.risk-score-default-index-template\\\"],\\r\\n
\\\"template\\\":\n{\\r\\n \\\"settings\\\": {\\r\\n
\\\"number_of_replicas\\\": 1\\r\\n }\\r\\n
},\\r\\n\n\\\"composed_of\\\": [\\\".risk-score-mappings\\\"],\\r\\n
\\\"priority\\\": 100,\\r\\n\n\\\"version\\\": 1,\\r\\n \\\"_meta\\\":
{\\r\\n \\\"description\\\": \\\"Index template\nfor indices with the
pattern my_index-*\\\"\\r\\n }\\r\\n}\\r\\n\\r\\n# The\ndeployment is
updated to 8.16\\r\\n# User tries to enable the Entity store\nwhich
init's the Risk Score engine (again!!) \\r\\n# Fails, but creates\nthe
component template and cannot update the index template to
reference\nthe new component template due to the
error\\r\\n\\r\\nPUT\n/_component_template/.risk-score-mappings-default\\r\\n{\\r\\n
\\\"template\\\":\n{\\r\\n \\\"settings\\\": {\\r\\n
\\\"number_of_shards\\\": 1\\r\\n },\\r\\n\n\\\"mappings\\\": {\\r\\n
\\\"properties\\\": {\\r\\n \\\"timestamp\\\": {\\r\\n
\\\"type\\\":\n\\\"date\\\"\\r\\n },\\r\\n \\\"user\\\": {\\r\\n
\\\"properties\\\": {\\r\\n \\\"id\\\": {\\r\\n\n\\\"type\\\":
\\\"keyword\\\"\\r\\n },\\r\\n \\\"name\\\": {\\r\\n \\\"type\\\":
\\\"text\\\"\\r\\n\n}\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n },\\r\\n
\\\"version\\\":
1\\r\\n}\\r\\n\\r\\nGET\n/_component_template?filter_path=component_templates.name&name=.risk-score-mappings*\\r\\n\\r\\n\\r\\nDELETE\n/_component_template/.risk-score-mappings\\r\\n\\r\\n#
Fails \\r\\n\\r\\n#\nchanged
flow\\r\\nPUT\n/_index_template/.risk-score.risk-score-default-index-template\\r\\n{\\r\\n\n\\\"index_patterns\\\":\n[\\\".risk-score.risk-score-default-index-template\\\"],\\r\\n
\\\"template\\\":\n{\\r\\n \\\"settings\\\": {\\r\\n
\\\"number_of_replicas\\\": 1\\r\\n }\\r\\n
},\\r\\n\n\\\"composed_of\\\":
[\\\".risk-score-mappings-default\\\"],\\r\\n
\\\"priority\\\":\n100,\\r\\n \\\"version\\\": 1,\\r\\n \\\"_meta\\\":
{\\r\\n \\\"description\\\": \\\"Index\ntemplate for indices with the
pattern my_index-*\\\"\\r\\n\n}\\r\\n}\\r\\n\\r\\nDELETE
/_component_template/.risk-score-mappings\\r\\n\\r\\n#\nSucceeds\\r\\n\\r\\n#########\\r\\n```\\r\\n\\r\\n\\r\\n###
Checklist\\r\\n\\r\\nDelete\nany items that are not applicable to this
PR.\\r\\n\\r\\n- [ ] [Unit
or\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\nupdated
or added to match the most common scenarios\\r\\n- [ ]
[Flaky\nTest\\r\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\nwas\\r\\nused
on any tests changed\\r\\n\\r\\n\\r\\n\\r\\n###
For\nmaintainers\\r\\n\\r\\n- [ ] This was checked for breaking API
changes
and\nwas\n[labeled\\r\\nappropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#_add_your_labels)\\r\\n-\n[
] This will appear in the **Release Notes** and
follow\nthe\\r\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\",\"sha\":\"771c139269ac0eac27274e0858be2fbcf87b31e3\"}},\"sourceBranch\":\"main\",\"suggestedTargetBranches\":[\"8.x\",\"8.16\"],\"targetPullRequestStates\":[{\"branch\":\"main\",\"label\":\"v9.0.0\",\"labelRegex\":\"^v9.0.0$\",\"isSourceBranch\":true,\"state\":\"MERGED\",\"url\":\"https://github.com/elastic/kibana/pull/199734\",\"number\":199734,\"mergeCommit\":{\"message\":\"[Entity\nAnalytics]
API changes for right placement of deleting the old component\ntemplate
(elastic#199734)\\n\\n## Summary\\r\\n\\r\\n- Delete the old
component\ntemplate after the index template has\\r\\nreferenced to the
new component\ntemplate\\r\\n- Test cases for the same
flow\\r\\n\\r\\n\\r\\n```JSON\\r\\n# Let's\nassume this is 8.15.3\\r\\n#
Create the component template when Risk Score\nengine is
initialised\\r\\n# Create the index template which references\nthe
created component
template\\r\\n\\r\\nPUT\n/_component_template/.risk-score-mappings\\r\\n{\\r\\n
\\\"template\\\": {\\r\\n\n\\\"settings\\\": {\\r\\n
\\\"number_of_shards\\\": 1\\r\\n },\\r\\n \\\"mappings\\\":\n{\\r\\n
\\\"properties\\\": {\\r\\n \\\"timestamp\\\": {\\r\\n \\\"type\\\":
\\\"date\\\"\\r\\n\n},\\r\\n \\\"user\\\": {\\r\\n \\\"properties\\\":
{\\r\\n \\\"id\\\": {\\r\\n \\\"type\\\":\n\\\"keyword\\\"\\r\\n
},\\r\\n \\\"name\\\": {\\r\\n \\\"type\\\": \\\"text\\\"\\r\\n
}\\r\\n\n}\\r\\n }\\r\\n }\\r\\n }\\r\\n },\\r\\n \\\"version\\\":
1\\r\\n}\\r\\n\\r\\nPUT\n/_index_template/.risk-score.risk-score-default-index-template\\r\\n{\\r\\n\n\\\"index_patterns\\\":\n[\\\".risk-score.risk-score-default-index-template\\\"],\\r\\n
\\\"template\\\":\n{\\r\\n \\\"settings\\\": {\\r\\n
\\\"number_of_replicas\\\": 1\\r\\n }\\r\\n
},\\r\\n\n\\\"composed_of\\\": [\\\".risk-score-mappings\\\"],\\r\\n
\\\"priority\\\": 100,\\r\\n\n\\\"version\\\": 1,\\r\\n \\\"_meta\\\":
{\\r\\n \\\"description\\\": \\\"Index template\nfor indices with the
pattern my_index-*\\\"\\r\\n }\\r\\n}\\r\\n\\r\\n# The\ndeployment is
updated to 8.16\\r\\n# User tries to enable the Entity store\nwhich
init's the Risk Score engine (again!!) \\r\\n# Fails, but creates\nthe
component template and cannot update the index template to
reference\nthe new component template due to the
error\\r\\n\\r\\nPUT\n/_component_template/.risk-score-mappings-default\\r\\n{\\r\\n
\\\"template\\\":\n{\\r\\n \\\"settings\\\": {\\r\\n
\\\"number_of_shards\\\": 1\\r\\n },\\r\\n\n\\\"mappings\\\": {\\r\\n
\\\"properties\\\": {\\r\\n \\\"timestamp\\\": {\\r\\n
\\\"type\\\":\n\\\"date\\\"\\r\\n },\\r\\n \\\"user\\\": {\\r\\n
\\\"properties\\\": {\\r\\n \\\"id\\\": {\\r\\n\n\\\"type\\\":
\\\"keyword\\\"\\r\\n },\\r\\n \\\"name\\\": {\\r\\n \\\"type\\\":
\\\"text\\\"\\r\\n\n}\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n },\\r\\n
\\\"version\\\":
1\\r\\n}\\r\\n\\r\\nGET\n/_component_template?filter_path=component_templates.name&name=.risk-score-mappings*\\r\\n\\r\\n\\r\\nDELETE\n/_component_template/.risk-score-mappings\\r\\n\\r\\n#
Fails \\r\\n\\r\\n#\nchanged
flow\\r\\nPUT\n/_index_template/.risk-score.risk-score-default-index-template\\r\\n{\\r\\n\n\\\"index_patterns\\\":\n[\\\".risk-score.risk-score-default-index-template\\\"],\\r\\n
\\\"template\\\":\n{\\r\\n \\\"settings\\\": {\\r\\n
\\\"number_of_replicas\\\": 1\\r\\n }\\r\\n
},\\r\\n\n\\\"composed_of\\\":
[\\\".risk-score-mappings-default\\\"],\\r\\n
\\\"priority\\\":\n100,\\r\\n \\\"version\\\": 1,\\r\\n \\\"_meta\\\":
{\\r\\n \\\"description\\\": \\\"Index\ntemplate for indices with the
pattern my_index-*\\\"\\r\\n\n}\\r\\n}\\r\\n\\r\\nDELETE
/_component_template/.risk-score-mappings\\r\\n\\r\\n#\nSucceeds\\r\\n\\r\\n#########\\r\\n```\\r\\n\\r\\n\\r\\n###
Checklist\\r\\n\\r\\nDelete\nany items that are not applicable to this
PR.\\r\\n\\r\\n- [ ] [Unit
or\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\nupdated
or added to match the most common scenarios\\r\\n- [ ]
[Flaky\nTest\\r\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\nwas\\r\\nused
on any tests changed\\r\\n\\r\\n\\r\\n\\r\\n###
For\nmaintainers\\r\\n\\r\\n- [ ] This was checked for breaking API
changes
and\nwas\n[labeled\\r\\nappropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#_add_your_labels)\\r\\n-\n[
] This will appear in the **Release Notes** and
follow\nthe\\r\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\",\"sha\":\"771c139269ac0eac27274e0858be2fbcf87b31e3\"}},{\"branch\":\"8.x\",\"label\":\"v8.17.0\",\"labelRegex\":\"^v8.17.0$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.16\",\"label\":\"v8.16.1\",\"labelRegex\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"}]}]\nBACKPORT-->"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <[email protected]>
  • Loading branch information
abhishekbhatia1710 and kibanamachine authored Nov 27, 2024
1 parent 1c2c65f commit 24cbc3e
Show file tree
Hide file tree
Showing 4 changed files with 473 additions and 325 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,9 @@ export const riskScoreFieldMap: FieldMap = {
} as const;

export const mappingComponentName = '.risk-score-mappings';
export const nameSpaceAwareMappingsComponentName = (namespace: string): string => {
return `${mappingComponentName}-${namespace}`;
};
export const totalFieldsLimit = 1000;

export const getIndexPatternDataStream = (namespace: string): IIndexPatternString => ({
Expand Down
Loading

0 comments on commit 24cbc3e

Please sign in to comment.