python-neutronclient for cisco Dynamic Fabric Automation Support

Registered by Milton Xu

Add new set of APIs to the neutronclient for accessing cisco Dynamic Fabric Automation extension resources.

To support cisco DFA in horizon, and also CLI (for neutron) when a network is created a new option should be displayed.
The new option is called 'configuration profile' and it will be displayed along with other options when creating a network and user can select one of the available profiles from the list. The list of profiles are fetched from the newly added database. The database is getting populated by a driver which will be added as part of ML2 cisco DFA mechanism driver. In order to get the list of config profiles from the database, a new API will be added to neutronclient.

The link below has detail info regarding cisco DFA:
www.cisco.com/go/dfa

Also this link has detail of work that this blueprint is part of:
https://docs.google.com/document/d/1y12M8YE95gzXHP3E47zBmXGFV2Zir8UZXcTlJBnyeP0/edit?pli=1

Blueprint information

Status:
Started
Approver:
Edgar Magana
Priority:
Low
Drafter:
Milton Xu
Direction:
Approved
Assignee:
Nader Lahouti
Definition:
New
Series goal:
None
Implementation:
Started
Milestone target:
None
Started by
Edgar Magana

Related branches

Sprints

Whiteboard

We would like to get the implementation reviewed and committed for the Juno release

----
The changes in the neutronclient is for supporting a new 'config-profile' extension for network resource.

Here are the changes:
1. Add new file for supporting the CLI:
python-neutronclient/neutronclient/neutron/v2_0/configprofiles.py

2. Add new option to CLI:
python-neutronclient/neutronclient/shell.py

 VERSION = '2.0'
@@ -260,6 +261,7 @@
     'meter-label-rule-list': metering.ListMeteringLabelRule,
     'meter-label-rule-show': metering.ShowMeteringLabelRule,
     'meter-label-rule-delete': metering.DeleteMeteringLabelRule,
+ 'cisco-dfa-config-profile-list': configprofiles.ListConfigProfiles,
 }

3. Introducing new API to get list of config profile:
python-neutronclient/neutronclient/v2_0/client.py

     policy_profile_bindings_path = "/policy_profile_bindings"
+ config_profiles_path = "/config_profiles"
     metering_labels_path = "/metering/metering-labels"

=========================================================

Related blueprint:
 https://blueprints.launchpad.net/neutron/+spec/ml2-mechnism-driver-for-cisco-dfa

Gerrit topic: https://review.openstack.org/#q,topic:bp/python-neutronclient-for-cisco-dfa,n,z

Addressed by: https://review.openstack.org/97416
    Add API in python-neutronclient for Cisco DFA

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.