Add Angular Security Groups panel

Registered by wei.ying

Summary
=======
Add NG Security Groups panel based on angular js.

Motivation
========
Same as other panels, migrate existing panels to Angular.

Description
=========
The existing security groups page (written using django templates) will be converted to angular js.
This bp includes not only Security Groups Table but also actions for security groups implemented in the existing one.
 - list security groups
 - create security group
 - update security group
 - delete security group
 - manage security group Rules
   a) List security groups rules
   b) Create security group rule
   c) Delete security group rule

UX
===
Following existing Angular pattern defined in framework.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
wei.ying
Direction:
Needs approval
Assignee:
wei.ying
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/ng-security-groups,n,z

Addressed by: https://review.openstack.org/536144
    Add angular security groups panel

Addressed by: https://review.openstack.org/536145
    Add angular create security group action

Addressed by: https://review.openstack.org/536146
    Add angular delete security group action

[amotoki -- Jan 21, 2018] - Considering the current situation of horizon developers and reviewers, I don't think we should encourage Angular migration of existing panels. Previously migration to AngularJS implementation was expected to gather more GUI developers and reviewers but that is not true considering the current situation. Django version of security group panel is maintained well. As the main maintainer of the network panels and horizon liaison of the network projects, considering my skill, migrating the security panel to AngularJS implementation will lose my responsibility of the neutron liaison about the security groups panel and it means we need another maintainer of the panel. Can you maintain the security group panel even after this blueprint is completed considering the situation of neutron development? Before approving the blueprint, I believe we need to discuss more AngularJS migration. (Note that implementing new features in AngularJS is a different topic. At now, we are accepting new features both with AngularJS and Django-based implementations.)

[wei.ying -- Jan 23, 2018]
Hi amotoki, thanks for your detail comments.
Because I've been in the horizon community for a while, I've also realized that Horizon now lacks more developers and reviewers on the GUI, this seems to take a long time for all django panels to migrate to angular. If we now migrate the django version to angular, we may need to maintain two pieces of code at the same time, and this may also lead to not very good maintenance of the angular version, so I agree with what you said.

However, in my understanding, the relevant API of the neutron security group is now relatively mature, and there has been no significant change in recent versions, when I personally develop the security group panel, I first need to comply with the neutron api documentation, and then the requirements and implementation will be consistent with the django version. If this bp can be successfully completed, I will continue to pay attention to the security group django version, and these changes corresponding to the angular.

[amotoki - Feb 17, 2018]
Sorry for late. We are starting to think rewriting existing Django panels into AngulrJS no longer helps horizon community. Rewriting with AngularJS itself produces nothing and forces reviewers' time. The migration to AngularJs is no longer the agreed project goal. I think we should focus on bug fixing and new features rather than re-implementation.
It is a different topic of the matureness of the neutron security group API. If the API is mature, we can keep the existing implementation. Anyway, I cannot be an approver of this blueprint. In my understanding, an approver is the main responsibility of reviewing patches on the blueprint. All will be deferred to the Rocky PTL, Ivan.

Addressed by: https://review.openstack.org/536532
    Add angular edit security group action

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.