-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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] Show the progress of updates #72537
Comments
Pinging @elastic/ingest-management (Team:Ingest Management) |
@hbharding I updated the second and third paragraph with more clear requirements. I didn't mention the flyout as a requirement because its not clear we are taking that path, but its worth mentioning that it's a possibility. |
@hbharding I updated the description based on our discussions about fleet status yesterday |
UpdateRecap of limitations Based on previous discussions, we concluded that it will not be possible to track the status of individual deployments at this time. Without this capability, there are technical limitations that prevent us from showing accurate information about bulk actions. Additionally, while we may be able to hack a solution that could work for some bulk actions, this information would not persist between sessions and page reloads. If we were to show this information in a flyout after a user performs an action, it would not be possible to reaccess this information when the flyout closes. Proposed interim solution In lieu of these limitations, we can still improve the current experience by:
A couple of things have changed with this proposal (ignore any naming discrepancies between the images):
1. Use EuiBadge to show Agent statusPreviously, it was challenging to recognize the agent status without reading the fine print. The 8px dot of EuiHealth made it difficult to distinguish the colors without looking closely. With EuiBadge, the colors are much more prominent and allow the user to quickly scan the table for status information. When an action is performed, the badge will change color (blue) and say "updating" until the action is complete. This emphasis on color should make a change in status from "updating" to "healthy" more apparent, whereas currently this change in status is very subtle. Some notes:
2. Status bar visualizationThe status bar provides a breakdown of results for agent statuses across all pages of the table. Since we only show a limited number of agents at a time (10 by default), it is difficult for an administrator to have a complete picture of their agents' overall health. The current UI does not update the status count as filters are applied, whereas the proposed changes will add this kind of behavior. When an administrator performs a bulk action like "upgrade agents", it is likely that they will want to limit the scope of the action to agents that share a particular policy. If the admin filters the list of agents for "Policy A" and then does a bulk select -> bulk action on all matching agents, they should notice the status bar change to a blue color to reflect that the agents are updating. As the agents update, the blue section of the status bar will gradually shrink to zero and be replaced by a status such as "healthy" or "unhealthy". This behavior will allow the user to have a better understanding of when a bulk action is in progress and eventually complete. Unlike a typical progress bar which transitions left to right from 0% to 100%, the status bar will indicate progress by counting down until the "updating" status reaches 0. Some notes:
3. Include button in toast messages that link to Agents tableIt's easy to overlook, but when a user updates a policy that has agents enrolled (for example, by adding, editing, or removing an integration), they are in effect performing a bulk action. Currently, users are returned to the policy page when this type of action is performed; however there is no indication of agent status on this page. While this kind of information is something we might want to add to the policy page, for the time being, we can simply include a button in the toast message that will direct users to the agent table with a filter applied that matches the policy they were looking at. |
Summary of the problem
We need a way to communicate to users the progress of updates to agents, whether they are agent binary upgrades or agent configuration changes. This is particularly important when there are thousands of agents since they may be in different states as a result of the upgrade. This will help administrators determine when all requested updates are complete and what agents need intervention to update / fix. We should show the status of updates when the user saves a change to an integration or agent configuration.
The status indicator should show the status of the agents where the update was requested. In other words, the user should the status of a filtered view of agents matching the agents that were selected, such as the agent policy. The user should be able to see how many agents have an update pending and how many are complete. It should be shown in the workflow of making the update, ideally right after the change is applied. This will allow the user to view progress as the update rolls out. The indicator can be closed or the user can change pages and the update should continue in the background.
It does not need to be a persistent way to view a history of changes, because that may be covered by a future audit logging and/or deployment tracking capabilities. If the user closes the page and returns later, the user will need to remember which agents they requested a change on to see if they are updated.
The Agent statuses should ideally match to the ones shown on the Fleet page to reduce cognitive load for users. #75236
Types of updates to track:
User stories
Stretch goal:
List known (technical) restrictions and requirements
None
Other
See wireframe on Whimiscal
The text was updated successfully, but these errors were encountered: