Re-implement Network workflows in AngularJS
Summary
=======
Move OpenStack Dashboard Network workflows rendering logic to client-side using AngularJS.
Motivation
==========
OpenStack Kilo release introduced new reusable AngularJS widgets in Horizon, such as a new table implementation with expandable content and filtering. These features
reflect an ongoing community effort on moving most rendering logic in different parts of Horizon from
server-side Django code to client-side, with AngularJS[
During the Liberty cycle new functionality was added to the existing Networks workflow to support creating subnets from subnet pools using Neutron subnet allocation. There is also work in progress for adding support for managing the subnet pools themselves. However, I find it counter productive to implement more functionality in the old workflow and propose to re-implement the existing code in AngularJS before continuing the work on new features.
Description
===========
The Create/Edit Network and Create/Edit Subnet workflows will be re-implemented using AngularJS.
UX
==
In the initial proposal I will use the work laid down on the new Angular Launch Instance workflow as basis for the new Network workflow. Apart from the obvious differences in wizard layout vs. tabbed modal layout I will try to keep the fields and choices as similar as todays layout as possible. Some additional improvements will be attempted, specifically combined IP version auto detection and address verification, making the IP version field superfluous.
Testing
=======
Reviewers will be able to pull the patch from Gerrit. Any specific information needed to test the changes will be provided in the commit message.
Outside Dependencies
=======
There will be need for implementing some new Neutron REST API bindings.
Doc Impact
==========
Documentation may be updated to reflect new or changed features. This could include:
- Settings to enable/disable the new Network workflow modals.
- Changes in default behaviour
Requirements Update Required
=======
None
References
==========
[1] https:/
[2] https:/
[3] https:/
[4] https:/
[5] https:/
Blueprint information
- Status:
- Started
- Approver:
- David Lyle
- Priority:
- Low
- Drafter:
- Frode Nordahl
- Direction:
- Approved
- Assignee:
- None
- Definition:
- Approved
- Series goal:
- Accepted for future
- Implementation:
- Slow progress
- Milestone target:
- next
- Started by
- David Lyle
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
[amotoki - Feb 19, 2018] I am not sure we still need angularjs conversion. Perhaps the general direction needs to be discussed in the Rocky PTG.
[robcresswell]
This has been left for a while, and I've started on Create Network so I'll reuse this blueprint.
https:/