]> review.fuel-infra Code Review - openstack-build/neutron-build.git/log
openstack-build/neutron-build.git
9 years agoMerge remote-tracking branch 'origin/feature/qos' into merge-branch
Ihar Hrachyshka [Fri, 10 Jul 2015 14:33:56 +0000 (16:33 +0200)]
Merge remote-tracking branch 'origin/feature/qos' into merge-branch

Change-Id: Ie2617cb5e502b49e8c33bb47ad295c80e53b769a

9 years agoFix failures introduced by the new version of mock
Kevin Benton [Thu, 9 Jul 2015 23:54:23 +0000 (16:54 -0700)]
Fix failures introduced by the new version of mock

This reverts commit 1b60df85ba3ad442c2e4e7e52538e1b9a1bf9378.

The new version of mock is now released which has the fix to
make mock.patch.stopall behave deterministically. The code to
stop double-mocking is no longer required.

Other fixes:

'assert_has_calls' that have changed behavior in the new version
(no longer accepts single calls).

Calls to non-existent assert methods that did not exist and were
silently passing.

Use of autospec on a class with decorated functions.

Closes-Bug: #1473369
Change-Id: I164a9af2a7f9ac0f0229ec3c5071f7a470445c98

9 years agoMerge "Move update_security_group_on_port to SecurityGroupDbMixin"
Jenkins [Fri, 10 Jul 2015 02:37:20 +0000 (02:37 +0000)]
Merge "Move update_security_group_on_port to SecurityGroupDbMixin"

9 years agoMerge "In Arista ML2 driver Reconfigure VLAN on VM migration"
Jenkins [Thu, 9 Jul 2015 19:38:43 +0000 (19:38 +0000)]
Merge "In Arista ML2 driver Reconfigure VLAN on VM migration"

9 years agoMerge "Do not mock arping in L3AgentTestFramework functional tests"
Jenkins [Thu, 9 Jul 2015 16:13:33 +0000 (16:13 +0000)]
Merge "Do not mock arping in L3AgentTestFramework functional tests"

9 years agoMerge "Precision networking-bagpipe-l2 subproject"
Jenkins [Thu, 9 Jul 2015 16:13:21 +0000 (16:13 +0000)]
Merge "Precision networking-bagpipe-l2 subproject"

9 years agoMerge "objects.qos: added unit tests for QosPolicy neutron object" into feature/qos
Jenkins [Thu, 9 Jul 2015 14:52:55 +0000 (14:52 +0000)]
Merge "objects.qos: added unit tests for QosPolicy neutron object" into feature/qos

9 years agoMerge "objects.base: avoid db access if object does not have changes" into feature/qos
Jenkins [Thu, 9 Jul 2015 14:26:19 +0000 (14:26 +0000)]
Merge "objects.base: avoid db access if object does not have changes" into feature/qos

9 years agoMove update_security_group_on_port to SecurityGroupDbMixin
Aaron Rosen [Tue, 7 Jul 2015 18:58:06 +0000 (11:58 -0700)]
Move update_security_group_on_port to SecurityGroupDbMixin

Previously this function lived in SecurityGroupServerRpcMixin. This
patch moves this function to SecurityGroupDbMixin so plugins who don't
use SecurityGroupServerRpcMixin can leverage this function. This patch
has no affect to anyone using SecurityGroupServerRpcMixin as that inherits
from SecurityGroupDbMixin.

Change-Id: I6ce60dad222e1e244f0d4fac9680e73de2a9b2e9

9 years agoMerge "lb-agent: handle security group updates in main loop"
Jenkins [Wed, 8 Jul 2015 22:30:20 +0000 (22:30 +0000)]
Merge "lb-agent: handle security group updates in main loop"

9 years agoMerge "Add ARP spoofing protection for LinuxBridge agent"
Jenkins [Wed, 8 Jul 2015 20:40:08 +0000 (20:40 +0000)]
Merge "Add ARP spoofing protection for LinuxBridge agent"

9 years agoIn Arista ML2 driver Reconfigure VLAN on VM migration
Shashank Hegde [Fri, 3 Jul 2015 01:16:56 +0000 (18:16 -0700)]
In Arista ML2 driver Reconfigure VLAN on VM migration

Whenever a VM moves from one compute node to the other, the VLAN on the old
switch interface was not removed and the VLAN was not being provisioned on the
new switch interface. With this patch, the VLANs are provisioned correctly.

Closes-Bug: #1471050
Change-Id: I658ef87ffd82119f41beda9ba019e29a62dc96ff

9 years agoMerge "Fix issues with allocation pool generation for ::/64 cidr"
Jenkins [Wed, 8 Jul 2015 16:30:51 +0000 (16:30 +0000)]
Merge "Fix issues with allocation pool generation for ::/64 cidr"

9 years agoMerge "Python3: cast the result of zip() to list"
Jenkins [Wed, 8 Jul 2015 13:45:37 +0000 (13:45 +0000)]
Merge "Python3: cast the result of zip() to list"

9 years agoFix issues with allocation pool generation for ::/64 cidr
John Davidge [Tue, 7 Jul 2015 16:00:01 +0000 (17:00 +0100)]
Fix issues with allocation pool generation for ::/64 cidr

Passing a ::/64 cidr to certain netaddr functions without specifying
the ip_version causes errors. Fix this by specifying ip_version.

Change-Id: I31aaf9f5dabe4dd0845507f245387cd4186c410c
Closes-Bug: 1472304

9 years agoMerge "Add IP_ANY dict to ease choosing between IPv4 and IPv6 "any" address"
Jenkins [Wed, 8 Jul 2015 04:15:50 +0000 (04:15 +0000)]
Merge "Add IP_ANY dict to ease choosing between IPv4 and IPv6 "any" address"

9 years agoMerge "Make sure path_prefix is set during unit tests"
Jenkins [Wed, 8 Jul 2015 02:46:23 +0000 (02:46 +0000)]
Merge "Make sure path_prefix is set during unit tests"

9 years agoMerge "Remove lingering traces of q_"
Jenkins [Wed, 8 Jul 2015 02:07:33 +0000 (02:07 +0000)]
Merge "Remove lingering traces of q_"

9 years agoMerge "Track allocation_pools in SubnetRequest"
Jenkins [Wed, 8 Jul 2015 00:53:14 +0000 (00:53 +0000)]
Merge "Track allocation_pools in SubnetRequest"

9 years agoMerge "Refactor init_l3 to separate router port use case"
Jenkins [Wed, 8 Jul 2015 00:52:59 +0000 (00:52 +0000)]
Merge "Refactor init_l3 to separate router port use case"

9 years agoMerge "Merge remote-tracking branch 'origin/feature/qos' into merge-branch" into...
Jenkins [Tue, 7 Jul 2015 21:57:29 +0000 (21:57 +0000)]
Merge "Merge remote-tracking branch 'origin/feature/qos' into merge-branch" into feature/qos

9 years agoRemove lingering traces of q_
Brian Haley [Tue, 7 Jul 2015 21:03:04 +0000 (17:03 -0400)]
Remove lingering traces of q_

The rename from Quantum to Neutron left a few q_ strings
around, let's go ahead and clean them up.

Change-Id: I06e6bdbd0c2f3a25bb90b5fa291009b9ec2d471d

9 years agoMake sure path_prefix is set during unit tests
armando-migliaccio [Tue, 7 Jul 2015 18:13:41 +0000 (11:13 -0700)]
Make sure path_prefix is set during unit tests

Change 18bc67d5 broke *-aas unit tests.

This change ensures that mocking is done correctly, the same way
it is done for the other plugin attributes

Change-Id: I4167f18560e3a3aad652aae1ea9d3c6bc34dc796
Closes-bug: #1472361

9 years agoAdd IP_ANY dict to ease choosing between IPv4 and IPv6 "any" address
Carl Baldwin [Tue, 7 Jul 2015 16:41:03 +0000 (16:41 +0000)]
Add IP_ANY dict to ease choosing between IPv4 and IPv6 "any" address

I'm working on a new patch that will add one more case where we need
to choose between 0.0.0.0/0 and ::/0 based on the ip version.  I
thought I'd add a new constant and simplify a couple of existing uses.

Change-Id: I376d60c7de4bafcaf2387685ddcc1d98978ce446

9 years agoPython3: cast the result of zip() to list
Cyril Roelandt [Tue, 7 Jul 2015 14:25:06 +0000 (14:25 +0000)]
Python3: cast the result of zip() to list

The result of get_sorts was a 'zip object' in Python 3, and it was later used
as a list, which fails. Just cast the result to a list to fix this issue.

Change-Id: I12017f79cad92b1da4fe5f9939b38436db7219eb
Blueprint: neutron-python3

9 years agoMerge "portsecurity_db_common: Access db columns in a consistent way"
Jenkins [Tue, 7 Jul 2015 14:17:39 +0000 (14:17 +0000)]
Merge "portsecurity_db_common: Access db columns in a consistent way"

9 years agoMerge "Introduce the AFTER_READ callback for ports and networks" into feature/qos
Jenkins [Tue, 7 Jul 2015 14:13:03 +0000 (14:13 +0000)]
Merge "Introduce the AFTER_READ callback for ports and networks" into feature/qos

9 years agoMerge remote-tracking branch 'origin/feature/qos' into merge-branch
Ihar Hrachyshka [Tue, 7 Jul 2015 13:37:58 +0000 (15:37 +0200)]
Merge remote-tracking branch 'origin/feature/qos' into merge-branch

Change-Id: I7f2342d62634f5b4af3a083cc1aaff46efe28519

9 years agoTrack allocation_pools in SubnetRequest
Pavel Bondar [Thu, 2 Jul 2015 08:35:18 +0000 (11:35 +0300)]
Track allocation_pools in SubnetRequest

To keep pluggable and non-pluggable ipam implementation consistent
non-pluggable one has to be switched to track allocation_pools and
gateway_ip using SubnetRequests.
SubnetRequest requires allocation_pools to be list of IPRanges.
Previously allocation_pools were tracked as list of dicts.
So allocation_pools generating and validating was moved before
SubnetRequest is created.

Partially-Implements: blueprint neutron-ipam

Change-Id: I8d2fec3013b302db202121f946b53a0610ae8321

9 years agoMerge "COMMON_PREFIXES cleanup - patch 5/5"
Jenkins [Tue, 7 Jul 2015 06:50:06 +0000 (06:50 +0000)]
Merge "COMMON_PREFIXES cleanup - patch 5/5"

9 years agoAdd ARP spoofing protection for LinuxBridge agent
Kevin Benton [Tue, 30 Jun 2015 04:05:08 +0000 (21:05 -0700)]
Add ARP spoofing protection for LinuxBridge agent

This patch adds ARP spoofing protection for the Linux Bridge
agent based on ebtables. This code was written to be minimally
invasive with the intent of back-porting to Kilo.

The protection is enabled and disabled with the same
'prevent_arp_spoofing' agent config flag added for the OVS agent
in I7c079b779245a0af6bc793564fa8a560e4226afe.

The protection works by setting up an ebtables chain for each port
and jumping all ARP traffic to that chain. The port-specific chains
have a default DROP policy and then have allow rules installed that
only allow ARP traffic with a source CIDR that matches one of the
port's fixed IPs or an allowed address pair.

Closes-Bug: #1274034
Change-Id: I0b0e3b1272472385dff060897ecbd25e93fd78e7

9 years agoMerge "Devref for out-of-tree plugin/driver contribution"
Jenkins [Tue, 7 Jul 2015 04:31:32 +0000 (04:31 +0000)]
Merge "Devref for out-of-tree plugin/driver contribution"

9 years agoCOMMON_PREFIXES cleanup - patch 5/5
armando-migliaccio [Thu, 2 Jul 2015 19:56:24 +0000 (12:56 -0700)]
COMMON_PREFIXES cleanup - patch 5/5

Get rid of COMMON_PREFIXES, as now the prefix is a service's declaritive property.

Change-Id: I3d306131df94188f75e69edb13d262721d10bee5
Depends-on: I0450d0b2bf409d470a3a87bfd96518939759a84e
Depends-on: Ia34695967cbbec0a1cf0884dad82e096de8539b8
Depends-on: Ib9517b772fe426eaf0809c439aa3ba0448c7abaa

9 years agoRefactor init_l3 to separate router port use case
Carl Baldwin [Tue, 30 Jun 2015 20:22:46 +0000 (20:22 +0000)]
Refactor init_l3 to separate router port use case

Future work will extend init_l3 with more code specific to router
ports.  It makes sense to separate these out in to one basic method
with basic L3 and another for router port specific logic.

Change-Id: Iec9a46cd0490c4f48bb306083711ff0c5e70ba87
Partially-Implements: blueprint address-scopes

9 years agoMerge "Refactor IpRuleCommand to take more arguments"
Jenkins [Mon, 6 Jul 2015 21:18:33 +0000 (21:18 +0000)]
Merge "Refactor IpRuleCommand to take more arguments"

9 years agoDevref for out-of-tree plugin/driver contribution
Henry Gessau [Mon, 1 Jun 2015 17:52:18 +0000 (13:52 -0400)]
Devref for out-of-tree plugin/driver contribution

Change-Id: I6198acce97409e0e87520a31f2749b62d607e9c1

9 years agoMerge "Update DVR agent to use get_vifs_by_id"
Jenkins [Mon, 6 Jul 2015 17:10:02 +0000 (17:10 +0000)]
Merge "Update DVR agent to use get_vifs_by_id"

9 years agoPython3: do not add dict_values objects
Cyril Roelandt [Fri, 3 Jul 2015 15:58:03 +0000 (15:58 +0000)]
Python3: do not add dict_values objects

In Python 3, dict.values returns a dict_values object instead of a list.

Change-Id: I83bc7718ac9bbb64187fefae57ce835fbe225829
Blueprint: neutron-python3

9 years agoMerge "AgentExtensionsManager and AgentCoreResourceExtension" into feature/qos
Jenkins [Mon, 6 Jul 2015 11:56:16 +0000 (11:56 +0000)]
Merge "AgentExtensionsManager and AgentCoreResourceExtension" into feature/qos

9 years agoportsecurity_db_common: Access db columns in a consistent way
YAMAMOTO Takashi [Thu, 2 Jul 2015 08:33:24 +0000 (17:33 +0900)]
portsecurity_db_common: Access db columns in a consistent way

While db columns and api attribute happen to have same name here,
it's still better to distinguish them.

Change-Id: I6d6e649925a41d89fd74ca5e64290737c9baed9a

9 years agoMerge "Add policy files specific to NSX plugins"
Jenkins [Sun, 5 Jul 2015 17:45:24 +0000 (17:45 +0000)]
Merge "Add policy files specific to NSX plugins"

9 years agoMerge "QoS extension fixes" into feature/qos
Jenkins [Sun, 5 Jul 2015 15:35:52 +0000 (15:35 +0000)]
Merge "QoS extension fixes" into feature/qos

9 years agoMerge "Python 3: do not index dict_keys objects"
Jenkins [Sat, 4 Jul 2015 23:20:41 +0000 (23:20 +0000)]
Merge "Python 3: do not index dict_keys objects"

9 years agoPython 3: do not index dict_keys objects
Cyril Roelandt [Wed, 1 Jul 2015 22:29:12 +0000 (22:29 +0000)]
Python 3: do not index dict_keys objects

This cannot be done in Python 3, where dict.keys() returns an iterator. We need
to cast the result of dict.keys() to a list first.

Change-Id: I28986aefb720b4513e3eee9ba0909f79d1dc9695
Blueprint: neutron-python3

9 years agoUpdate DVR agent to use get_vifs_by_id
Kevin Benton [Fri, 26 Jun 2015 17:00:42 +0000 (10:00 -0700)]
Update DVR agent to use get_vifs_by_id

The new get_vifs_by_id function retrieves all of the VIFs
for a port iteration at once to eliminate unnecessary multiple
calls to OVSDB.

Change-Id: If18557faead836121bfa3b4e6efccd0318ce72d3
Related-Bug: #1460233

9 years agoMerge "Start documenting potential API breakages in devref:neutron_api"
Jenkins [Fri, 3 Jul 2015 15:58:27 +0000 (15:58 +0000)]
Merge "Start documenting potential API breakages in devref:neutron_api"

9 years agoMerge "devref: document API status for neutron.openstack.common.*"
Jenkins [Fri, 3 Jul 2015 15:43:42 +0000 (15:43 +0000)]
Merge "devref: document API status for neutron.openstack.common.*"

9 years agoMerge "Python3: do not use urllib.urlencode"
Jenkins [Fri, 3 Jul 2015 08:35:43 +0000 (08:35 +0000)]
Merge "Python3: do not use urllib.urlencode"

9 years agoMerge "COMMON_PREFIXES cleanup - patch 1/5"
Jenkins [Fri, 3 Jul 2015 08:27:27 +0000 (08:27 +0000)]
Merge "COMMON_PREFIXES cleanup - patch 1/5"

9 years agoMerge "Fall back on empty path if prefix is missing"
Jenkins [Fri, 3 Jul 2015 08:13:46 +0000 (08:13 +0000)]
Merge "Fall back on empty path if prefix is missing"

9 years agoMerge "OVS native DBListcommand if_exists support"
Jenkins [Fri, 3 Jul 2015 04:24:20 +0000 (04:24 +0000)]
Merge "OVS native DBListcommand if_exists support"

9 years agoMerge "Downgrade log level for gone port on status update"
Jenkins [Fri, 3 Jul 2015 04:22:24 +0000 (04:22 +0000)]
Merge "Downgrade log level for gone port on status update"

9 years agoMerge "Fixing indentation and typo in comments"
Jenkins [Fri, 3 Jul 2015 03:26:30 +0000 (03:26 +0000)]
Merge "Fixing indentation and typo in comments"

9 years agoMerge "Remove unused linux bridge agent configuration options"
Jenkins [Fri, 3 Jul 2015 03:04:49 +0000 (03:04 +0000)]
Merge "Remove unused linux bridge agent configuration options"

9 years agoCOMMON_PREFIXES cleanup - patch 1/5
armando-migliaccio [Thu, 2 Jul 2015 19:06:05 +0000 (12:06 -0700)]
COMMON_PREFIXES cleanup - patch 1/5

This dictionary does not belong to the plugins directory as it captures
API business, but practically speaking it does not even deserve to exist
and can be removed altogether.

This is patch one in a series that aims at addressing this monkey business.

Change-Id: I95cd71dfc35e266f6f3cc5715ab8a0deb10058e7

9 years agoFall back on empty path if prefix is missing
armando-migliaccio [Thu, 2 Jul 2015 02:46:16 +0000 (19:46 -0700)]
Fall back on empty path if prefix is missing

A missing entry causes a KeyError that leads the server to blow up during
startup. We can fallback on an empty path (like some services do), in case
the prefix is not specified.

Furthermore, we can be declarative with this property, the same way we are
with properties like aliases, bulk support, etc.

Change-Id: I58a9b90a39d434f4808264aeb6f9ee5aceff7fbd

9 years agoMerge "Use EXT_TO_SERVICE_MAPPING instead of ALLOWED_SERVICES"
Jenkins [Thu, 2 Jul 2015 23:43:27 +0000 (23:43 +0000)]
Merge "Use EXT_TO_SERVICE_MAPPING instead of ALLOWED_SERVICES"

9 years agoRefactor IpRuleCommand to take more arguments
Carl Baldwin [Tue, 30 Jun 2015 20:23:39 +0000 (20:23 +0000)]
Refactor IpRuleCommand to take more arguments

The iproute2 rule command takes more arguments than the ones supported
by this wrapper.  Particularly, for address scopes, we're interested
in iif and fwmark.  Instead of adding these piecemeal, this change
makes the wrapper flexible to pass any of them using kwargs.

Callers of add / delete are updated to pass keyword arguments for
table and priority since they are no longer required positional
arguments.  This looks better anyway.

Change-Id: Ia93b086b787c34bd560961cb84e4a003cf359e7e
Partially-Implements: blueprint address-scopes

9 years agoobjects.qos: added unit tests for QosPolicy neutron object
Ihar Hrachyshka [Thu, 2 Jul 2015 21:52:20 +0000 (00:52 +0300)]
objects.qos: added unit tests for QosPolicy neutron object

Change-Id: Icecb3fc08c81bd9fb9f8bad54ed800a4eb55d399

9 years agoobjects.base: avoid db access if object does not have changes
Ihar Hrachyshka [Thu, 2 Jul 2015 20:30:36 +0000 (23:30 +0300)]
objects.base: avoid db access if object does not have changes

Also cover base object with unit tests.

Change-Id: I2f58c767ba35eeee2f9ecc363e5b042ea8638faa

9 years agoMerge "Support Basic Address Scope CRUD as extensions"
Jenkins [Thu, 2 Jul 2015 22:44:10 +0000 (22:44 +0000)]
Merge "Support Basic Address Scope CRUD as extensions"

9 years agoMerge "Add extension callbacks support for networks" into feature/qos
Jenkins [Thu, 2 Jul 2015 21:59:46 +0000 (21:59 +0000)]
Merge "Add extension callbacks support for networks" into feature/qos

9 years agoStart documenting potential API breakages in devref:neutron_api
Ihar Hrachyshka [Thu, 2 Jul 2015 15:42:07 +0000 (18:42 +0300)]
Start documenting potential API breakages in devref:neutron_api

Change-Id: I2ceb9e347ea0687e93b766d58601cd86561d1e2b

9 years agoQoS extension fixes
John Schwarz [Thu, 2 Jul 2015 09:32:05 +0000 (12:32 +0300)]
QoS extension fixes

This patch introduces small fixes to the QoS extensions:
1. Adding a common tenant_id field for QoS API calls.
2. Making sure the function interface is correct.

Co-Authored-By: Irena Berezovsky <irenab.dev@gmail.com>
Change-Id: If9c7a7b9b8a5d2367d8f3225fbf07d8e3ec8865d

9 years agoMerge "Collapse create_subnet into single method"
Jenkins [Thu, 2 Jul 2015 20:17:35 +0000 (20:17 +0000)]
Merge "Collapse create_subnet into single method"

9 years agoMerge "[qos] policy: add methods to interact with policy bindings" into feature/qos
Jenkins [Thu, 2 Jul 2015 20:12:55 +0000 (20:12 +0000)]
Merge "[qos] policy: add methods to interact with policy bindings" into feature/qos

9 years agoMerge "l3 agent: do router cleanup for unknown routers"
Jenkins [Thu, 2 Jul 2015 20:06:09 +0000 (20:06 +0000)]
Merge "l3 agent: do router cleanup for unknown routers"

9 years agoMerge "Generic Resources RPC" into feature/qos
Jenkins [Thu, 2 Jul 2015 20:03:09 +0000 (20:03 +0000)]
Merge "Generic Resources RPC" into feature/qos

9 years agoMerge "Merge remote-tracking branch 'origin/master' into merge-branch" into feature/qos
Jenkins [Thu, 2 Jul 2015 20:00:19 +0000 (20:00 +0000)]
Merge "Merge remote-tracking branch 'origin/master' into merge-branch" into feature/qos

9 years agoMerge "DVR: remove unused method"
Jenkins [Thu, 2 Jul 2015 18:46:30 +0000 (18:46 +0000)]
Merge "DVR: remove unused method"

9 years agoMerge "Generic rpc callback mechanism which could be reused" into feature/qos
Jenkins [Thu, 2 Jul 2015 18:22:16 +0000 (18:22 +0000)]
Merge "Generic rpc callback mechanism which could be reused" into feature/qos

9 years agodevref: document API status for neutron.openstack.common.*
Ihar Hrachyshka [Thu, 2 Jul 2015 15:32:42 +0000 (18:32 +0300)]
devref: document API status for neutron.openstack.common.*

Make sure we document the fact that neutron.openstack.common.* contents
are not meant to be used by external repositories (except, temporarily,
*aas repos).

If I could bootstrap the oslo-incubator subtree from scratch, I would
put it under neutron._openstack, to indicate that it's for internal
usage only. But we can't do it now, so instead I update devref.

Change-Id: I42252a7b0a07759c57995b2fc1f8d20ecba7d33b

9 years agoMerge "Improve fixture usage."
Jenkins [Thu, 2 Jul 2015 15:52:38 +0000 (15:52 +0000)]
Merge "Improve fixture usage."

9 years agoPython3: do not use urllib.urlencode
Cyril Roelandt [Wed, 1 Jul 2015 19:16:43 +0000 (19:16 +0000)]
Python3: do not use urllib.urlencode

It has been moved in Python3. Use six.moves to have code that works with both
Python 2 and 3.

Change-Id: I5f286b1f784b3b7bb37852b00169a6c1227eb74b
Blueprint: neutron-python3

9 years agoMerge remote-tracking branch 'origin/master' into merge-branch
Ihar Hrachyshka [Thu, 2 Jul 2015 14:03:01 +0000 (17:03 +0300)]
Merge remote-tracking branch 'origin/master' into merge-branch

Change-Id: I114225ad6fa52ae5a085719251f273f3de4d72ef

9 years agoAgentExtensionsManager and AgentCoreResourceExtension
Moshe Levi [Wed, 24 Jun 2015 15:10:05 +0000 (18:10 +0300)]
AgentExtensionsManager and AgentCoreResourceExtension

This patch introduces the following classes:
L2Agent - abstract class for common L2Agent implementions.
AgentExtensionsManager - to load AgentCoreResourceExtension.
AgentCoreResourceExtension - interface class to define
the AgentCoreResourceExtension API.
This allows better segregation between L2 Agent Core
and L2 Agent Extensions.

The patch is missing unit test but it was tested manually.
I added a unit tests @TODO comments to come back
to them later.

Change-Id: I813de7ff1bee188f4294f4b3eb3645ebd903297b

9 years agoGeneric Resources RPC
Moshe Levi [Tue, 30 Jun 2015 19:23:26 +0000 (22:23 +0300)]
Generic Resources RPC

This patch adds Generic Resource RPC from agent to server.

Change-Id: I0ac8a009e781b6edb283d8634b1a2f047db092dc

9 years agoDVR: remove unused method
Oleg Bondarev [Thu, 2 Jul 2015 09:18:47 +0000 (12:18 +0300)]
DVR: remove unused method

Change-Id: I9d13993d899e2947c5f025100c98ee8934cc5c5d

9 years agoGeneric rpc callback mechanism which could be reused
Miguel Angel Ajo [Thu, 11 Jun 2015 13:21:28 +0000 (15:21 +0200)]
Generic rpc callback mechanism which could be reused

This is a publisher/subscriber messaging mechanism optimized
for agent consumption and server production without the need
of creating new rpc messages when new resources are introduced.

Oslo versionedobjects are the perfect match to ensure
cross version compatibility even if the published/subscribed
resources format change over time.

This is still a basic stub allowing get_info of the resources,
and the next change will introduce the RPC methods to call
get_info: I0ac8a009e781b6edb283d8634b1a2f047db092dc

The plugin is returning stub objects to be consumed from the
agent to test the basic behaviour until we have DB.

TODO: Update documentation, according to code changes,
      enforce versioned objects only doing deserial/serialization.

Co-Authored-By: Miguel Angel Ajo <mangelajo@redhat.com>
Co-Authored-By: Eran Gampel <eran@gampel.net>
Change-Id: I524cf5a14e99dc6bee4d4261557d98c75efa0809

9 years agoOVS native DBListcommand if_exists support
Kevin Benton [Thu, 2 Jul 2015 07:16:51 +0000 (00:16 -0700)]
OVS native DBListcommand if_exists support

Add support for the if_exists flag to the OVS native
db list command.

Closes-Bug: #1470742
Closes-Bug: #1470894
Change-Id: Ife48d99c145cfab7f0f5523f4cdfd33492085355

9 years agoMerge "First QoS versioned objects, ever" into feature/qos
Jenkins [Thu, 2 Jul 2015 11:01:13 +0000 (11:01 +0000)]
Merge "First QoS versioned objects, ever" into feature/qos

9 years agoMerge "Read vif port information in bulk"
Jenkins [Thu, 2 Jul 2015 11:01:00 +0000 (11:01 +0000)]
Merge "Read vif port information in bulk"

9 years agoIntroduce the AFTER_READ callback for ports and networks
Miguel Angel Ajo [Fri, 19 Jun 2015 14:43:52 +0000 (16:43 +0200)]
Introduce the AFTER_READ callback for ports and networks

This callback can be used by extensions and service plugins to extend
port and network information on read time, without the need of plugin
mixins.

Partially-implements: blueprint quantum-qos-api
Change-Id: Ifc92c19a69d28784c030d605c2eb161c2ba4b3f5

9 years agoMerge "Change the half of the bridge name used for ports"
Jenkins [Thu, 2 Jul 2015 09:53:23 +0000 (09:53 +0000)]
Merge "Change the half of the bridge name used for ports"

9 years agoCollapse create_subnet into single method
Pavel Bondar [Thu, 25 Jun 2015 13:32:22 +0000 (16:32 +0300)]
Collapse create_subnet into single method

Previously create_subnet called different methods for subnet allocation
with subnetpool and without it.

_create_subnet_from_implicit_pool and _create_subnet_from_pool
were collapsed into single method _create_subnet.
This is intermediate step for supporting pluggable ipam.

Partially-Implements: blueprint neutron-ipam

Change-Id: Ia6cfc2c15e29f983a623772f5473166c075a20e4

9 years agoDowngrade log level for gone port on status update
Kevin Benton [Thu, 2 Jul 2015 08:45:46 +0000 (01:45 -0700)]
Downgrade log level for gone port on status update

If a port is deleted immediately before a status update arrives
from the L2 agent, the port will be missing from the DB. The current
code was logging this at the warning level, but this occurs during
normal operations so it should only be a debug event.

Change-Id: I22af81e6807bfccb4c906ec0873fcbfca67b72df

9 years agoAdd extension callbacks support for networks
Mike Kolesnik [Tue, 30 Jun 2015 12:21:30 +0000 (15:21 +0300)]
Add extension callbacks support for networks

Add callbacks for extention to the network resource so that interested
extensions can do custom logic when a network is created or updated.

Currently it will be done the same way port notifications are done -
i.e. only in ML2 plugin. We can revisit this in a floow up patch if the
whole notification logic should be moved somewhere else as this merits
further discussion which is out of scope for a mere patch.

This will be utilized in a follow up commit.

Partially-implements: blueprint quantum-qos-api
Change-Id: I38528863e1145caf05fe3b2425511d1c5b5c0f93

9 years ago[qos] policy: add methods to interact with policy bindings
Ihar Hrachyshka [Thu, 2 Jul 2015 08:14:17 +0000 (11:14 +0300)]
[qos] policy: add methods to interact with policy bindings

Detachment is not supported in this patch.

blueprint quantum-qos-api

Change-Id: I66f87b99241a25d39d08c124bae3779c872bc567

9 years agoSupport Basic Address Scope CRUD as extensions
vikram.choudhary [Tue, 9 Jun 2015 14:25:59 +0000 (19:55 +0530)]
Support Basic Address Scope CRUD as extensions

This patch adds the support for basic address scope CRUD.
Subsequent patches will be added to use this address scope
on subnet pools.

DocImpact
APIImpact

Co-Authored-By: Ryan Tidwell <rktidwell85@gmail.com>
Co-Authored-By: Numan Siddique <nusiddiq@redhat.com>
Change-Id: Icabdd22577cfda0e1fbf6042e4b05b8080e54fdb
Partially-implements:  blueprint address-scopes

9 years agoFirst QoS versioned objects, ever
Ihar Hrachyshka [Tue, 30 Jun 2015 10:32:27 +0000 (13:32 +0300)]
First QoS versioned objects, ever

Well, first versioned objects in the tree.

Binding to networks and ports is not implemented.

No tests. Checked manually.

blueprint quantum-qos-api

Co-Authored-By: vikram.choudhary <vikram.choudhary@huawei.com>
Change-Id: I9b6cacfda4f40230d746222bed5b6c490be63743

9 years agoAdd bandwidth_limit rule type constant
Gal Sagie [Wed, 1 Jul 2015 16:15:55 +0000 (19:15 +0300)]
Add bandwidth_limit rule type constant

Change-Id: I7228b3a288848833947271a0966ca415bfaa07c4

9 years agoUse EXT_TO_SERVICE_MAPPING instead of ALLOWED_SERVICES
armando-migliaccio [Thu, 2 Jul 2015 01:01:10 +0000 (18:01 -0700)]
Use EXT_TO_SERVICE_MAPPING instead of ALLOWED_SERVICES

We can derive the services from EXT_TO_SERVICE_MAPPING, therefore
there is no need for duplicating the service labels into ALLOWED_SERVICES.

Change-Id: If92e0ea3dea4480588141a2819ea4036c527c9bc

9 years agoMerge "Fix log traces induced by retry decorator"
Jenkins [Thu, 2 Jul 2015 01:43:53 +0000 (01:43 +0000)]
Merge "Fix log traces induced by retry decorator"

9 years agoMerge "Update PLUMgrid plugin information"
Jenkins [Thu, 2 Jul 2015 00:58:40 +0000 (00:58 +0000)]
Merge "Update PLUMgrid plugin information"

9 years agoMerge "Remove bridge cleanup call"
Jenkins [Thu, 2 Jul 2015 00:11:29 +0000 (00:11 +0000)]
Merge "Remove bridge cleanup call"

9 years agoMerge remote-tracking branch 'origin/master' into merge-branch
Kyle Mestery [Wed, 1 Jul 2015 21:55:31 +0000 (21:55 +0000)]
Merge remote-tracking branch 'origin/master' into merge-branch

Change-Id: I7bd5d0568e773365eaab1ebd99dcd7186da22dae

9 years agoChange the half of the bridge name used for ports
Kevin Benton [Wed, 1 Jul 2015 20:06:38 +0000 (13:06 -0700)]
Change the half of the bridge name used for ports

The code to generate the names of the patch ports
was based on a chunk of the bridge name starting from
the beginning. With the long suffix, this ended up
excluding all of the random characters in the name.
(e.g. br-int374623235 would create an interface br-in-patch-tun).

This meant that if two tests using patch interfaces ran together,
they would have a name collision and one would fail.

This patch updates the patch port name generation to use the
randomized back portion of the name.

Change-Id: I172e0b2c0b53e8c7151bd92f0915773ea62c0c6a
Closes-Bug: #1470637

9 years agoFix log traces induced by retry decorator
armando-migliaccio [Wed, 1 Jul 2015 19:00:14 +0000 (12:00 -0700)]
Fix log traces induced by retry decorator

Patch 4e77442d5 added a retry decorator to the API layer
to catch DB deadlock errors. However, when they occur, the
retried operation ends up being ineffective because the original
body has been altered, which leads the notification and validation
layers to barf exceptions due to unrecognized/unserializable elements.

This ultimately results to an error reported to the user.

To address this, let's make a deep copy of the request body, before
we pass it down to the lower layers. This allows the decorator to
work on a pristine copy of the body on every attempt. The performance
impact for this should be negligible.

Closes-bug: #1470615

Change-Id: I82a2a002612d28fa8f97b0afbd4f7ba1e8830377

9 years agoMerge "fix spelling mistakes"
Jenkins [Wed, 1 Jul 2015 19:57:11 +0000 (19:57 +0000)]
Merge "fix spelling mistakes"

9 years agoMerge "Move windows requirements to requirements.txt"
Jenkins [Wed, 1 Jul 2015 19:02:22 +0000 (19:02 +0000)]
Merge "Move windows requirements to requirements.txt"