Commit Graph

62 Commits

Author SHA1 Message Date
Dane LeBlanc
1c3864fb8a cisco/nexus plugin doesn't create port for router interface
Fixes bug 1234826

This fix adds a "nexus_l3_enable" configuration boolean for the
Cisco Nexus plugin. When this config boolean is set to False (default),
then the Nexus switches are only used for L2 switching/segmentation, and
layer 3 functionality is deferred to the OVS subplugin / network
control node. If this config boolean is set to True, layer 3
functionality, e.g. switch virtual interfaces, are supported on
the Nexus switches. (Note that layer 3 functionality is not supported
on all versions/models Nexus switches.)

Some other things addressed with this fix:
- The l3_port_check keyword argument which is optionally passed to the
  Cisco plugin's delete_port method was not being forwarded on to the
  OVS (sub) plugin. This keyword argument needs to be forwarded to OVS
  e.g. when the delete_port is being done in the context of a
  router interface delete (whereby l3_port_check==False).
- UT test cases are added for new "nexus_l3_enable" config, which
  exercise router interface add/delete.
- The Cisco test_network_plugin.py module is refactored/reorganized
  in order to cleanly add a new router interface test class.
- The test_model_update_port_rollback test case was yielding a false
  positive result (device_owner was not being passed to self.port).

Change-Id: I994b2b82769ea5e10e50dbe3a223d1518e99f714
2013-10-11 20:23:55 -04:00
Bob Kukura
16378bb504 Change rpc_support_old_agents default to False
Changes the rpc_support_old_agents config variable default value to
False, so that the vlan_id field (redundant with the segmentation_id
field) is no longer included in RPC messages from the linuxbridge and
mlnx plugins to their corresponding L2 agents. This can be set to True
if needed to support L2 agents older than midway through the havana
cycle.

Closes-Bug: 1235323
Change-Id: I919824c5b02e28e3563e64e98bb106bf722327ec
2013-10-06 12:01:38 -04:00
Jenkins
512bdfa713 Merge "Remove deprecated NVP options" 2013-10-03 16:42:04 +00:00
Jenkins
cb7fee0813 Merge "Increase number of concurrent_connections to nvp" 2013-10-01 08:13:30 +00:00
ZhiQiang Fan
03988d9eb6 Improve ml2_conf.ini
ml2_type_vxlan section is missing, also does option vni_ranges.

Change-Id: Icf9328d82603640279d1c5aa31f41b6ff23c26f0
Fixes-Bug: #1231124
2013-09-30 01:14:03 +08:00
Rich Curran
def3e98df2 ML2 Cisco Nexus mech driver portbinding support
This commit adds portbinding extension support to
the cisco nexus mechanism driver.

Fixes bug: 1220878

Change-Id: I72003961b46190b82681b471f4f9cb5b11d3d068
2013-09-28 12:54:53 -04:00
armando-migliaccio
e667adc9e1 Remove deprecated NVP options
In Havana, NVP configuration was simplified;
in the process a few options that existed
in Grizzly or older were deprecated. This
change removes those options from the Icehouse
tree.

Fixes bug #1221840

Change-Id: Id83a339c88ec2477718a350b6ac1678ccba01509
2013-09-27 14:33:08 -07:00
Aaron Rosen
1e65112bb4 Increase number of concurrent_connections to nvp
This patch increases the number of concurrent connections from 5 to 10
to nvp.

Fixes bug: 1232189

Change-Id: Ia05a7cf8001424e82a3c02e6bd92e2fa1d4a40ee
2013-09-27 12:23:58 -07:00
Salvatore Orlando
0ce7966ab8 Add an option for always synchronizing status
This patch adds an option for always synchronizing operational status
on a show operation; regardless of the synchronization thread, when
this option is enabled, the resource status is always fetched from
the backend.

The patch also fixes an issue observed when running test_nvp_sync
alone.

Bug #1229149
Bug #1229243

Change-Id: Ifef52ac1c48e32f413d51fc04fd926073335665d
2013-09-26 08:20:30 -07:00
Jenkins
b10ceb5c77 Merge "NVP plugin: Set default max_lp_per_bridged_ls to 5000" 2013-09-21 22:47:56 +00:00
Salvatore Orlando
a04fb61e88 NVP plugin: Set default max_lp_per_bridged_ls to 5000
This patch increases the default value from 64 to 5000

Bug 1227592

Change-Id: I19baa6dc48541ee5238748d21e8c410e4cdb5c00
2013-09-20 05:29:12 -07:00
Jenkins
a44a711526 Merge "Change daemon Pidfile class to not use root_helper" 2013-09-19 21:21:12 +00:00
Francois Eleouet
81e793d9f1 Vxlan / L2population support to Linuxbridge Agent
This patch introduces VXLAN support for Linuxbridge agent alongside
with ml2 plugin support in linubridge mechnism driver.

A new vxlan configuration section is added for vxlan related parameters.

The agent also implements l2population RPC callbacks which allows ml2
plugin using l2population mechnism driver to populate vxlan forwarding
and neighbor tables following portbinding events. It allows agent to
respond locally to ARP requests for remote VMs and avoid dataplane based
learning. This should help limiting the use of multicast or flooding
for broadcast emulation in vxlan networks.

These changes should anyway have a limited risk, as agent behaviour
shouldn't be affected, except when vxlan is enabled alongside ml2 plugin.

Implements: blueprint l2-population

Change-Id: I99a961c53f9e451409f1affb079042936d8ae5c6
2013-09-12 02:51:37 +02:00
Francois Eleouet
98a9308728 OVS agent implementation of l2-population
This patchset implements l2-population RPC callbacks in OVS agents,
it enables plugin to populate forwarding table following portbindings
events.

For now, it doesn't include ARP responder implementation which is
deferred to a future patchset (As this feature isn't yet supported by
OVS, it will require the use of an external responder such as ebtables)

It anyway brings some improvements in tunnelling management, as agent
will tear-down unecessary tunnels, and flood packets on a per-network
basis rather than to all other agents.

These changes should anyway have a limited risk, as tunnel management
won't be affected as long as l2_population option is not set. This
option must be used in conjonction with ml2 plugin using l2population
mechanism driver.

Implements: blueprint l2-population

Change-Id: I5185eefedb0ff392bc8b99d16f810813e26ff58d
2013-09-12 01:13:32 +02:00
Justin Hammond
a97c34a125 Adds help text to brocade configuration options
Help text was added to the configuration options defined in the brocade neutron
plugin. This help text should assist users of the brocade plugin. The OSTYPE
configuration option was not used in the plugin and was labeled as such so a
user of the plugin would not worry about the meaning of it.

The example etc file /etc/neutron/plugins/brocade/brocade.ini has been updated
to share the same help values where applicable.

Fixes-Bug: #1157511

Change-Id: Ie068396e77902037a7a0b5334d4dfb0dcdd3575e
2013-09-10 14:58:52 -07:00
Brian Haley
3693c68e8b Change daemon Pidfile class to not use root_helper
Some users of the Pidfile class don't specify root_helper,
which then defaults to 'sudo', which will generate an error.
Remove root_helper altogether since we actually don't need
root priveleges to read /proc/$pid/cmdline.

Changed code to use open.readline() instead of a shell, and
tweaked tests accordingly.

Also cleaned-up the rootwrap filters that allow it as they
are not used anymore.

Fixes bug 1218142

Change-Id: I6691feb1c9f7bfa261a7ec464fd8f3f92168c302
2013-09-10 13:04:14 -04:00
Abhishek Raut
5e57c00803 Allow default network and policy profiles
Allow for default network/policy profile to be used if
no network/policy profile is specified during network/port creation
in the Cisco N1KV plugin.

Change-Id: I6120abb5abb9a869eb7310453cf27dd8f72bfd1d
Closes-Bug: #1218588
2013-09-05 12:36:10 -07:00
Jenkins
29db26230a Merge "Implement MidoNet Neutron plugin for Havana" 2013-09-05 12:45:57 +00:00
Jenkins
0f9c00181f Merge "VCNS driver implementation" 2013-09-05 09:58:01 +00:00
Kaiwei Fan
90db4802d7 VCNS driver implementation
Implement API/driver interface for configuring vShield Edge Appliance.

Currently implemented functions:
    - Deploy an Edge
    - Destroy an Edge
    - Configuring interfaces
    - Configuring SNAT/DNAT rules
    - Configuring default gateway and static routes
    - Query Edge status
    - Task-based asynchronous model
    - Allow old routes/nat config to be skipped if new updates are coming

Implements: blueprint vcns-driver
Change-Id: I881bde907f4c90de4c919d008b76b8c2a2d0e1fd
2013-09-04 17:16:41 -07:00
Rich Curran
3c164b9988 ML2 Mechanism Driver for Cisco Nexus
Port of the quantum/plugin/cisco/nexus plugin to run under the Modular
Layer 2 (ML2) infrastructure as defined in
https://blueprints.launchpad.net/quantum/+spec/ml2-mechanism-drivers

Implements blueprint ml2-md-cisco-nexus

Change-Id: Ifdd03bec554a08266de859387f1901858a3be4a1
2013-09-04 14:10:33 -04:00
Jenkins
cec28d7c94 Merge "Reference driver implementation (IPsec) for VPNaaS" 2013-09-04 17:33:31 +00:00
Jenkins
5bbb0f7ce4 Merge "Embrane Neutron Plugin" 2013-09-04 17:33:22 +00:00
Jenkins
6d307ac97c Merge "OpenFlow distributed router support in NEC plugin" 2013-09-04 17:33:11 +00:00
Akihiro MOTOKI
5932096f21 OpenFlow distributed router support in NEC plugin
Implements blueprint nec-distribute-router

Two types of neutron router will be supported: l3-agent and distributed.
A type can be specified through "provider" attribute of a router.
The naming of the attribute "provider" is intentional since I plan to
support the service provider framework for router in the future and
would like to make it easy to migrate.

distributed router in NEC OpenFLow controller now does not support NAT,
so l3-agent and distributed router coexists. To achieve it, l3-agent
scheudler logic is modified in NEC plugin to exclude distributed routers
from candidates of floating IP hosting routers.

To support the above feature, the following related changes are done:
- Adds a new driver to PFC driver which supports OpenFlow based router
  support in NEC OpenFlow products in PFlow v5.
- Update ofc_client to extract detail error message
  from OpenFlow controller

This commit also changes the following outside of NEC plugin:
- Makes L3 agent notifiers configurable.
  l3-agent router and OpenFlow distributed router can coexist.
  Notication to l3-agent should be done only when routers are
  hosted by l3-agent, so we need custom L3 agent notifiers
  to filter non l3-agent routers.
- Split test_agent_scheduler base class (in OVS plugin) into
  the base setup and testcases. By doing so we can implement
  custom testcases related to agent scheduler.

Change-Id: I538201742950a61b92fb05c49a9256bc96ae9014
2013-09-04 17:15:59 +09:00
Nachi Ueno
af6a3b444f Reference driver implementation (IPsec) for VPNaaS
Implements blueprint ipsec-vpn-reference

This patch implements reference driver implementation for VPNaaS.
The driver uses openswan to manage vpn connections.

Future work: Support ikepolicy and ipsec update
Support service type framework
Intelligent updating of resources

This commit adds jinja2 for requirements.txt for
generating cofig file.

Change-Id: I8c5ed800a71ca014dc7bdbb6a57c4f8d18fa82e0
2013-09-04 00:32:39 -07:00
Salvatore Orlando
2bfa1d45b4 Introduce periodic state synchronization with backend
Blueprint nicira-plugin-get-improvements

With this patch GET operations on the Nicira plugin will not
be forwarded anymore to the NVP backend.
Resource operational status will be periodically retrieved from
the NVP backend using a DynamicLoopingCall.
The process has been designed with the aim of avoiding:
1) frequent queries to NVP for retrieving resource status
2) execution of large queries to NVP for retrieving the status
   of a consistent number of resources.
The process can be tuned using a set of configuration variables.
GET operations will now return a status which might differ
from the actual status of the resource. For retrieving status
in a punctual way, the field 'status' should be explicitly
specified in the GET request (only 'show' support has been
implemented in this patch)

This patchs also makes some changes to the fake nvp api client in
order to ensure each instance has a private set of dictionaries for
fake nvp entities.

Change-Id: Ia745b80d2826de32ba8d6883c0d6e0893047e123
2013-09-03 19:40:20 -07:00
armando-migliaccio
f1b0dbe7a7 Refactoring for nicira plugin to support NVP DHCP/Metadata services
This initial patch is aimed at decoupling core plugin services from
DHCP and metadata services. The abstraction being introduced is
needed so that the code can support both models where dhcp and
metadata services are provided by external RPC agents or solely by
the server-side plugin.

Supports blueprint nvp-dhcp-metadata-services

Change-Id: I396ee7bbcbd866e4e9d4a79887e844b4f5ec3c9e
2013-09-03 15:04:32 -07:00
sukhdev
31b2239b1c Arista ML2 Mechanism driver
This patch implements Arista's modular L2 mechanism driver to
automate the management of virtual networks along with physical networks
using Arista hardware devices (Spine and Leaf switches)

This driver uses ML2 Mechanism Driver-API to interface with Neutron ML2 Plugin.

implements: blueprint arista-ml2-mechanism-driver

Change-Id: I1c4ca36cf3d7af013b7b3353e7b7d89fe39f91bf
2013-09-03 17:03:23 -04:00
Jenkins
cf353e24c8 Merge "ML2 Mechanism Driver for Tail-f Network Control System (NCS)" 2013-09-03 20:34:03 +00:00
Luke Gorrie
848e6685f1 ML2 Mechanism Driver for Tail-f Network Control System (NCS)
Define a new ML2 Mechanism Driver that replicates Neutron network/port
configuration changes to NCS: http://www.tail-f.com/network-control-system/

Configuration is sent using a HTTP/JSON interface.

Implements blueprint tailf-ncs

Change-Id: I1f73fa3f2e4eec8e5a0f2865aec2d934e25c76d1
2013-09-03 18:14:32 +00:00
Rossella Sblendido
dc5e0338bf Implement MidoNet Neutron plugin for Havana
Implement L2, L3, security groups, metadata server support for
MidoNet Neutron plugin for Havana.

blueprint midonet-plugin-havana

Change-Id: I0dd1a2ca17d760443c4c7a464a66b6d0a2cf194a
2013-09-03 16:39:10 +00:00
Jenkins
b944ed485c Merge "Adds metrics collection support in Hyper-V" 2013-09-02 22:05:26 +00:00
Alessandro Pilotti
21140e341a Adds metrics collection support in Hyper-V
Blueprint: hyper-v-metrics

Hyper-V Server 2012 supports a new set of metrics API that can be used to
provide switch port metrics data to external applications, e.g. Ceilometer.

Metrics collection is disabled by default and can be enabled with a config
option.

Metrics are configured via ACLs applied by the Hyper-V plugin agent.

Change-Id: Ife2a53db84936bae7c73b8c027022bbc5e89d48a
2013-08-28 18:12:35 +03:00
Jenkins
5325583210 Merge "Add recent neutron extentions and IB support" 2013-08-29 04:51:44 +00:00
Ivar Lazzaro
3c95d18311 Embrane Neutron Plugin
Implements blueprint embrane-neutron-plugin

This commit implements the main Embrane plugin, which covers
route and extratoute extensions.

The plugin will rely on existing plugins for leveraging L2 networks,
for now it only supports OpenVSwitch and vlan networks, but more
supports are to come if the model is approved (or a different one
is suggested).

Change-Id: I90aff8ec4324bd3a7c59c411374db6a118d1a72b
2013-08-25 14:22:38 -07:00
Irena Berezovsky
7a0e60808a Add recent neutron extentions and IB support
Additions to Mellanox Plugin:
Add ML2 compatibility support.
Enable Infiniband Network Type.
Keep the compatibility to Linux Bridge Plugin to allow Network node deployment via Linux Bridge L2 Agent.
Add support for Host Port Binding and L3/DHCP Agent Scheduler.

Implements: blueprint mlnx-plugin-improvments

Change-Id: Ieca518bbd07a39258cd14ceeecd3f9d3e2b6f219
2013-08-22 15:01:21 +03:00
Jenkins
16cb7d23a1 Merge "Remove references to enable_metadata_access_network_option" 2013-08-13 18:13:37 +00:00
Salvatore Orlando
ae1a5e4161 Remove references to enable_metadata_access_network_option
Bug 1211850

This configuration variable is vestigial and not used anywhere
in the code. References to it should be removed to avoid confusion.

Change-Id: I13f86fe8b964c163324160b4c983e773e6b93e40
2013-08-13 09:04:50 -07:00
Aaron Rosen
c939aee8d6 Remove DHCP lease logic
Previously neutron was keeping track of dhcp lease time in order
to ensure it didn't hand out an ip address that was already leased.
This patch removes that logic and instead leverages the dhcp_release
utility. This allows us to reuse ip addresses immediately after a port
is deleted. This patch also bumps the lease time to 24 hours instead
of 2 minutes with reduces the amount of dhcp traffic.

DocImpact

There is a DocImpact for this bug related to the upgrade path. One should
first upgrade their dhcp-agents. Then wait till the dhcp_lease time has
expired. Lastly, update neutron-server in order to avoid the case where
an instance is deleted and the dnsmasq process has not released the lease
and neturon allocates that ip to a new port.

Fixes bug: 1202392
Implements blueprint: remove-dhcp-lease

Change-Id: Ifcb4f093c92904ceb896438987d53e692eb7fb26
2013-08-12 16:55:48 -07:00
Abhishek Raut
2f1cd3eb55 Add support for the Nexus 1000V into the Cisco Plugin.
This will enable the Cisco Nexus 1000V to integrate with the Cisco plugin
and be used to drive the realization of Neutron constructs.
Network profile and Policy profile are introduced as extended neutron
resources, while n1kv:profile_id is introduced as an extended attribute
for network and port objects. Necessary changes to the Cisco plugin are
made to accomodate Nexus 1000V as a configurable vswitch plugin.

Implements: blueprint cisco-plugin-n1k-support
Change-Id: I951e10c57d74c935fca8754c0e21e1ac9df35704
2013-08-09 16:56:54 -07:00
ZhiQiang Fan
1729b59185 Avoid overwrite value of deprecated name in conf.
See bug/1194064 #2 Mark McLoughlin's comment

Fixes: Bug #1194064

Change-Id: I421d2decfa8829796fe7b6c14f954f3cccc17215
2013-08-05 21:31:06 +08:00
Edgar Magana
76c68adaea PLUMgrid plugin v2
This commit implements blueprint plumgrid-plugin-v2

Includes PLUMlib Library
Fake PLUMLib library for Unit Tests
Remove the use of topologies
Includes IOVISOR VIF driver
Implements External Networks

Change-Id: I8ba90862e5a416d04d3327b46fcb0f6f3fa65248
2013-07-31 14:42:17 -07:00
Jenkins
525410a7f1 Merge "NVP sample config option should match code." 2013-07-26 16:09:29 +00:00
Nick Bartos
7dfda7f331 NVP sample config option should match code.
Fixes bug #1205169
Change-Id: I894ce7b2a733127fe2185833f6407c0391eb9e2a
2013-07-25 20:14:06 -07:00
Jenkins
e7b494f484 Merge "Allow OVS default veth MTU to be configured." 2013-07-25 22:05:59 +00:00
HenryGessau
cd88935bcc Providernet extension support for the Cisco Nexus plugin
Implements blueprint provider-network-extensions-cisco

Change-Id: Ia22c21a7a66d22040811a9b43e7749892405e5e7
2013-07-24 00:27:23 -04:00
Jenkins
3de45c8db7 Merge "Clean up Cisco plugin config parameters" 2013-07-23 19:24:51 +00:00
Jun Park
8c5b491af5 Allow OVS default veth MTU to be configured.
In some environments where a packet is dropped when a VLAN tag is
added to the packet, you need to increase the MTU size of veth
interfaces to 1504.

Fixes: bug #1075336
Change-Id: I4f03b4cdc571a462096d419d6dd8324cf096156b
2013-07-23 11:56:23 -06:00
HenryGessau
829c6a7a9a Clean up Cisco plugin config parameters
Fixes: bug 1201537

Change-Id: Ibb5a9a12ee451c317ae747924b336ffa044a20b1
2013-07-18 10:23:54 -04:00