]> review.fuel-infra Code Review - openstack-build/neutron-build.git/log
openstack-build/neutron-build.git
9 years agoFix typo of 'receive' in test_dhcp_ipv6.py
Takashi NATSUME [Tue, 14 Jul 2015 00:56:13 +0000 (09:56 +0900)]
Fix typo of 'receive' in test_dhcp_ipv6.py

Change-Id: I67e278232d1d100c183128565d843271b463107a

9 years agoMerge "Remove self.snat_ports, a dvr thing, from router base class"
Jenkins [Tue, 14 Jul 2015 00:47:10 +0000 (00:47 +0000)]
Merge "Remove self.snat_ports, a dvr thing, from router base class"

9 years agoMerge "DVR: cleanup stale floating ip namespaces"
Jenkins [Mon, 13 Jul 2015 23:47:52 +0000 (23:47 +0000)]
Merge "DVR: cleanup stale floating ip namespaces"

9 years agoMerge "Install more-specific ICMPv6 rule in DVR routers"
Jenkins [Mon, 13 Jul 2015 22:37:50 +0000 (22:37 +0000)]
Merge "Install more-specific ICMPv6 rule in DVR routers"

9 years agoMerge "Add extra subnet route to ha router"
Jenkins [Mon, 13 Jul 2015 18:49:20 +0000 (18:49 +0000)]
Merge "Add extra subnet route to ha router"

9 years agoRemove self.snat_ports, a dvr thing, from router base class
Carl Baldwin [Thu, 9 Jul 2015 21:26:49 +0000 (21:26 +0000)]
Remove self.snat_ports, a dvr thing, from router base class

This was overlooked in splitting out dvr code from the router base
class.  It is dvr only.  Also, it doesn't need to be an instance
variable and was not use consistently.

Change-Id: I0eff381c1613e3824c8da0f0ccba65dd3e884cbf

9 years agoMerge "Use _is_this_snat_host and remove _get_gw_port_host"
Jenkins [Mon, 13 Jul 2015 17:53:15 +0000 (17:53 +0000)]
Merge "Use _is_this_snat_host and remove _get_gw_port_host"

9 years agoMerge "Move more snat code to dvr class that does snat"
Jenkins [Mon, 13 Jul 2015 17:48:59 +0000 (17:48 +0000)]
Merge "Move more snat code to dvr class that does snat"

9 years agoMerge "Ensure floating IPs only use IPv4 addresses"
Jenkins [Mon, 13 Jul 2015 17:29:48 +0000 (17:29 +0000)]
Merge "Ensure floating IPs only use IPv4 addresses"

9 years agoMerge "Add sub-project lieutenant for networking-plumgrid"
Jenkins [Mon, 13 Jul 2015 15:14:59 +0000 (15:14 +0000)]
Merge "Add sub-project lieutenant for networking-plumgrid"

9 years agoMerge "Enforce specific order for firewall.(un)filtered_ports and devices"
Jenkins [Mon, 13 Jul 2015 09:54:45 +0000 (09:54 +0000)]
Merge "Enforce specific order for firewall.(un)filtered_ports and devices"

9 years agoMerge "get_vif_ports: ignore non-Interface ports"
Jenkins [Mon, 13 Jul 2015 09:14:32 +0000 (09:14 +0000)]
Merge "get_vif_ports: ignore non-Interface ports"

9 years agoMerge "Reject router-interface-add with a port which doesn't have any addresses"
Jenkins [Mon, 13 Jul 2015 08:26:14 +0000 (08:26 +0000)]
Merge "Reject router-interface-add with a port which doesn't have any addresses"

9 years agoEnsure floating IPs only use IPv4 addresses
Dustin Lundquist [Mon, 6 Jul 2015 20:53:46 +0000 (13:53 -0700)]
Ensure floating IPs only use IPv4 addresses

Description:
Presently Neutron doesn't validate the address family of floating IP
addresses or the internal addresses they are associated with. It merely
associates the first IP of the floating IP's port with the first IP of
the internal port, unless a specified fixed IP is specified. This can
lead to incorrect or poorly defined behavior when IPv6 is present.

The existing L3 agent implementation only manages IPv4 NAT rules. While
IPv6 NAT and NAT protocol translation are possible, the existing
implementation does not support these configurations.

Presently a floating IP can be created on an IPv6 only external network
or associated with an IPv6 fixed IP, but the L3 agent is unable to bind
these configurations.

Implementation:
When creating and updating a floating IP, only consider IPv4 addresses
on both the floating IPs port and the internal port he floating IP is
associated with. Additionally disallow creating floating IPs on networks
without any IPv4 subnets, since these floating IPs could not be
allocated an IPv4 address.

DocImpact
APIImpact

Co-Authored-By: Bradley Jones <jones.bradley@me.com>
Change-Id: I79b28a304b38ecdafc17eddc41213df1c24ec202
Related-Bug: #1437855
Closes-Bug: #1323766
Closes-Bug: #1469322

9 years agoMerge "Make IPAM more pythonic"
Jenkins [Sun, 12 Jul 2015 21:05:05 +0000 (21:05 +0000)]
Merge "Make IPAM more pythonic"

9 years agoMerge "Fix duplicate entry catch for allowed address pairs"
Jenkins [Sun, 12 Jul 2015 14:12:13 +0000 (14:12 +0000)]
Merge "Fix duplicate entry catch for allowed address pairs"

9 years agoReject router-interface-add with a port which doesn't have any addresses
YAMAMOTO Takashi [Fri, 19 Jun 2015 07:28:23 +0000 (16:28 +0900)]
Reject router-interface-add with a port which doesn't have any addresses

Fix a regression in commit I7d4e8194815e626f1cfa267f77a3f2475fdfa3d1 .

Closes-Bug: #1466750
Related-Bug: #1439824
Change-Id: Ic0c4c0adbffe14b1f08d4b2dee91e1dff41cc770

9 years agoImported Translations from Transifex
OpenStack Proposal Bot [Sat, 11 Jul 2015 06:09:29 +0000 (06:09 +0000)]
Imported Translations from Transifex

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: I33a9e5a28666a295dd24f6c482b9805b33d0ca69

9 years agoEnforce specific order for firewall.(un)filtered_ports and devices
Ihar Hrachyshka [Fri, 10 Jul 2015 12:07:09 +0000 (14:07 +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
Change-Id: I170087426bc961592b4c4923c64a5fea30d51c21

9 years agoMerge "Arista ML2 driver should ignore non-vlan networks"
Jenkins [Fri, 10 Jul 2015 19:41:44 +0000 (19:41 +0000)]
Merge "Arista ML2 driver should ignore non-vlan networks"

9 years agoMerge "Allow IPAM backend switch"
Jenkins [Fri, 10 Jul 2015 18:41:45 +0000 (18:41 +0000)]
Merge "Allow IPAM backend switch"

9 years agoUse _is_this_snat_host and remove _get_gw_port_host
Carl Baldwin [Thu, 9 Jul 2015 21:14:39 +0000 (21:14 +0000)]
Use _is_this_snat_host and remove _get_gw_port_host

The _is_this_snat_host utility should be used consistently.  After
replacing a call to _get_gw_port_host with _is_this_snat_host,
_get_gw_port_host is left as just a simple helper method for
_is_this_snat_host.  The indirection is excessive and so they are
combined.

Change-Id: I880c5fdc9db9ba1304dba74a6e12f3df604793e5

9 years agoMove more snat code to dvr class that does snat
Carl Baldwin [Thu, 9 Jul 2015 21:08:19 +0000 (21:08 +0000)]
Move more snat code to dvr class that does snat

A few methods were left in the wrong class when splitting up the dvr
classes.  This commit reduces the amount of dependency between the
two.

Change-Id: Id1b4f4e99a5c51576eddadd5eb0c973c0d5b46b8

9 years agoMerge "Python 3: Fix a TypeError in policy.py"
Jenkins [Fri, 10 Jul 2015 17:12:17 +0000 (17:12 +0000)]
Merge "Python 3: Fix a TypeError in policy.py"

9 years agoMerge "Move DVR related method to proper class"
Jenkins [Fri, 10 Jul 2015 15:02:42 +0000 (15:02 +0000)]
Merge "Move DVR related method to proper class"

9 years agoget_vif_ports: ignore non-Interface ports
Dan Prince [Thu, 9 Jul 2015 19:31:13 +0000 (15:31 -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: Ic9d30e5916122ce23c5dc8631fbb71115ae8a960
Closes-bug: #1473179

9 years agoFix duplicate entry catch for allowed address pairs
Wei Wang [Thu, 25 Sep 2014 09:49:59 +0000 (17:49 +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
Change-Id: Ide995810d6fe0481d3add206bf0674cbbde7f05f

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 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 agoArista ML2 driver should ignore non-vlan networks
Sukhdev Kapur [Wed, 8 Jul 2015 02:39:15 +0000 (19:39 -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: I99ec5c5772a9f1f63cf871a98be50bdd2ba5db62
Closes-Bug: 1472458

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 agoMake IPAM more pythonic
Sean M. Collins [Fri, 26 Jun 2015 17:14:41 +0000 (11:14 -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
http://mikegrouchy.com/blog/2012/05/be-pythonic-__init__py.html

Change-Id: I7408ac95f4970fbd7009257dfb698102ffabb6e3

9 years agoMove DVR related method to proper class
Oleg Bondarev [Tue, 7 Jul 2015 10:39:21 +0000 (13:39 +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: Ib610e589befae55c6fe827f5ee8c3d6a596b86e1

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 agoAllow IPAM backend switch
Pavel Bondar [Wed, 4 Feb 2015 13:13:28 +0000 (16:13 +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.

Partially-Implements: blueprint neutron-ipam

Change-Id: I81806a43ecc6f0a7b293ce3e70d09d1e266b9f02

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 agoPython 3: Fix a TypeError in policy.py
YAMAMOTO Takashi [Thu, 9 Jul 2015 07:26:10 +0000 (16:26 +0900)]
Python 3: Fix a TypeError in policy.py

Fix "TypeError: 'filter' object is not subscriptable" with python 3.

Blueprint: neutron-python3
Change-Id: Ia49ce2e283ecf4da5333b95006746cb19490fde4

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 agoAdd sub-project lieutenant for networking-plumgrid
Fawad Khaliq [Wed, 8 Jul 2015 10:02:12 +0000 (03:02 -0700)]
Add sub-project lieutenant for networking-plumgrid

Since networking-plumgrid has been approved [1] in
governance to be part of Neutron. So as per the
concept of Lieutenants for Neutron, this patch defines
clear point of contact for networking-plumgrid.

[1] https://review.openstack.org/#/c/197168/

Change-Id: I01706b69aac5ac3970913320ff717dc561ea4f8f

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 agoAdd extra subnet route to ha router
gong yong sheng [Thu, 25 Jun 2015 04:38:40 +0000 (12:38 +0800)]
Add extra subnet route to ha router

Add scope in HA virtual route mode to
represent on link scope route from extra subnet.

Co-Authored-By: Assaf Muller <amuller@redhat.com>
Change-Id: I6ce000a7aa8e4b9e61a35a86d3dc8c0b7beaa3a9
Closes-bug: 1414640

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 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 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 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 "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 agoDVR: cleanup stale floating ip namespaces
Oleg Bondarev [Thu, 2 Jul 2015 15:18:52 +0000 (18:18 +0300)]
DVR: cleanup stale floating ip namespaces

During l3 agent periodic resync NamespaceManager takes care
of cleaning up stale router namespaces. This is true
for qrouter- and snat- namespaces. However stale fip-
namespaces also need to be cleaned up.
The patch adds fip-ns handling to the NamespaceManager.

Closes-Bug: #1470909
Change-Id: Ib6a8ae2ff66c0e1dd0978838c3f274748898f73e

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 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 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 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 "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 agoInstall more-specific ICMPv6 rule in DVR routers
Brian Haley [Thu, 2 Jul 2015 19:56:51 +0000 (15:56 -0400)]
Install more-specific ICMPv6 rule in DVR routers

The Openflow rule added in install_dvr_process_ipv6() is dropping
all ICMPv6 traffic, not just the Router Advertisement the comment
mentions. This is causing things like ping6 to fail to VMs on DVR
compute nodes because the reply packets are getting dropped in the
local DVR router before being sent to br-tun.

Change-Id: I14741dd4293e7cfb99cb6bba03cf583ca3ea82ef
Closes-bug: 1471000

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 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 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 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 "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 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