fixup network create : raise a nice neutron exception if entry already exist

Bad network request: ['default-domain', 'admin', 'NetworkA'] already exists with uuid: 759c7d73-b1b2-4296-8c6d-f460471c55c9

Signed-off-by: Nicolas PLANEL <nicolas.planel@enovance.com>
fixup network-delete() avoid flushing floating-ip-pool twice

fip_pool are flush already in virtual_network_delete()

Signed-off-by: Nicolas PLANEL <nicolas.planel@enovance.com>
[subnet] return BadRequest error "IPv6 is not supported" if user try to create a IPv6 subnet

Signed-off-by: Nicolas PLANEL <nicolas.planel@enovance.com>
Read the ports using project vmi link
fix spaces
Merge pull request #52 from Juniper/port_list_with_tenant

Port list with tenant
Throw exception for unsupported subnet_create attributes
Remove TODO msg from subnet_vnc_to_neutron
Merge pull request #53 from enovance/subnet_todo

Subnet todo
Merge pull request #50 from cloudwatt/fix_network_api_calls

Fix network api calls
Don't read security groups again. Cleaner fix will be build a cache with fq_name as index
Merge pull request #56 from Juniper/slow_sg_list

Slow sg list
Neutron to VNC update for nameservers and host routes
Merge pull request #57 from haripk/R1.06

Neutron to VNC update for nameservers and host routes
Support neutron subnet-update
Merge pull request #58 from enovance/subnet_update

Subnet update
Revert "revert bad commit line (flake8) : from vnc_api.vnc_api import _"

Remove flake8 fix to be able to rebase code with Juniper repo.
See later for flake8 fixes.

This reverts commit c180e2b3683bbf1457e1c3d68624883da4ff28e5.
Revert "flake8 fixup"

Remove flake8 fix to be able to rebase code with Juniper repo.
See later for flake8 fixes.

This reverts commit c44e7a7db52224c4634d740c608b37ed14952ee1.
Merge remote-tracking branch 'upstream/R1.06' into R1.06

Signed-off-by: Édouard Thuleau <edouard.thuleau@cloudwatt.com>

Conflicts:
	neutron_plugin_contrail/plugins/opencontrail/ctdb/config_db.py
Add router gateway support

When a gateway is set on router, the plugin dedicate a virtual network
as private network (called 'vn_snat_[ROUTER_UUID]') and start a netns
service instance between the private network and the public. Then it
sets a network policy between private and public network to pass through
the service instance. And finally, it creates a routing table with a
default route that point to the service instance private port.

Signed-off-by: Édouard Thuleau <edouard.thuleau@cloudwatt.com>