https://blueprints.launchpad.net/fuel/+spec/ui-deployment-history
Show deployment execution graphs for all cluster deployments in Fuel UI. This would allow End User to perform maintenance of a cluster with an ability to do troubleshooting and audit of things happening to the cluster.
Currently, it is almost impossible for Fuel UI user to see and understand details of the deployment execution processes happened to cluster. User has no information about running processes on nodes during deployment, tasks sequence and their statuses, just a final result of successful or failed environment deployment. It makes maintenance and troubleshooting of a cluster via Fuel UI difficult and time-consuming.
This change proposes to show all the information about particular deployments for each particular cluster and its nodes.
Deployment should be represented as a graph where x-axis is a timeline and y-axis indicates cluster nodes. Each node section contains a sequence of deployment tasks related to the node. An additional section shows tasks executed on the master node. Node sections are grouped by node roles.
Each bar on the graph corresponds to particular deployment task. Being hovered it pops over the following info about the task:
Task bar should be clickable and display a popover with the following task data:
Timeline should support zooming for better UX.
Tasks in ‘skipped’ status should not be reflected on the timeline, as they do not participate in deployment. The same for tasks in ‘pending’ status. They are not shown on the timeline because they are not started yet.
Deployment timeline should have a control to switch to table representation. It is a table that displays a list of deployment tasks and it is divided into sections. Each section includes tasks executed on nodes of specific roles and has an appropriate role combination as a title.
Deployment table has the following columns:
The list of tasks in the table should be sorted by node ID, then by start time attribute.
Link in the ‘Details’ column should open a pop-up with all the task attributes listed.
All tasks, including skipped and pending, should be shown in a table view.
Deployment tasks table should support filtering by:
These filters should support multiple values selection (user may want to see tasks for several nodes or with a specific set of statuses). Filters panel should have ‘Reset’ button to reset applied filters.
When switching to deployment table view on the Dashboard, tasks in the table should be filtered by ‘ready’, ‘running’ and ‘error’ statuses by default.
History of a particular cluster deployment comes from GET /api/transactions/<deployment_id>/deployment_history/ response. The response is a list of deployment tasks in the following format (only attributes used in Fuel UI are described):
{
"task_name": "upload_configuration",
"node_id": "6",
"node_roles": ["compute", "cinder"],
"node_name": "Node X",
"status": "running",
"time_start": "2016-06-24T06:37:51.735185",
"time_end": null,
"message": "",
...
}
where
node_id attribute can be set to ‘null’ or ‘-‘. Null value means that the task represents synchronization process on nodes and refers to Virtual Sync Node. ‘-‘ value means that the task was not executed on any node. Fuel UI should not display such tasks on timeline or in deployment table, tasks related to cluster nodes or the master node should be shown only.
Ids of all cluster deployments come from the response of GET /api/transactions?cluster_id=<cluster_id>&tasks_names=deployment API call.
GET /api/transactions/?cluster_id=<cluster_id>&tasks_names=deployment& statuses=running API call should be used on the cluster Dashboard to get id of the running deployment.
Deployment history view should also have ‘Export CSV’ button for User to be able to download a full history of particular deployment in CSV format. Exported CSV data should include all deployment history tasks with all their attributes.
None.
No changes required.
No changes required.
None.
Migration should be prepared according to the changes in data models.
None.
None.
Ability to easier troubleshoot and perform maintenance of a cluster.
None.
None.
None.
None.
Fuel UI user guide should be updated to include information about the feature.
None.
Fuel UI user should be able to run several deployments for a cluster and see the deployment tasks history in the cluster page, including real-time information about a current deployment.