Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Security Solution] Add Elastic Rules page is empty after rule assets are installed in background #160396

Closed
Tracked by #174167
jpdjere opened this issue Jun 23, 2023 · 2 comments · Fixed by #160389
Closed
Tracked by #174167
Assignees
Labels
8.9 candidate bug Fixes for quality problems that affect the customer experience Feature:Prebuilt Detection Rules Security Solution Prebuilt Detection Rules area impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. Team:Detection Rule Management Security Detection Rule Management Team Team:Detections and Resp Security Detection Response Team Team: SecuritySolution Security Solutions Team working on SIEM, Endpoint, Timeline, Resolver, etc. v8.9.0

Comments

@jpdjere
Copy link
Contributor

jpdjere commented Jun 23, 2023

Describe the bug:

The Add Elastic Rules page is accessible before the security-rule assets are installed in background. This causes the user to navigate to an empty page, where the rules are not listed.

Additionally, once the background installation completes, the available rules are not refetched, leaving the user in a state where rules cannot be installed until the page is fully refreshed.

Steps to reproduce:

  1. Start Kibana with a clean ES slate.
  2. Navigate to the rules management page. Quickly click on the Add Rules button. Use throttling if necessary to do this before the background installation of the package is completed.
  3. The Add Elastic rules page appears empty even after the installation is completed in the background.

Expected behavior:

  • Rules to install should appear in Add Rules Page once the background installation is completed.
  • Show loading state if necessary to indicate that the rules are still being installed in the background.
@jpdjere jpdjere added bug Fixes for quality problems that affect the customer experience triage_needed Team:Detections and Resp Security Detection Response Team Team: SecuritySolution Security Solutions Team working on SIEM, Endpoint, Timeline, Resolver, etc. Team:Detection Rule Management Security Detection Rule Management Team labels Jun 23, 2023
@jpdjere jpdjere self-assigned this Jun 23, 2023
@elasticmachine
Copy link
Contributor

Pinging @elastic/security-detections-response (Team:Detections and Resp)

@elasticmachine
Copy link
Contributor

Pinging @elastic/security-solution (Team: SecuritySolution)

@banderror banderror added impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. Feature:Prebuilt Detection Rules Security Solution Prebuilt Detection Rules area v8.9.0 8.9 candidate and removed triage_needed labels Jun 23, 2023
jpdjere added a commit that referenced this issue Jun 29, 2023
…kage installed in background (#160389)

Fixes #160396

## Summary

- Invalidates cache after `security_detection_engine` package is
installed in the background so rules available for installation and for
upgrade are refetched, and their respective tables correctly populated
with them.
- Disable Install and Upgrade buttons in both tables while the package
is being installed in the background to prevent the user from attempting
to install/update outdated version.
- Add a Loading Skeleton in the Add Elastic Rules when the user
navigates to that page while the `security_detection_engine` is being
installed for the first time, to prevent the user from seeing a flash of
the "No available rules" component, before rules are loaded.


### Checklist

Delete any items that are not applicable to this PR.

- [ ] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
kibanamachine pushed a commit to kibanamachine/kibana that referenced this issue Jun 29, 2023
…kage installed in background (elastic#160389)

Fixes elastic#160396

## Summary

- Invalidates cache after `security_detection_engine` package is
installed in the background so rules available for installation and for
upgrade are refetched, and their respective tables correctly populated
with them.
- Disable Install and Upgrade buttons in both tables while the package
is being installed in the background to prevent the user from attempting
to install/update outdated version.
- Add a Loading Skeleton in the Add Elastic Rules when the user
navigates to that page while the `security_detection_engine` is being
installed for the first time, to prevent the user from seeing a flash of
the "No available rules" component, before rules are loaded.

### Checklist

Delete any items that are not applicable to this PR.

- [ ] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))

(cherry picked from commit 2f03a25)
kibanamachine referenced this issue Jun 30, 2023
…er package installed in background (#160389) (#160892)

# Backport

This will backport the following commits from `main` to `8.9`:
- [[Security Solution] Fix Add Rules Page not refetching rules after
package installed in background
(#160389)](#160389)

<!--- Backport version: 8.9.7 -->

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

<!--BACKPORT [{"author":{"name":"Juan Pablo
Djeredjian","email":"jpdjeredjian@gmail.com"},"sourceCommit":{"committedDate":"2023-06-29T13:51:00Z","message":"[Security
Solution] Fix Add Rules Page not refetching rules after package
installed in background (#160389)\n\nFixes
https://github.com/elastic/kibana/issues/160396\r\n\r\n##
Summary\r\n\r\n- Invalidates cache after `security_detection_engine`
package is\r\ninstalled in the background so rules available for
installation and for\r\nupgrade are refetched, and their respective
tables correctly populated\r\nwith them.\r\n- Disable Install and
Upgrade buttons in both tables while the package\r\nis being installed
in the background to prevent the user from attempting\r\nto
install/update outdated version.\r\n- Add a Loading Skeleton in the Add
Elastic Rules when the user\r\nnavigates to that page while the
`security_detection_engine` is being\r\ninstalled for the first time, to
prevent the user from seeing a flash of\r\nthe \"No available rules\"
component, before rules are loaded.\r\n\r\n\r\n###
Checklist\r\n\r\nDelete any items that are not applicable to this
PR.\r\n\r\n- [ ] This renders correctly on smaller devices using a
responsive\r\nlayout. (You can test this [in
your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))","sha":"2f03a25362c1bc6392b81c46a550631c458b6015","branchLabelMapping":{"^v8.10.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:skip","impact:high","Team:Detections
and Resp","Team: SecuritySolution","Team:Detection Rule
Management","Feature:Prebuilt Detection
Rules","v8.9.0","v8.10.0"],"number":160389,"url":"https://github.com/elastic/kibana/pull/160389","mergeCommit":{"message":"[Security
Solution] Fix Add Rules Page not refetching rules after package
installed in background (#160389)\n\nFixes
https://github.com/elastic/kibana/issues/160396\r\n\r\n##
Summary\r\n\r\n- Invalidates cache after `security_detection_engine`
package is\r\ninstalled in the background so rules available for
installation and for\r\nupgrade are refetched, and their respective
tables correctly populated\r\nwith them.\r\n- Disable Install and
Upgrade buttons in both tables while the package\r\nis being installed
in the background to prevent the user from attempting\r\nto
install/update outdated version.\r\n- Add a Loading Skeleton in the Add
Elastic Rules when the user\r\nnavigates to that page while the
`security_detection_engine` is being\r\ninstalled for the first time, to
prevent the user from seeing a flash of\r\nthe \"No available rules\"
component, before rules are loaded.\r\n\r\n\r\n###
Checklist\r\n\r\nDelete any items that are not applicable to this
PR.\r\n\r\n- [ ] This renders correctly on smaller devices using a
responsive\r\nlayout. (You can test this [in
your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))","sha":"2f03a25362c1bc6392b81c46a550631c458b6015"}},"sourceBranch":"main","suggestedTargetBranches":["8.9"],"targetPullRequestStates":[{"branch":"8.9","label":"v8.9.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.10.0","labelRegex":"^v8.10.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/160389","number":160389,"mergeCommit":{"message":"[Security
Solution] Fix Add Rules Page not refetching rules after package
installed in background (#160389)\n\nFixes
https://github.com/elastic/kibana/issues/160396\r\n\r\n##
Summary\r\n\r\n- Invalidates cache after `security_detection_engine`
package is\r\ninstalled in the background so rules available for
installation and for\r\nupgrade are refetched, and their respective
tables correctly populated\r\nwith them.\r\n- Disable Install and
Upgrade buttons in both tables while the package\r\nis being installed
in the background to prevent the user from attempting\r\nto
install/update outdated version.\r\n- Add a Loading Skeleton in the Add
Elastic Rules when the user\r\nnavigates to that page while the
`security_detection_engine` is being\r\ninstalled for the first time, to
prevent the user from seeing a flash of\r\nthe \"No available rules\"
component, before rules are loaded.\r\n\r\n\r\n###
Checklist\r\n\r\nDelete any items that are not applicable to this
PR.\r\n\r\n- [ ] This renders correctly on smaller devices using a
responsive\r\nlayout. (You can test this [in
your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))","sha":"2f03a25362c1bc6392b81c46a550631c458b6015"}}]}]
BACKPORT-->

Co-authored-by: Juan Pablo Djeredjian <jpdjeredjian@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8.9 candidate bug Fixes for quality problems that affect the customer experience Feature:Prebuilt Detection Rules Security Solution Prebuilt Detection Rules area impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. Team:Detection Rule Management Security Detection Rule Management Team Team:Detections and Resp Security Detection Response Team Team: SecuritySolution Security Solutions Team working on SIEM, Endpoint, Timeline, Resolver, etc. v8.9.0
Projects
None yet
3 participants