Enforce specific order for firewall.(un)filtered_ports and devices
Lots of tests in the file rely on specific order of devices and ports
with which they are iterated thru inside firewall implementation. This
is needed to match a regexp against iptables output generated by the
firewall driver.
In production code, those .(un)filtered_ports dictionaries are
unordered, and it would be not wise to enforce the order for them just
for the sake of those unit tests.
Instead, we 'patch' the agent firewall with ordered versions of dict for
those attributes.
Also enforce specific order for device_info dictionaries we pass into
firewall.
The failure was easily reproducible with PYTHONHASHSEED=111, and after
the fix, it's gone.
While at it, stop making assumptions about stable order of dict.values()
between multiple dictionaries with the same keys. It may actually work
for now, but it seems fragile. Overall simplified regex construction
code a bit, f.e. killing some dead or redundant code.
commit dfbe804994a576994768c95720b4f0ba53e313d7
Author: Dan Prince <email address hidden>
Date: Thu Jul 9 15:31:13 2015 -0400
get_vif_ports: ignore non-Interface ports
This patch updates get_vif_ports so that it skips
ports which aren't in the 'Interfaces' table.
This fixes an issue where neutron-ovs-cleanup would
fail if any sort of OVS bond was on the bridge getting
cleaned up. This is because bonds don't have the same
attributes as ports, and thus fail subsequent ovs-vsctl
queries.
Fix duplicate entry catch for allowed address pairs
If None is submitted as a MAC address in an allowed_address_pair,
the port MAC will be used. So if two entries are submitted with the
same IP and one's MAC is None while the others is the port's MAC,
they will pass the API duplication check and fail to insert into the DB
due to a unique constraint violation.
This patch catches the db error and turns it into the same exception
the API uses on duplicate entries.
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.
Arista ML2 Mech driver for VLANs presently does
not filter out non-vlan type networks (e.g vxlan).
This fix will simply ignore the request if a
non-vlan based network request is seen.
commit 310e1e05537f0ba0dd66fe3ffdda3837e90d1a8d
Author: Sean M. Collins <email address hidden>
Date: Fri Jun 26 11:14:41 2015 -0600
Make IPAM more pythonic
__init__.py is usually an empty file, or contains platform specific
code to make the package function. One more use is to have __init__.py
contain import statements, to import functions and classes, for convenience.
get_snat_candidates() is about DVR routers scheduling and hence
should be a method of L3_DVRsch_db_mixin.
This commit does not modify anything, just moves.
commit b522896c3132ebde5dfe77fd1352df91d39d90e9
Author: Pavel Bondar <email address hidden>
Date: Wed Feb 4 16:13:28 2015 +0300
Allow IPAM backend switch
Changed inheritance chain for NeutronDbPluginV2 to allow switching from
non-pluggable to pluggable IPAM implementation.
IpamNonPluggableBackend methods are called on it's instance,
instead of previous way where IpamNonPluggableBackend was parent for
NeutronDbPluginV2.
It allows switching IPAM implementation in set_ipam_backend
(IpamNonPluggableBackend to IpamPluggableBackend).
All methods that became public in IpamNonPluggableBackend were renamed.
This is refactoring step before Pluggable IPAM can be applied.
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.
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.
Reviewed: https:/ /review. openstack. org/201131 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=3a9975cbc30 d9253b96cec9e07 9b411add184ec1
Committed: https:/
Submitter: Jenkins
Branch: feature/pecan
commit c27e66cc7c3427d fbc1e390693c6b0 a3e656c783
Author: YAMAMOTO Takashi <email address hidden>
Date: Fri Jun 19 16:28:23 2015 +0900
Reject router- interface- add with a port which doesn't have any addresses
Fix a regression in commit I7d4e8194815e62 6f1cfa267f77a3f 2475fdfa3d1 .
Closes-Bug: #1466750 b1f08d4b2dee91e 1dff41cc770
Related-Bug: #1439824
Change-Id: Ic0c4c0adbffe14
commit 83cac810f00933d 8b22f17cdcc2009 4e1d27a018
Author: OpenStack Proposal Bot <email address hidden>
Date: Sat Jul 11 06:09:29 2015 +0000
Imported Translations from Transifex
For more information about this automatic import see: /wiki.openstack .org/wiki/ Translations/ Infrastructure
https:/
Change-Id: I33a9e5a28666a2 95dd24f6c482b98 05b33d0ca69
commit 5b066a237ec0918 d882ef2455aef4f 2f9cb0606c
Author: Ihar Hrachyshka <email address hidden>
Date: Fri Jul 10 14:07:09 2015 +0200
Enforce specific order for firewall. (un)filtered_ ports and devices
Lots of tests in the file rely on specific order of devices and ports
with which they are iterated thru inside firewall implementation. This
is needed to match a regexp against iptables output generated by the
firewall driver.
In production code, those .(un)filtered_ports dictionaries are
unordered, and it would be not wise to enforce the order for them just
for the sake of those unit tests.
Instead, we 'patch' the agent firewall with ordered versions of dict for
those attributes.
Also enforce specific order for device_info dictionaries we pass into
firewall.
The failure was easily reproducible with PYTHONHASHSEED=111, and after
the fix, it's gone.
While at it, stop making assumptions about stable order of dict.values()
between multiple dictionaries with the same keys. It may actually work
for now, but it seems fragile. Overall simplified regex construction
code a bit, f.e. killing some dead or redundant code.
Closes-Bug: #1473413 592b4c4923c64a5 fea30d51c21
Change-Id: I170087426bc961
commit dfbe804994a5769 94768c95720b4f0 ba53e313d7
Author: Dan Prince <email address hidden>
Date: Thu Jul 9 15:31:13 2015 -0400
get_vif_ports: ignore non-Interface ports
This patch updates get_vif_ports so that it skips
ports which aren't in the 'Interfaces' table.
This fixes an issue where neutron-ovs-cleanup would
fail if any sort of OVS bond was on the bridge getting
cleaned up. This is because bonds don't have the same
attributes as ports, and thus fail subsequent ovs-vsctl
queries.
Change-Id: Ic9d30e5916122c e23c5dc8631fbb7 1115ae8a960
Closes-bug: #1473179
commit 1025baec55235bf 4981872390f1bb6 5f4e3ae7e6
Author: Wei Wang <email address hidden>
Date: Thu Sep 25 17:49:59 2014 +0800
Fix duplicate entry catch for allowed address pairs
If None is submitted as a MAC address in an allowed_ address_ pair,
the port MAC will be used. So if two entries are submitted with the
same IP and one's MAC is None while the others is the port's MAC,
they will pass the API duplication check and fail to insert into the DB
due to a unique constraint violation.
This patch catches the db error and turns it into the same exception
the API uses on duplicate entries.
Closes-bug: #1373756 81d3add206bf067 4cbbde7f05f
Change-Id: Ide995810d6fe04
commit 3a871a73b88f8b7 5d64c88271b6fc6 cdd4b1cfc0
Author: Kevin Benton <email address hidden>
Date: Thu Jul 9 16:54:23 2015 -0700
Fix failures introduced by the new version of mock
This reverts commit 1b60df85ba3ad44 2c2e4e7e52538e1 b9a1bf9378.
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 0f0229ec3c5071f 7a470445c98
Change-Id: I164a9af2a7f9ac
commit 581438a5b6dde5f 161e1c129314a7b caaae8da20
Author: Sukhdev Kapur <email address hidden>
Date: Tue Jul 7 19:39:15 2015 -0700
Arista ML2 driver should ignore non-vlan networks
Arista ML2 Mech driver for VLANs presently does
not filter out non-vlan type networks (e.g vxlan).
This fix will simply ignore the request if a
non-vlan based network request is seen.
Change-Id: I99ec5c5772a9f1 f63cf871a98be50 bdd2ba5db62
Closes-Bug: 1472458
commit 310e1e05537f0ba 0dd66fe3ffdda38 37e90d1a8d
Author: Sean M. Collins <email address hidden>
Date: Fri Jun 26 11:14:41 2015 -0600
Make IPAM more pythonic
__init__.py is usually an empty file, or contains platform specific
code to make the package function. One more use is to have __init__.py
contain import statements, to import functions and classes, for convenience.
http:// docs.python- guide.org/ en/latest/ writing/ structure/ #packages mikegrouchy. com/blog/ 2012/05/ be-pythonic- __init_ _py.html
http://
Change-Id: I7408ac95f4970f bd7009257dfb698 102ffabb6e3
commit 141f9f97a0162d6 67ce2568a4ff392 7bd8b38c0d
Author: Oleg Bondarev <email address hidden>
Date: Tue Jul 7 13:39:21 2015 +0300
Move DVR related method to proper class
get_ snat_candidates () is about DVR routers scheduling and hence
should be a method of L3_DVRsch_db_mixin.
This commit does not modify anything, just moves.
Change-Id: Ib610e589befae5 5c6fe827f5ee8c3 d6a596b86e1
commit b522896c3132ebd e5dfe77fd1352df 91d39d90e9
Author: Pavel Bondar <email address hidden>
Date: Wed Feb 4 16:13:28 2015 +0300
Allow IPAM backend switch
Changed inheritance chain for NeutronDbPluginV2 to allow switching from gableBackend methods are called on it's instance, eBackend was parent for uginV2. ggableBackend to IpamPluggableBa ckend). eBackend were renamed.
non-pluggable to pluggable IPAM implementation.
IpamNonPlug
instead of previous way where IpamNonPluggabl
NeutronDbPl
It allows switching IPAM implementation in set_ipam_backend
(IpamNonPlu
All methods that became public in IpamNonPluggabl
This is refactoring step before Pluggable IPAM can be applied.
Partially- Implements: blueprint neutron-ipam
Change-Id: I81806a43ecc6f0 a7b293ce3e70d09 d1e266b9f02
commit a6be4aa71d8f81d 622cdd94d2512f5 9791d89254
Author: Aaron Rosen <email address hidden>
Date: Tue Jul 7 11:58:06 2015 -0700
Move update_ security_ group_on_ port to SecurityGroupDb Mixin
Previously this function lived in SecurityGroupSe rverRpcMixin. This Mixin so plugins who don't rverRpcMixin can leverage this function. This patch rverRpcMixin as that inherits Mixin.
patch moves this function to SecurityGroupDb
use SecurityGroupSe
has no affect to anyone using SecurityGroupSe
from SecurityGroupDb
Change-Id: I6ce60dad222e1e 244f0d4fac9680e 73de2a9b2e9
commit 4cd4b612c0ad6a0 719f0188e4724a2 1c3b83f490
Author: YAMAMOTO Takashi <email address hidden>
Date: Thu Jul 9 16:26:10 2015 +0900
Python 3: Fix a TypeError in policy.py
Fix "TypeError: 'filter' object is not subscriptable" with python 3.
Blueprint: neutron-python3 da5333b95006746 cb19490fde4
Change-Id: Ia49ce2e283ecf4
commit e0abd3f1039f57c c825a844a33e834 1534377d31
Author: Shashank Hegde <email address hidden>
Date: Thu Jul 2 18:16:56 2015 -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 9f41beda9ba019e 29a62dc96ff
Change-Id: I658ef87ffd8211
commit cd323563edd0038 2f16188f776a5c1 82fa34fbbd
Author: Nikolay Fedotov <email address hidden>
Date: Mon Jun 29 11:57:52 2015 +0300
Do not mock arping in L3AgentTestFram ework functional tests
The arping is called using eventlet.spawn_n therefore it
should not affect tests execution time.
Change-Id: I5a224196b98e1f 6fa3478e9984ee6 797a7c48b61
commit 7e43cb1178fa3bc f19a345e718fea7 70f17d0961
Author: Thomas Morin <email address hidden>
Date: Fri Jun 19 10:04:24 2015 +0200
Precision networking- bagpipe- l2 subproject
bagpipe-l2 is an ML2 driver using BGP E-VPN to
implement Neutron networks (not a vpn service)
Change-Id: If7f75cb6bb1e30 0cf7eba1bd08ccd 59122987454