https://blueprints.launchpad.net/fuel/+spec/allow-choosing-nodes-for-provisioning-and-deployment
Introduce an ability to run provisioning and deployment tasks separately for the environment nodes.
In large OpenStack environment, it might be important to find errors early, without long-running deployment step. So that when provisioning fails, there will be no need to start deployment.
Currently, UI can only run both provisioning and deployment one after another for all the environment nodes. Fuel UI should have a possibility to run the tasks separately and for a particular set of nodes. This will give the End User a control over the action and scope of the changes being made.
If there are nodes in an environment, User should be able to start separate provisioning or deployment task for the environment nodes, as well as a regular deployment of the entire environment.
There is a new control in the top block of Dashboard tab to choose a deployment mode: regular deployment of the environment, advanced provisioning of nodes or advanced deployment of nodes.
UI of regular environment deployment is not changed. The dashboard block for the task should include a list of node changes, warning and alert list, and “Deploy Changes” button.
Block of a separate provisioning task should include the task description, alert list if any, and a button to start the process or to go to a node selection dialog:
Block of a separate deployment task should also include the task description, alert list if any, and a button to start the process or to go to a node selection dialog. The button should be locked id there are no nodes to deploy in an environment:
Separate provisioning task can be started for online discovered (not provisioned and not deployed) environment nodes. Nodes with ‘error’ status and ‘provisioning’ error type (error_type attribute of a node model) can also be reprovisioned.
Separate deployment task can be started for online provisioned and not yet deployed environment nodes. Nodes with ‘error’ status and ‘deploy’ error type are also considered as not deployed.
If user clicks ‘Deploy Changes’ button on the Dashboard tab to run both provisioning and deployment for the entire environment (for all environment nodes):
There can be only one running provisioning or deployment task for environment at the moment. The running separate provisioning or deployment task cannot be stopped from UI for now. This should be considered as a separate feature.
User can choose a particular set of nodes when he runs a separate provision or deployment task:
Already provisioned, deployed and offline nodes should not be visible in the list when choosing nodes for provisioning.
Not provisioned, already deployed and offline nodes should not be visible in the list when choosing nodes for a separate deployment task.
The node selection dialog should have the following node list functionality:
No batch action buttons like node deletion, roles, disks or interfaces configuration should be displayed in the dialog.
User selection in the node list management toolbar (applied sorters, filters, etc.) is not stored in Nailgun DB, because this is not a frequently used screen.
The feature requires Fuel UI changes only.
No changes required.
No changes required.
Existing API is used to handle separate provisioning and deployment tasks:
To track a status of deployment super task (that runs both provisioning and deployment for the entire environment), Fuel UI should handle deploy task. To track a separate provisioning progress, Fuel UI should handle provision task. To track a separate deployment task status, Fuel UI should handle deployment task.
No changes required.
No changes required.
No changes required.
None.
None.
None.
None.
None.
None.
None.
None.
None.
Fuel User Guide should be updated according to the changes.
None.
#fuel-ui on freenode