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

[Ingest Manager] Add bulk actions #72712

Closed
mostlyjason opened this issue Jul 21, 2020 · 11 comments · Fixed by #77690
Closed

[Ingest Manager] Add bulk actions #72712

mostlyjason opened this issue Jul 21, 2020 · 11 comments · Fixed by #77690
Assignees
Labels
Team:Fleet Team label for Observability Data Collection Fleet team

Comments

@mostlyjason
Copy link
Contributor

mostlyjason commented Jul 21, 2020

Summary of the problem

Bulk actions allow administrators to execute actions across multiple agents at the same time. This makes it more efficient to manage fleets with hundreds or thousands of agents.

This feature should require the Gold license or higher. It is most valuable in clusters where administrators must manage large numbers of agents.

If any of the agents are already in the target state, IM should skip those agents. For example, if I execute a bulk action to upgrade 1000 agents and 10 are already upgraded, those agents are skipped.

User stories

  • As a Fleet administrator, I would like to execute actions against multiple agents in bulk. These actions include upgrading the agent binary, unenrolling agents, and force unenrolling agents.
  • As a Fleet administrator, I would like to execute these actions on some or all agents that I have selected. The selection should only apply to agents that are visible given the current filter conditions. The selection of all matching agents should extend across multiple pages, similar to Gmail.
  • As a Fleet administrator, I would like to view the status of my actions as they are deployed across my fleet [Ingest Manager] Improve unenroll agent UX #67704

Other
Later on, we hope to add the capability for progressive deployments using this feature.

@mostlyjason mostlyjason added design Team:Fleet Team label for Observability Data Collection Fleet team labels Jul 21, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/ingest-management (Team:Ingest Management)

@hbharding
Copy link
Contributor

Here's my initial concept for how this might work:

Kapture 2020-07-21 at 14 13 35

I still need to mockup what the modals/flyouts for these actions will look like. We should indicate how many agents will be affected as a result of these actions.

I've already gotten some feedback from the EUI team, and they might be interested in developing a pattern for bulk actions on tables into EUI. However, we shouldn't wait for that. @MichaelMarcialis shared a prototype that the EUI team likes, so I may try and replicate this in my next update. I also received feedback that the "cancel" button should say "deselect all" and probably appear inside the context menu.

@hbharding
Copy link
Contributor

@mostlyjason You mentioned "force unenroll". Do we allow users to force unenroll agents that are in an active/online state? If the user sees "Unenroll agent(s)" and "Force unenroll" in the context menu, will they understand the difference? A modal with messaging may be necessary to explain what these actions do. Related: #72653

If force unenroll can only be performed on "unenrolling" agents, what happens if a user selects 1000 agents, but 5 of those agents are "unenrolling". We could show the "force unenroll" option as disabled, and only enable it if all the selected agents are in an "unenrolling state". Users could filter the table to only show "unenrolling", and then perform the bulk force unenroll action.

This PR has commentary about why we think we need a "force unenroll" options #72386

@mostlyjason
Copy link
Contributor Author

@hbharding can we use this issue to track the bulk actions UI elements and use #72653 to discuss unenrolling?

@ph
Copy link
Contributor

ph commented Aug 18, 2020

@hbharding can you update this issue?

@hbharding
Copy link
Contributor

hbharding commented Aug 19, 2020

Update:

Figma file
Figma prototype

Bulk selection
Kapture 2020-08-19 at 14 36 53

Filter bulk selection
Kapture 2020-08-19 at 14 42 34

Possible bulk actions
image

Q and A

  • Q: What happens if I bulk select 1000 agents, and then apply a filter so that only 500 agents are showing? How many agents are selected?
    • A: 500 agents are selected
  • Q: Follow up question... what happens if I then remove the filter? How many agents are selected?
    • A: 500 agents are selected

@ph
Copy link
Contributor

ph commented Sep 2, 2020

@jen-huang Fixed that issues.. it should be in the right board / column now.

@ph
Copy link
Contributor

ph commented Sep 2, 2020

@hbharding Could you update the issue with the decision for the question you had in #72712 (comment)

@jen-huang
Copy link
Contributor

Reopening as I'm using this for dev work :)

@ghost
Copy link

ghost commented Sep 24, 2020

Hi EricDavisX

We have passed 04 testcases under [Ingest Manager] Add bulk actions TestRun on 8.0 snapshot on Chrome browser.

Currently Upgrade agent binary is not implemented for this ticket.

We will validate this ticket on Mozilla Firefox and Edge on the next working today.

@ghost
Copy link

ghost commented Sep 28, 2020

Hi Eric

We have validate this ticket on Firefox and Edge browser and executed/passed 08 testcases under [Ingest Manager] Add bulk actions_BrowserTesting TestPlan.

Please let us know if anything is missing from our end.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Team:Fleet Team label for Observability Data Collection Fleet team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants