3486 Commits

Author SHA1 Message Date
ZhiQiang Fan
8b9cc772ea Enclose command args in with_venv.sh
Change-Id: I6d2ca2f8fca951fe2d90265da8728438dd7d7567
Closes-Bug: #1220937
2013-09-05 06:14:18 +08:00
Jenkins
062ee16e09 Merge "Add jump to float-snat chain after clearing snat chain" 2013-09-04 17:34:12 +00:00
Jenkins
052d74531a Merge "Reference driver implementation (IPsec) for VPNaaS" 2013-09-04 17:33:31 +00:00
Jenkins
48d2bae56d Merge "Embrane Neutron Plugin" 2013-09-04 17:33:22 +00:00
Jenkins
42cfd92556 Merge "OpenFlow distributed router support in NEC plugin" 2013-09-04 17:33:11 +00:00
Jenkins
7dc98c07a9 Merge "Fixes formatting exception from logging in BigSwitch plugin" 2013-09-04 16:54:35 +00:00
Jenkins
b0475db9dd Merge "LBaaS: add status of pool-monitor association to the pool return dict" 2013-09-04 16:52:03 +00:00
Jenkins
18386c6fcb Merge "Add Neutron l3 metering agent" 2013-09-04 15:47:55 +00:00
Jenkins
085b290bd8 Merge "Introduce periodic state synchronization with backend" 2013-09-04 14:41:16 +00:00
Jenkins
8aa7c0d91e Merge "Adding more unit tests for the FWaaS agent" 2013-09-04 14:35:02 +00:00
Oleg Bondarev
70902ad435 LBaaS: add status of pool-monitor association to the pool return dict
Closes-Bug: #1219692
Change-Id: Icc7ca4a48c43a8462860cdbc42626079bffadc26
2013-09-04 12:16:18 +04:00
Akihiro MOTOKI
d2a5c0f982 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
bba99f29ad 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
Jenkins
0f35cddf1a Merge "Verify MTU is valid for ipsec_site_connection" 2013-09-04 05:18:39 +00:00
Jenkins
7700de6e7a Merge "Implement ML2 port binding" 2013-09-04 04:47:04 +00:00
Salvatore Orlando
c7cf2edcef 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
Paul Michali
0f94119482 Verify MTU is valid for ipsec_site_connection
Since the check relies on the vpnservice subnet to determine whether
this is IPv4 ro IPv6, we must check in the plugin. Test is done at
create/update time and ensures that the MTU is equal to or greater
than the minimum allowed values, which are set to 68 for IPv4
minimum and 1280 for IPv6, respectively.

Refactored code to allow reuse of create and update test functions,
by allowing tests to override some settings, and to provide a dict
of changed items (for update).

bug 1219489

Change-Id: I3e62ef786d3a02c761903a15d546ee8758c0bf7f
2013-09-03 22:36:28 -04:00
Jenkins
71bbefbcc6 Merge "Refactoring for nicira plugin to support NVP DHCP/Metadata services" 2013-09-04 01:43:24 +00:00
Jenkins
923fbbf65b Merge "Default to not capturing log output in tests" 2013-09-04 01:42:12 +00:00
Jenkins
7080ab058d Merge "LBaaS integration with service type framework" 2013-09-04 01:35:51 +00:00
Bob Kukura
8bc02a7fbe Implement ML2 port binding
The ml2 plugin uses mechanism drivers to determine which network
segment and what VIF driver to use for a port. Mechanism drivers
supporting the openvswitch, linuxbridge, and hyperv agents are
added. The binding:host attribute is set on ports belonging to the
dhcp and l3 agents so that they can be bound.

To use with devstack until it is updated, set
"Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch,linuxbridge" in localrc.

The hyperv L2 agent does not currently implement the agents_db RPC,
and will therefore not work with its ml2 mechanism driver. This issue
will be tracked as a bug to be fixed in a separate merge.

implements blueprint: ml2-portbinding

Change-Id: Icb9c70d8b0d7fcb34b57adc760bb713b740e5dad
2013-09-03 18:05:20 -04:00
armando-migliaccio
ba4ed39616 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
Jenkins
0160ee2c5c Merge "ML2 type and mech managers should use instance vars for drivers lists" 2013-09-03 21:49:40 +00:00
Sridar Kandaswamy
d518c8f39e Adding more unit tests for the FWaaS agent
Change-Id: Ic3de53ed9fa47f6518cbb25dac4ee7782c97bfbb
Fixes: bug #1215771
2013-09-03 14:37:32 -07:00
sukhdev
7baa238552 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
30c115843d Merge "ML2 Mechanism Driver for Tail-f Network Control System (NCS)" 2013-09-03 20:34:03 +00:00
Dane LeBlanc
cd17893dbc ML2 type and mech managers should use instance vars for drivers lists
Fixes bug 1220296

The ML2 plugin's type and mechanism managers currently maintain
dictionaries/lists of type drivers, mechanism drivers, and ordered mechanism
drivers in (static) class variables. Once a type/mechanism/ordered-mechanism
driver of any given type is added to this list, then no new drivers of that
type are allowed to be registered, and therefore no new configuration for
that driver type is accepted.

This static nature of the driver dictionaries/lists is causing ML2 mechanism
driver unit test cases to fail. For example, if a non-vendor-specific ML2
plugin test case configures a VLAN type driver with no VLAN range, and then
a vendor specific test case attempts to configure a VLAN type driver with
some test VLAN range, then the new VLAN configuration is ignored because of
the previously (staticly) registered VLAN driver.

The proposed fix is to convert these driver dictionaries/lists to instance
variables, and clear them upon each instantiation of an ML2 type manager
or ML2 mechanism manager.

Change-Id: I3b5209640de229899561e2a3ec7c6dafe9a05e64
2013-09-03 16:26:46 -04:00
Eugene Nikanorov
88dd89b2ff LBaaS integration with service type framework
The patch makes the following changes:

* adds new attribute of the pool: provider, which is provider name
as it is written in configuration
* adds support for multiple plugin drivers for loadbalancer
* cleans up healthmonitor-related plugin driver API
Drivers should work with healthmonitor associations only
* adds ability to update provider attribute for the pool used
to reassociate pools with new providers in case their providers
were removed from configuration

implements blueprint lbaas-integration-with-service-types

DocImpact

Change-Id: I4295c9bcceb38e60f813d5596af48bd8194c1c9b
2013-09-03 23:05:33 +04:00
Luke Gorrie
a775ab3b61 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
Maru Newby
96adb2a6c2 Default to not capturing log output in tests
Viewing log output while tests are still running can be useful for
debugging, but log output was previously always captured.  This
change ensures that log capture is off by default, but can still
be enabled by setting OS_LOG_CAPTURE=1 in the shell environment.

testr invocation is unchanged and will continue to capture logs by
default.

Change-Id: I9d0fb648541280cacfebb47f67f608378ae66ef3
2013-09-03 17:32:32 +00:00
Jenkins
c1f34a61de Merge "Export portinfo thru portbinding ext in NEC plugin" 2013-09-03 15:54:00 +00:00
Jenkins
818b6e0141 Merge "Allow subclasses to modify dict_extend hooks" 2013-09-03 14:59:42 +00:00
Russell Bryant
34a208d1f3 Sync rpc fix from oslo-incubator
Sync the following fix from oslo-incubator:

76972e2 Support a new qpid topology

This includes one other commit, so that the above fix could be brought
over cleanly:

5ff534d Add config for amqp durable/auto_delete queues

Closes-bug: #1178375
Change-Id: I99d6a1771bc3223f86db0132525bf22c271fe862
2013-09-03 09:22:22 -04:00
Oleg Bondarev
957533f685 LBaaS: update status of members according to health statistics
Added members health stats reporting to the haproxy driver.
During pool stats update db plugin checks for members stats
and updates members statuses if any

Fixes bug 1160125

Change-Id: I77bf13615607fcf91bf877c228811ea8008b2457
2013-09-03 10:14:14 +00:00
Salvatore Orlando
a07bbac1c4 Allow subclasses to modify dict_extend hooks
Partial-Bug 1219991

This change modifies the hook processing for dict_extend routines
to call the method on the instance if a hook is registered as a string.
Otherwise, the callable hook is directly invoked as an unbound method.

This patch fixes hook registration for all extensions except port_binding.
This is because some plugins are currently working around this limitation
by invoking both the global hook and another dict_extend function,
which might either be registered as another hook, or invoked explicitly
before returning the response.
Fixing this would go beyong the scope of this patch.

Change-Id: Ibe78433e6554aa7fdf5156fc75b8339254876e78
2013-09-02 17:37:22 -07:00
Akihiro MOTOKI
99310d5174 Export portinfo thru portbinding ext in NEC plugin
blueprint nec-port-binding

* Add host-id support in port-binding extension.
* Expose portinfo thourgh binding:profile attr in a port.
  portinfo is a mapping between neutron port id and OpenFlow switch
  physical information (datapath_id and port_no)

It changes the following in portinfo db model
* Add cascade on delete to delete an associated portinfo
  when deleting the port.
* Use joined query for portinfo model to retrieve an associated
  portinfo when querying a port.

Change-Id: Id88d93dc0770a1290714436324b1b53c0b023eeb
2013-09-03 09:28:26 +09:00
Jenkins
795155c743 Merge "Adds metrics collection support in Hyper-V" 2013-09-02 22:05:26 +00:00
Francois Eleouet
b63c6f9f83 Fix DHCP agent to work without extra_dhcp_opt extension
With the introduction of extra_dhcp_opt extension, DHCP agent
stopped serving mac adresses when used in conjunction with a
plugin that doesn't support this extension. This fixes the agent
by not assuming that port dict contains extra_dhcp_opt key.

Closes Bug: #1219893

Change-Id: I5bb52f3092f04c5e332b43cb3a04de05edc29cf5
2013-09-02 18:58:04 +02:00
Nachi Ueno
854f5f3c0d Make ipsec_site_connection dpd_timeout == dpd_interval return 400
dpd_timeout == dpd_interval is a invalid case,
so in this commit, we modify validation and added test.
Fixes bug 1219440

Change-Id: I14fb9aa7df890f9c5a27f18f20d7dc1a316b2d79
2013-09-02 07:20:22 -04:00
Sylvain Afchain
5ec6a60602 Add Neutron l3 metering agent
This is the agent side of :
blueprint bandwidth-router-measurement
blueprint bandwidth-router-label

This patch initiates agent side by adding a new
l3 metering agent and a Noop Driver.

DocImpact

Change-Id: Ib34721209c282b2669ff5488a33293d9f86467ef
2013-09-02 11:56:36 +02:00
Carl Baldwin
169729cd11 Add jump to float-snat chain after clearing snat chain
Clearing the chain in this code eliminates the rule to jump to the
floating-snat chain.  This is the simplest way to get it working
again.

Change-Id: Ic1818e10bd64170b6f0a2f52af8dc0814d7e04e0
Fixes: Bug #1218040
2013-08-30 21:42:34 +00:00
Kevin Benton
d6f50e8476 Fixes formatting exception from logging in BigSwitch plugin
Corrects the data type expected for the HTTP code that comes
back from the back-end controller in a debug log call.

Closes-Bug: #1220521
Change-Id: Ic71b24c724222ade5e695addf291c6488d665da9
2013-08-29 15:18:03 -07:00
Alessandro Pilotti
a9230a3897 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
090e7d47a8 Merge "Minimize ovs l2 agent calls to get_vif_port_set()" 2013-08-28 14:47:52 +00:00
Jenkins
fa15b6f1d5 Merge "Remove trailing comma" 2013-08-28 14:20:48 +00:00
Jenkins
3519cc0222 Merge "Adds support for the Hyper-V WMI V2 namespace" 2013-08-28 10:40:40 +00:00
Jenkins
8937999104 Merge "Fix script to build rpm required for L2 OVS agent for XenServer" 2013-08-28 10:12:18 +00:00
Jenkins
04418e4771 Merge "Support for Floating IPs in PLUMgrid plugin" 2013-08-28 06:34:44 +00:00
Jenkins
c5e3a84d77 Merge "BigSwitch plugin - add portbinding info in requests to controller" 2013-08-28 06:34:21 +00:00
Jenkins
b81bc42796 Merge "Make Neutron NVP plugin future-versions friendly" 2013-08-28 06:09:34 +00:00