Enable firewall insertion configuration for Cisco FWaaS

Registered by Yanping Qu

Summary
=======
The goal of this blueprint is to extend Firewalls configuration within Horizon
to support firewall insertion points (router interfaces and direction)
required by Cisco Cloud Service Router (CSR1000V) FWaaS plugin.

Motivation
==========
Cisco FWaaS requires additional vendor attributes to specify firewall
insertion points (neutron router interface and associated direction). This
blueprint is to allow user to specify the firewall insertion points on Horizon
when creating / updating Cisco FWaaS.

Description
===========
Network/Firewalls/Firewalls will be extended when Cisco FWaaS is enabled.

When creating a firewall, the "Add Firewall" page will be extended to allow
user to specify a router interface and associated firewall direction.

When displaying details of a firewall that has been created, the firewall
insertion point (router interface and associated direction) will be displayed.

When updating a firewall, the "Edit Firewall" page will be extended to
allow user to change firewall insertion point (another router interface on the
same router where this firewall has been applied, and associated direction).

UX
==
When user clicks "+Create Firewall" under Network/Firewalls/Firewalls, "Add
Firewall" page will be pop-up. This page will be extended to allow user to
specify "Router Interface ID" and "Firewall Direction". The drop-down of
"Router Interface ID" will list available router interfaces (router name and
IP address of the interface). The drop-down of "Firewall Direction" will list
direction options (BOTH, INSIDE, OUTSIDE).

Under Network/Firewalls/Firewalls page, when user clicks a firewall (name)
that has been configured, the "Firewall Details" page will be extended to
display Router Interface ID and Firewall Direction.

Under Network/Firewalls/Firewalls page, when user clicks "Edit Firewall" on
a firewall that has been configured, the "Edit Firewall" page will be shown
to allow user to update firewall. This page will be extended to allow user
to update "Router Interface ID" and "Firewall Direction". The drop-down of
"Router Interface ID" will list available router interfaces (router name and
IP address of the interface) on the same router where this firewall has been
configured on. The drop-down of "Firewall Direction" will list firewall
direction options.

Wireframes, Mocks, Videos and UI Markup
---------------------------------------------------------
Will post these up as code is developed.

Testing
=======
This blueprint will be testable through standard devstack deployments with
Neutron and Cisco FWaaS enabled.

Outside Dependencies
====================
https://blueprints.launchpad.net/openstack/?searchtext=fwaas-cisco

Requirements Update Required
============================
No requirements changes to the Dashboard

Doc Impact
==========
No changes default behaviors, settings, or deprecation of previous code.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Yanping Qu
Direction:
Needs approval
Assignee:
Yanping Qu
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
David Lyle

Related branches

Sprints

Whiteboard

This blueprint has dependency on Cisco FWaaS which is targeting for Kilo:
https://blueprints.launchpad.net/neutron/+spec/fwaas-cisco

Gerrit topic: https://review.openstack.org/#q,topic:bp/bp-cisco-fwaas-horizon,n,z

Addressed by: https://review.openstack.org/161049
    Enhance Dashboard for Cisco FWaaS

[mrunge: Mar 04, 2015]: Discussion required; are these fw settings user specific, project specific, cloud environment specific?
[yanping: Mar 09, 2015]: These firewall setting are Cisco vendor specific. Cisco CSR1KV router ACL-based firewall requires these attributes specified. The implementation of this blueprint will be vendor specific too.

[david-lyle | Nov 18 2015] This needs to target the horizon-cisco-ui repository not horizon.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.