]> review.fuel-infra Code Review - openstack-build/neutron-build.git/log
openstack-build/neutron-build.git
9 years agoClarify dnsmasq version check failure message
Ihar Hrachyshka [Thu, 8 Jan 2015 15:25:01 +0000 (16:25 +0100)]
Clarify dnsmasq version check failure message

It not only *may* not run correctly, it *will*, since we exit the agent.

Change-Id: Icd5c22da3b4c60751265183563cf3a1edc814215

9 years agoMerge "Improve unit test coverage for Ml2 db.py"
Jenkins [Thu, 8 Jan 2015 10:16:39 +0000 (10:16 +0000)]
Merge "Improve unit test coverage for Ml2 db.py"

9 years agoMerge "Fix DVR flow problems for IPv6 subnet"
Jenkins [Thu, 8 Jan 2015 03:50:19 +0000 (03:50 +0000)]
Merge "Fix DVR flow problems for IPv6 subnet"

9 years agoMerge "Add Process class helper to manage processes with namespace"
Jenkins [Wed, 7 Jan 2015 22:29:15 +0000 (22:29 +0000)]
Merge "Add Process class helper to manage processes with namespace"

9 years agoMerge "Bump minimal dnsmasq version to 2.67"
Jenkins [Wed, 7 Jan 2015 18:10:04 +0000 (18:10 +0000)]
Merge "Bump minimal dnsmasq version to 2.67"

9 years agoMerge "Updated keystone_admin conf section to reflect changes in middleware"
Jenkins [Wed, 7 Jan 2015 15:50:31 +0000 (15:50 +0000)]
Merge "Updated keystone_admin conf section to reflect changes in middleware"

9 years agoMerge "Replace mention of nose with nose2 in devref"
Jenkins [Wed, 7 Jan 2015 15:49:14 +0000 (15:49 +0000)]
Merge "Replace mention of nose with nose2 in devref"

9 years agoBump minimal dnsmasq version to 2.67
Ihar Hrachyshka [Wed, 7 Jan 2015 12:23:48 +0000 (13:23 +0100)]
Bump minimal dnsmasq version to 2.67

Versions prior to 2.67 did not support MAC address matching for IPv6 clients.
Quoting dnsmasq CHANGELOG:

"
version 2.67
[...]
    Support identification of clients by MAC address in
    DHCPv6. When using a relay, the relay must support RFC
    6939 for this to work. It always works for directly
    connected clients. Thanks to Vladislav Grishenko
    for prompting this feature.
"

Change-Id: I2f7dba6e3f8ea4ddebe7638d908b2ae42997225a
Closes-Bug: #1408297

9 years agoAdd Process class helper to manage processes with namespace
Jakub Libosvar [Fri, 3 Oct 2014 12:02:55 +0000 (14:02 +0200)]
Add Process class helper to manage processes with namespace

This class extends Popen class with usage of namespace and root-helper.
Because of usage of root wrapper, this class re-uses get_child_pid() for
killing the child process. get_child_pid() is taken out of AsyncProcess
as a part of this patch.

Change-Id: I856b3ec75f347ecccaf4a1c6fd17b28a33ee1a3f
Related-Bug: 1243216

9 years agoMake lb mechanism driver use enable_security_group flag
Darragh O'Reilly [Wed, 3 Dec 2014 19:51:16 +0000 (19:51 +0000)]
Make lb mechanism driver use enable_security_group flag

This patch allows Neutron security groups to be enabled or
disabled with the enable_security_group flag when using the
linuxbridge ml2 mechanism driver.

Closes-Bug: #1398996
Change-Id: I883c67c93e85668cd9d90b0486e448d906fdf8ed

9 years agoMerge "Validate IPv6 subnet while associating to Router"
Jenkins [Wed, 7 Jan 2015 07:49:30 +0000 (07:49 +0000)]
Merge "Validate IPv6 subnet while associating to Router"

9 years agoMerge "Add developer documentation for plugins/drivers contributions"
Jenkins [Wed, 7 Jan 2015 04:51:34 +0000 (04:51 +0000)]
Merge "Add developer documentation for plugins/drivers contributions"

9 years agoMerge "HA for DVR - schema migration and change"
Jenkins [Wed, 7 Jan 2015 02:48:09 +0000 (02:48 +0000)]
Merge "HA for DVR - schema migration and change"

9 years agoMerge "Reduce duplicate code in test_iptables_manager"
Jenkins [Wed, 7 Jan 2015 02:26:44 +0000 (02:26 +0000)]
Merge "Reduce duplicate code in test_iptables_manager"

9 years agoMerge "Delete the console scripts for lbaas and vpnaas"
Jenkins [Wed, 7 Jan 2015 02:20:22 +0000 (02:20 +0000)]
Merge "Delete the console scripts for lbaas and vpnaas"

9 years agoMerge "Add support for retargetable functional api testing"
Jenkins [Wed, 7 Jan 2015 01:25:13 +0000 (01:25 +0000)]
Merge "Add support for retargetable functional api testing"

9 years agoMerge "Revert "Revert "Add metadata proxy L3 agent driver"""
Jenkins [Wed, 7 Jan 2015 00:10:44 +0000 (00:10 +0000)]
Merge "Revert "Revert "Add metadata proxy L3 agent driver"""

9 years agoMerge "moving vxlan module check to sanity checks and making practical"
Jenkins [Tue, 6 Jan 2015 23:54:50 +0000 (23:54 +0000)]
Merge "moving vxlan module check to sanity checks and making practical"

9 years agoMerge "Drop functional/contrib directory"
Jenkins [Tue, 6 Jan 2015 23:26:42 +0000 (23:26 +0000)]
Merge "Drop functional/contrib directory"

9 years agoHA for DVR - schema migration and change
rajeev [Tue, 23 Dec 2014 18:49:19 +0000 (13:49 -0500)]
HA for DVR - schema migration and change

To support HA for DVR SNAT, default SNAT has to be schedulable
on multiple L3 agents. The csnat_l3_agent_bindings table is being
modified to include l3_agent_id in the primary key.
The migration script and Class definition update is included in
this patch. For modularity and code management, HA/DVR methods
that would make use of this change will be included in a different
patch.

Partial-bug: #1365473
Change-Id: Idfe93cace0c1b633be6e786206fbec6e1f3c13cd

9 years agoMerge "VMWare-NSXv: VMWare NSXv database models"
Jenkins [Tue, 6 Jan 2015 22:31:46 +0000 (22:31 +0000)]
Merge "VMWare-NSXv: VMWare NSXv database models"

9 years agoRevert "Revert "Add metadata proxy L3 agent driver""
Assaf Muller [Mon, 22 Dec 2014 15:01:37 +0000 (17:01 +0200)]
Revert "Revert "Add metadata proxy L3 agent driver""

This reverts commit 658dc9d30cfb337159df40fdd62c50de182d83aa.

The L3 agent metadata driver was added but then reverted
because it broke the functional job. The fix to the functional
job was merged, and this patch reverts the revert, thereby
adding the metadata driver back.

Change-Id: Ice7ae845d1d5063b116824f49961ff060a0b2baa

9 years agomoving vxlan module check to sanity checks and making practical
Matthew Thode [Wed, 10 Dec 2014 21:12:25 +0000 (15:12 -0600)]
moving vxlan module check to sanity checks and making practical

Instead of checking via modinfo (which only checks if a module is
available) this checks actual usage, which is a more reliable way of
testing real world problems.

Change-Id: Ida78652ed50e2cb16fa0ab7194d8468714b99d61
Closes-Bug: 1339197

9 years agoDrop functional/contrib directory
armando-migliaccio [Tue, 6 Jan 2015 19:03:14 +0000 (11:03 -0800)]
Drop functional/contrib directory

This has been replaced by tests/contrib and the infra change [1]
is now in force and this copy is no longer necessary.

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

Change-Id: Idbe0814e6b258d2f394894c1923f459cc1bdd4d2

9 years agorefactor l3-agent to include dvr.py
Michael Smith [Thu, 18 Dec 2014 17:11:14 +0000 (09:11 -0800)]
refactor l3-agent to include dvr.py

Creation of a dvr.py file to hold dvr related
classes/data/methods.

Change-Id: I7b59ca18f13b583b404be61558224384bc2db2c5
Partially-Implements: bp/restructure-l3-agent

9 years agoValidate IPv6 subnet while associating to Router
sridhargaddam [Mon, 24 Nov 2014 10:17:36 +0000 (10:17 +0000)]
Validate IPv6 subnet while associating to Router

Currently Neutron allows attaching a subnet (configured to use an external
router, by only setting ipv6_address_mode and leaving ipv6_ra_mode unset)
to Neutron Router. Ideally Neutron should not allow this operation and
should return an appropriate error message to the user.

APIImpact
Closes-Bug: #1393527
Change-Id: I9d597e6f5e8aea63222bb9f5ed8289e4ce28bbc3

9 years agoMerge "Check metadata iptables chains during functional test"
Jenkins [Tue, 6 Jan 2015 15:59:32 +0000 (15:59 +0000)]
Merge "Check metadata iptables chains during functional test"

9 years agoMerge "print error when no match mapping found in check_segment_for_agent"
Jenkins [Tue, 6 Jan 2015 13:53:18 +0000 (13:53 +0000)]
Merge "print error when no match mapping found in check_segment_for_agent"

9 years agoMerge "Fix neutron hang for IPv6 allocation pool update"
Jenkins [Tue, 6 Jan 2015 13:53:04 +0000 (13:53 +0000)]
Merge "Fix neutron hang for IPv6 allocation pool update"

9 years agoMerge "Removed spurious check for ip version"
Jenkins [Tue, 6 Jan 2015 13:52:49 +0000 (13:52 +0000)]
Merge "Removed spurious check for ip version"

9 years agoMerge "Enable the "not-callable" pylint check"
Jenkins [Tue, 6 Jan 2015 13:20:15 +0000 (13:20 +0000)]
Merge "Enable the "not-callable" pylint check"

9 years agoVMWare-NSXv: VMWare NSXv database models
Kobi Samoray [Thu, 25 Dec 2014 10:06:16 +0000 (12:06 +0200)]
VMWare-NSXv: VMWare NSXv database models

For Kilo, the vendor-specific code should be moved to stackforge repo,
excluding the database models (https://review.openstack.org/#/c/134680/).
This patch adds the database model for VMWare NSXv plugin from
stackforge/vmware-nsx repo.

Partially-Implements: blueprint vmware-nsx-v

Change-Id: I17cbc1ba59131bd3bdefa232800842a9e739945f

9 years agoMerge "Add help text for 'host' parameter in neutron.conf file"
Jenkins [Tue, 6 Jan 2015 11:38:41 +0000 (11:38 +0000)]
Merge "Add help text for 'host' parameter in neutron.conf file"

9 years agoReduce duplicate code in test_iptables_manager
zhiyuan_cai [Mon, 29 Dec 2014 10:48:49 +0000 (18:48 +0800)]
Reduce duplicate code in test_iptables_manager

test_iptables_manager contains many hard-code iptables dumps
which share most of the contents, extract the common part to
reduce duplication.

Change-Id: I2e373f8fe26f77db832da00c56ada6cfa3c50746

9 years agoMerge "Tweak gate hooks scripts to handle both functional and api jobs"
Jenkins [Tue, 6 Jan 2015 07:48:49 +0000 (07:48 +0000)]
Merge "Tweak gate hooks scripts to handle both functional and api jobs"

9 years agoMerge "Stale VXLAN & GRE tunnel endpoint deletion from DB"
Jenkins [Tue, 6 Jan 2015 05:43:57 +0000 (05:43 +0000)]
Merge "Stale VXLAN & GRE tunnel endpoint deletion from DB"

9 years agoAdd support for retargetable functional api testing
Maru Newby [Tue, 25 Mar 2014 08:04:50 +0000 (01:04 -0700)]
Add support for retargetable functional api testing

This patch introduces the concept of a 'retargetable' functional api
test.  Such a test targets an abstract client class, and by varying
the implementation of the client, the test can target multiple
backends.

The test added by this patch (test_network_lifecycle) can be run
against the programmatic plugin api (for configured plugins) via both
tox -e functional and tox -e dsvm-functional.  The latter env is used
by the gating neutron-dsvm-functional job.

The test can also be run against a live Neutron service via 'tox -e api'
which will soon be run as part of the check queue by the
neutron-dsvm-api job [1].  Running this tox env requires
devstack-deployed Neutron and Tempest.

The intention is to refactor the existing plugin tests
(e.g. NeutronDbPluginV2TestCase) to use this model.  Functional tests
don't have to isolate functionality - they just need to exercise it -
so fewer tests will be required.  The new tests will be able to target
plugins directly rather than through the wsgi stack, so execution time
will be decreased.  The refactored tests should be easier to maintain
and take less time to run.

Perhaps best of all, since the same tests will be able to target a
deployed service in the neutron-dsvm-api job, the deployed behaviour
of api changes will finally be able to gate merges to the Neutron
tree.

Notable parts of the change:

- tests/api
  - base_v2 -      defines the client interface (BaseNeutronClient)
                   and the base class (BaseTestApi) for the
                   retargetable test (test_network_lifecycle)

  - test_v2_rest - implements the client interface for the tempest
                   rest client and configures the retargetable test
                   with scenarios for json serialization

- tests/functional/api
  - test_v2_plugin - implements the client interface for the
                     programmatic plugin api and configures the
                     retargetable test with scenarios targeting the
                     linuxbridge and openvswitch plugins

- tests/unit
  - refactor bits of the existing plugin tests for reuse

1: https://review.openstack.org/#/c/82226/

Implements: bp retargetable-functional-testing
Change-Id: Ib5470040c0fa91ec143f38d273e1e259b3adfb2e

9 years agoprint error when no match mapping found in check_segment_for_agent
Yalei Wang [Mon, 29 Dec 2014 05:17:30 +0000 (13:17 +0800)]
print error when no match mapping found in check_segment_for_agent

error print when no match PHYSICAL_NETWORK mapping found in function
check_segment_for_agent for OVS and linuxbridge mechanism driver.

Change-Id: I58c43328f0512de25720871fc51c79f074493cdf
Closes-Bug: #1404962

9 years agoTweak gate hooks scripts to handle both functional and api jobs
armando-migliaccio [Wed, 17 Dec 2014 22:33:42 +0000 (14:33 -0800)]
Tweak gate hooks scripts to handle both functional and api jobs

With this change both the API and Functional job will benefit
from the use of gate hooks. This is especially useful to make
the API job emit the test results the same way other jobs do.

NOTE: Changes are applied to both contrib directories under
neutron/tests and neutron/tests/functional; these two directories
are supposed to be in sync until change [1] merges, after which
we can drop neutron/tests/functional/contrib, in favor of
neutron/tests/contrib. This was done because of the symlink issue
caused by [2].

[1] https://review.openstack.org/#/c/142603/
[2] https://review.openstack.org/#/c/143152/

Change-Id: I0b823b17d6317e9409fd9b5872c5f4674c1b6824

9 years agoReplace mention of nose with nose2 in devref
Maru Newby [Tue, 6 Jan 2015 00:42:52 +0000 (00:42 +0000)]
Replace mention of nose with nose2 in devref

Documentation for the nose test runner was previously included in the
testing section of the developer reference.  Due to nose's lack of
support for the load_tests protocol - required to support
testscenarios-based generative testing - the documentation has been
updated to suggest the load_tests-supporting nose2 instead.

Change-Id: I5beb8619d5045372472021ed7eb19bddd0de5862

9 years agoAdd developer documentation for plugins/drivers contributions
armando-migliaccio [Thu, 11 Dec 2014 21:18:40 +0000 (13:18 -0800)]
Add developer documentation for plugins/drivers contributions

This is the initial step to provide documentation and
how-to for developers interested in contributing plugins and
drivers according to the core-vendor-decomp proposal.

Partially-implements: blueprint core-vendor-decomposition

Change-Id: Ib8b6cc5fd72eb1b8b4b4b2bdbda132062c81cbc1

9 years agoMerge "Do not run neutron-ns-metadata-proxy as root on L3 agent"
Jenkins [Mon, 5 Jan 2015 21:27:53 +0000 (21:27 +0000)]
Merge "Do not run neutron-ns-metadata-proxy as root on L3 agent"

9 years agoAdd help text for 'host' parameter in neutron.conf file
Numan Siddique [Sun, 28 Dec 2014 12:03:57 +0000 (17:33 +0530)]
Add help text for 'host' parameter in neutron.conf file

This patch adds the help text for 'host' parameter in
neutron.conf which is presently missing and updates
the neutron/common/config.py accordingly

Change-Id: Iddfc9c44b3fae95cbae1cfe1142c3d3a92749799
Closes-bug: #1406052

9 years agoUpdated keystone_admin conf section to reflect changes in middleware
Ihar Hrachyshka [Mon, 28 Apr 2014 13:02:34 +0000 (15:02 +0200)]
Updated keystone_admin conf section to reflect changes in middleware

keystonemiddleware module now prefers auth_uri (for public auth
endpoint) and identity_uri (for admin auth endpoint).

Made cisco plugin to use public auth_uri instead of identity_uri.

identity_uri is used by keystonemiddleware only, anyway added it to
several unit tests for consistency.

DocImpact
Closes-Bug: 1313783
Change-Id: I8bce9bfc01859dad82e5a98f4ac1da54ed86392a

9 years agoRemoved spurious check for ip version
Ihar Hrachyshka [Tue, 16 Dec 2014 15:23:40 +0000 (16:23 +0100)]
Removed spurious check for ip version

We may assume that _add_ingress_ra_rule() receives only RA (=IPv6)
ports, so no need to check IP version one more time.

The corresponding IP version filter is already applied in
_select_ra_ips_for_network_ids().

Change-Id: Ibde56a2eb32eed468defdd02a44cc3360ce82e53

9 years agoEnsure test_metaplugin handles random hashseeds
Sam Betts [Mon, 20 Oct 2014 12:26:33 +0000 (13:26 +0100)]
Ensure test_metaplugin handles random hashseeds

2 tests fail in test_metaplugin when using hashseed 2701526934 this is
down to the nature of using dictionaries and sets in Python having
unpredictable ordering when retrieving data stored in them. This patch
ensures that no matter the order fake1 and fake2 get placed into
self.plugins that the test can assert both possible scenarios.

Change-Id: I65fa6979cc0d6e3531e50f249c53db6be83a6cfe
Partial-Bug: 1348818

9 years agoIgnore non-existent ports during OVS intf list
Kevin Benton [Sun, 4 Jan 2015 09:47:01 +0000 (01:47 -0800)]
Ignore non-existent ports during OVS intf list

A recent commit[1] to pass the list of port names directly to
ovs-vsctl during a list operation introduced a new possible
failure condition where one of the names might refer to a port
which no longer exists. By default this causes ovs-vsctl to quit
in a fit of rage[2].

Previously, all interfaces were retrieved and the ones that were a
subset of the name list were processed. The name list could contain
extra non-existent names (e.g. recently deleted interfaces).

This patch just passes the '--if-exists' flag to the 'list Interface'
command to match the same previous behavior.

1. 3f0bf6cfac2e151d5a4a7f076062b3365bdbf457
2. Example: Stderr: 'ovs-vsctl: no row "tap80664420-ea" in table Interface\n'

Closes-Bug: #1407190
Change-Id: I8f359981386d13fb455281a72b8bb245395c0909

9 years agoImprove unit test coverage for Ml2 db.py
Romil Gupta [Sat, 25 Oct 2014 11:04:13 +0000 (04:04 -0700)]
Improve unit test coverage for Ml2 db.py

From coverage report:

Module statements missing excluded branches partial coverage
neutron/plugins/ml2/db 149 9 0 24 3 90%

Partial-Bug: #1269131
Change-Id: I5ef2af33d3a723fadfe618064094ea22241b7da1

9 years agoMerge "Add a constant for router interface device owners"
Jenkins [Wed, 31 Dec 2014 16:23:18 +0000 (16:23 +0000)]
Merge "Add a constant for router interface device owners"

9 years agoDelete the console scripts for lbaas and vpnaas
Hong Hui Xiao [Mon, 29 Dec 2014 08:06:31 +0000 (16:06 +0800)]
Delete the console scripts for lbaas and vpnaas

Codes of lbaas and vnpaas have been moved out, so we need to
remove these console scripts.

Closes-Bug: #1405095

Change-Id: Id91161ecacd902d1dc28a4a0dd01da3778486a88

9 years agoMerge "ovs_dvr: Use lazy logging interpolation"
Jenkins [Wed, 31 Dec 2014 05:39:23 +0000 (05:39 +0000)]
Merge "ovs_dvr: Use lazy logging interpolation"

9 years agoMerge "Cisco: logging incorrectly called with (fmt, arg) tuple"
Jenkins [Wed, 31 Dec 2014 05:23:48 +0000 (05:23 +0000)]
Merge "Cisco: logging incorrectly called with (fmt, arg) tuple"

9 years agoMerge "csr1kv_hd_driver: Improve exception handling"
Jenkins [Wed, 31 Dec 2014 04:37:12 +0000 (04:37 +0000)]
Merge "csr1kv_hd_driver: Improve exception handling"

9 years agoEnable the "not-callable" pylint check
Angus Lees [Tue, 23 Dec 2014 00:13:27 +0000 (11:13 +1100)]
Enable the "not-callable" pylint check

This check catches attempts to call variables that pylint believes are
not functions.  A trivial example would be:

    # Trivial example caught by this check:
    foo = dict()
    print foo('bar')  # <- oops, meant foo['bar']

This change enables the "not-callable" pylint check, after disabling a
few cases where the alert triggers but the usage was intended (defining
decorators).

Change-Id: I09ad929902509018fe7183a15b784601c36b6196
Related-Bug: #1356224

9 years agoovs_dvr: Use lazy logging interpolation
Angus Lees [Mon, 22 Dec 2014 04:41:28 +0000 (15:41 +1100)]
ovs_dvr: Use lazy logging interpolation

There are a small number of examples of "eager" interpolation in
neutron:
  logging.debug("foo %s" % arg)

These should be converted to perform the interpolation lazily within
the logging function, since if the severity is below the logging level
then the interpolation can be skipped entirely.

This change addresses all such examples found in ovs agent via a pylint
test.  Other occurrences are addressed elsewhere.

Change-Id: Ie215f33818cc5c16e570ace4c750df5371d27e09
Partial-Bug: #1404788

9 years agoAdd a constant for router interface device owners
Maru Newby [Tue, 28 Oct 2014 19:50:31 +0000 (19:50 +0000)]
Add a constant for router interface device owners

In the absense of a port object that includes a check for whether a
given port is implementing a router interface, this change adds the
ROUTER_INTERFACE_OWNERS tuple containing the relevant DEVICE_OWNER_*
constants.

This change was suggested by https://review.openstack.org/#/c/129865/

Change-Id: I1c45c29617d692cc05b44f7f2c4ec1e5252be303

9 years agoMerge "Do not count dvr agents while creating HA ports"
Jenkins [Wed, 31 Dec 2014 00:44:43 +0000 (00:44 +0000)]
Merge "Do not count dvr agents while creating HA ports"

9 years agoMerge "Add support for flat networks in SRIOV Mechanism Driver"
Jenkins [Wed, 31 Dec 2014 00:44:29 +0000 (00:44 +0000)]
Merge "Add support for flat networks in SRIOV Mechanism Driver"

9 years agoMerge "Retry on unassigned ofport instead of treating it as a failure"
Jenkins [Tue, 30 Dec 2014 23:45:50 +0000 (23:45 +0000)]
Merge "Retry on unassigned ofport instead of treating it as a failure"

9 years agoStale VXLAN & GRE tunnel endpoint deletion from DB
Romil Gupta [Fri, 12 Sep 2014 06:26:57 +0000 (23:26 -0700)]
Stale VXLAN & GRE tunnel endpoint deletion from DB

Description:
Stale GRE and VXLAN tunnel endpoints persists in neutron db this should be
deleted from the database. Also, if local_ip of L2 agent changes the
stale tunnel ports and flows persists on br-tun on other Compute Nodes and
Network Nodes for that remote ip this should also be removed.

Implementation

Plugin changes:
Added host column in 'ml2_vxlan_endpoints' and 'ml2_gre_endpoints' table.
Added delete_endpoint method for deleting the stale endpoints from db.
Modified tunnel_sync() method to accommodate these changes.
Modified testcases in test_type_vxlan.py
Modified testcases in test_type_gre.py

Agent changes:
Added tunnel_delete rpc for removing stale ports and flows from br-tun.
tunnel_sync rpc signature upgrade to obtain 'host'.
Added testcases for TunnelRpcCallbackMixin().

This patch-set only deals with plugin side changes.

Partial-Bug: #1179223

Change-Id: I75c6581fcc9f47a68bde29cbefcaa1a2a082344e

9 years agoMerge "Eventlet green threads not released back to pool"
Jenkins [Tue, 30 Dec 2014 08:28:47 +0000 (08:28 +0000)]
Merge "Eventlet green threads not released back to pool"

9 years agoAdd support for flat networks in SRIOV Mechanism Driver
Irena Berezovsky [Thu, 18 Dec 2014 04:34:59 +0000 (06:34 +0200)]
Add support for flat networks in SRIOV Mechanism Driver

Allow flat network segment to be bound by SRIOV Mechanism Driver.
Populate vif_details with vlan_id = 0 to support flat networking
(according to man page of ip command).

Change-Id: Ibbe2db51ed370f416e81d90d203049e7c39eff5b
Closes-Bug: 1403626

9 years agoMerge "Option for root_helper when checking namespace"
Jenkins [Tue, 30 Dec 2014 05:41:20 +0000 (05:41 +0000)]
Merge "Option for root_helper when checking namespace"

9 years agoMerge "Set type=internal as part of port creation"
Jenkins [Tue, 30 Dec 2014 03:52:15 +0000 (03:52 +0000)]
Merge "Set type=internal as part of port creation"

9 years agoMerge "Allow setting a tenant router's external IP"
Jenkins [Tue, 30 Dec 2014 00:07:14 +0000 (00:07 +0000)]
Merge "Allow setting a tenant router's external IP"

9 years agoMerge "brocade: Use lazy logging interpolation"
Jenkins [Mon, 29 Dec 2014 22:37:32 +0000 (22:37 +0000)]
Merge "brocade: Use lazy logging interpolation"

9 years agoMerge "linuxbridge: Use lazy logging interpolation"
Jenkins [Mon, 29 Dec 2014 22:37:19 +0000 (22:37 +0000)]
Merge "linuxbridge: Use lazy logging interpolation"

9 years agoRetry on unassigned ofport instead of treating it as a failure
Terry Wilson [Fri, 11 Jul 2014 23:55:30 +0000 (17:55 -0600)]
Retry on unassigned ofport instead of treating it as a failure

Open vSwitch will return '[]' when querying an interface's ofport
when the ofport has not yet been assigned. This doesn't signal a
failure, but the get_port_ofport code was treating it as such.
This patch uses a decorator from python-retrying which has been
added as a dependency of oslo_concurrency and therefore packaged
everywhere. The call to fetch the ofport is retried until the
vsctl_timeout is reached and, on failure, INVALID_OFPORT is
returned.

The add_port function will attempt to delete the port if
INVALID_OFPORT is returned from get_port_ofport. add_port is also
extended to take optional Interface options so that the
add_tunnel_port and add_patch_port functions can reuse it instead
of just duplicating its functionality.

Closes-Bug: #1341020
Change-Id: Ifc52d8589c7aafd360893cb9c1cdcbf43b04ee2c

9 years agoMerge "VMware: fix security group check on port create"
Jenkins [Mon, 29 Dec 2014 20:08:11 +0000 (20:08 +0000)]
Merge "VMware: fix security group check on port create"

9 years agoMerge "Allow to specify IP address of floating ip"
Jenkins [Mon, 29 Dec 2014 17:11:03 +0000 (17:11 +0000)]
Merge "Allow to specify IP address of floating ip"

9 years agoMerge "Enable pylint checks for "anomalous" string escapes"
Jenkins [Mon, 29 Dec 2014 16:52:17 +0000 (16:52 +0000)]
Merge "Enable pylint checks for "anomalous" string escapes"

9 years agoVMware: fix security group check on port create
Salvatore [Wed, 24 Dec 2014 00:17:17 +0000 (01:17 +0100)]
VMware: fix security group check on port create

The code did not consider an empty list among the cases
in which security groups are not supplied on port create.

Change-Id: I325cce2165d2ec683ecac3cabdbfb80a03b288c9
Closes-Bug: #1405311

9 years agoMerge "Don't unnecessarily loop through all ports/interfaces"
Jenkins [Mon, 29 Dec 2014 09:25:44 +0000 (09:25 +0000)]
Merge "Don't unnecessarily loop through all ports/interfaces"

9 years agoMerge "embrane: Use lazy logging interpolation"
Jenkins [Mon, 29 Dec 2014 04:13:50 +0000 (04:13 +0000)]
Merge "embrane: Use lazy logging interpolation"

9 years agoMerge "bigswitch: Use lazy logging interpolation"
Jenkins [Mon, 29 Dec 2014 03:15:22 +0000 (03:15 +0000)]
Merge "bigswitch: Use lazy logging interpolation"

9 years agoMerge "Tighten dnsmasq version regex"
Jenkins [Mon, 29 Dec 2014 03:14:55 +0000 (03:14 +0000)]
Merge "Tighten dnsmasq version regex"

9 years agoMerge "Correct invalid indentation in is_dvr_serviced"
Jenkins [Mon, 29 Dec 2014 01:58:42 +0000 (01:58 +0000)]
Merge "Correct invalid indentation in is_dvr_serviced"

9 years agoMerge "Remove unnecessary regex grouping"
Jenkins [Mon, 29 Dec 2014 01:48:37 +0000 (01:48 +0000)]
Merge "Remove unnecessary regex grouping"

9 years agoMerge "Combine author_tag and log_translation_hint regexes"
Jenkins [Sun, 28 Dec 2014 21:54:50 +0000 (21:54 +0000)]
Merge "Combine author_tag and log_translation_hint regexes"

9 years agoEventlet green threads not released back to pool
abhishekkekane [Tue, 21 Oct 2014 11:15:15 +0000 (04:15 -0700)]
Eventlet green threads not released back to pool

Presently, the wsgi server allows persist connections. Hence even after
the response is sent to the client, it doesn't close the client socket
connection. Because of this problem, the green thread is not released
back to the pool.

In order to close the client socket connection explicitly after the
response is sent and read successfully by the client, you simply have to
set keepalive to False when you create a wsgi server.

Added a parameter to take advantage of the new(ish) eventlet socket timeout
behaviour. Allows closing idle client connections after a period of time, eg:

$ time nc localhost 8776
real    1m0.063s

Setting 'client_socket_timeout = 0' means do not timeout.

DocImpact:
Added wsgi_keep_alive option (default=True).
Added client_socket_timeout option (default=900).

SecurityImpact

Closes-Bug: #1361360
Change-Id: I3a361d6590d1800b85791f23ac1cdfd79815341b

9 years agoDon't unnecessarily loop through all ports/interfaces
Terry Wilson [Sat, 20 Dec 2014 02:01:36 +0000 (19:01 -0700)]
Don't unnecessarily loop through all ports/interfaces

The ovs-vsctl 'list' command can take a list of records as an
argument, so there is no need to manually loop through all records
discarding the ones with names that don't match the bridge's
port name list.

Also, since the data is returned as json, the ofport returned isn't
a string, so we don't have to convert it to int for testing.

Closes-Bug: #1404935
Change-Id: Ica20f8f8315196aa5a04657d28dde41a75f0368d

9 years agoMerge "Use lazy logging interpolation"
Jenkins [Fri, 26 Dec 2014 20:41:17 +0000 (20:41 +0000)]
Merge "Use lazy logging interpolation"

9 years agoSet type=internal as part of port creation
Terry Wilson [Fri, 26 Dec 2014 20:06:20 +0000 (13:06 -0700)]
Set type=internal as part of port creation

When creating an internal device with ovs-vsctl, the 'set'
operation must occur as part of the transaction that creates the
port, otherwise the device creation will fail and an ofport will
not be assigned.

Change-Id: I30ecb920ee1c64d25b5e7eed69e92bd71caac435

9 years agoFix DVR flow problems for IPv6 subnet
Xu Han Peng [Wed, 3 Dec 2014 06:58:34 +0000 (14:58 +0800)]
Fix DVR flow problems for IPv6 subnet

This code fixes DVR flow problems by changing proto='ip' to
proto='ipv6' and changing nw_dst to ipv6_dst.

When DVR is enabled, RADVD is spawned by l3 agent on each compute
node. This code also prevent IPv6 Router Advertisement from
sending to other compute nodes.

Change-Id: Id94acd85ea124eff6cfdfbfc546f5dd4ca81ef43
Closes-Bug: 1398244
Closes-Bug: 1398627
Partial-Bug: 1376325

9 years agoAllow to specify IP address of floating ip
fujioka yuuichi [Fri, 31 Jan 2014 01:54:34 +0000 (10:54 +0900)]
Allow to specify IP address of floating ip

IP address of floating ip will be automatically allocated.
There are cases where users need to specify a floating IP address.
This patch addresses the problem.

The feature is limited by "create_floatingip:floating_ip_address" in
"policy.json".
By default, it needs an admin role.

DocImpact
APIImpact

Implements: blueprint allow-specific-floating-ip-address

Change-Id: Iba64a0f0a38ca5eb39c605e121a12c956637b96c

9 years agoDo not count dvr agents while creating HA ports
Numan Siddique [Mon, 1 Dec 2014 13:19:30 +0000 (18:49 +0530)]
Do not count dvr agents while creating HA ports

Presently dvr agents are not excluded when a
ha router interface is created, because of which
an interface is created even in the dvr agent namespace.

This patch fixes the issue by supporting a filter - 'agent_modes'
in the function L3AgentSchedulerDbMixin.get_l3_agents.
If this filter is defined, only the l3 agents whose modes
defined in this filter are returned

Change-Id: I9383e2a30ddc4f2c3e04ff0821726b8dc3ec89a0
Closes-bug: #1397209

9 years agoMerge "Remove useless parameter from l3_dvr_db.py"
Jenkins [Thu, 25 Dec 2014 03:47:08 +0000 (03:47 +0000)]
Merge "Remove useless parameter from l3_dvr_db.py"

9 years agocsr1kv_hd_driver: Improve exception handling
AKamyshnikova [Fri, 19 Dec 2014 10:24:11 +0000 (13:24 +0300)]
csr1kv_hd_driver: Improve exception handling

When logging exceptions the exception handling should make use
of save_and_reraise.

Partial-bug: #1305032

Change-Id: I316417f3c9cbb28ea0cf2cd24a1f5b2b803b5a95

9 years agoMerge "Clean-up sanity checks done via shell scripts"
Jenkins [Wed, 24 Dec 2014 08:01:36 +0000 (08:01 +0000)]
Merge "Clean-up sanity checks done via shell scripts"

9 years agoRemove useless parameter from l3_dvr_db.py
yangxurong [Fri, 19 Dec 2014 08:33:42 +0000 (16:33 +0800)]
Remove useless parameter from l3_dvr_db.py

clear_unused_fip_agent_gw_port and check_fips_availability_on_host
functions in l3_dvr_db.py contain a useless parameter fip_id which
can be removed.

Change-Id: Ibc14f9d9cd4b35a5f3b8d1a733d2ef40743e8077

9 years agoMerge "Add validation for the dvr router l3agent binding"
Jenkins [Wed, 24 Dec 2014 01:55:19 +0000 (01:55 +0000)]
Merge "Add validation for the dvr router l3agent binding"

9 years agoClean-up sanity checks done via shell scripts
armando-migliaccio [Mon, 22 Dec 2014 21:02:14 +0000 (13:02 -0800)]
Clean-up sanity checks done via shell scripts

Move the various checks done via shell into a single file;
this is cleaner and we'll have a lot more space to explain
what is going on.

Related-bug: #1404605

Change-Id: Ibb451c6a25217f37b73983c30891f55b35f143cd

9 years agoDo not run neutron-ns-metadata-proxy as root on L3 agent
Cedric Brandily [Mon, 24 Nov 2014 15:53:04 +0000 (15:53 +0000)]
Do not run neutron-ns-metadata-proxy as root on L3 agent

Currently neutron-ns-metadata-proxy runs with root permissions when
namespaces are enabled on the l3 agent because root permissions are
required to "enter" in the namespace. But neutron-ns-metadata-proxy
permissions should be reduced as much as possible because it is
reachable from vms.

This change allows to change neutron-ns-metadata-proxy permissions
after its startup through the 2 new options metadata_proxy_user and
metadata_proxy_group which allow to define user/group running metadata
proxy after its initialization. Their default values are
neutron-l3-agent effective user and group.

Permissions drop is done after metadata proxy daemon writes its
pid in its pidfile (it could be disallowed after permissions drop).

Using nobody as metadata_proxy_user/group (more secure) is currently
not supported because:

* nobody has not the permission to connect the metadata socket,
* nobody has not the permission to log to file because neutron uses
  WatchedFileHandler (which requires read/write permissions after
  permissions drop).
This limitation will be addressed in a daughter change.

DocImpact
Partial-Bug: #1187107
Change-Id: I55c8c3fb14ed91ae8570f98f19c2cdbaf89d42fc

9 years agoCorrect invalid indentation in is_dvr_serviced
Cedric Brandily [Tue, 23 Dec 2014 22:31:12 +0000 (23:31 +0100)]
Correct invalid indentation in is_dvr_serviced

This change corrects indentation in is_dvr_serviced defined in
neutron.common.utils modul.

Change-Id: Ie0e7885ccf6e9101c6ad638b410bf17e359c5a0a

9 years agoMerge "Fixes spelling error"
Jenkins [Tue, 23 Dec 2014 21:46:52 +0000 (21:46 +0000)]
Merge "Fixes spelling error"

9 years agoMerge "get_binary_name should returns strings without spaces"
Jenkins [Tue, 23 Dec 2014 21:43:30 +0000 (21:43 +0000)]
Merge "get_binary_name should returns strings without spaces"

9 years agoAdd validation for the dvr router l3agent binding
Swaminathan Vasudevan [Tue, 2 Sep 2014 16:48:54 +0000 (09:48 -0700)]
Add validation for the dvr router l3agent binding

Validates dvr router add/remove cases to the
l3agents running in different dvr modes such
as "dvr_snat" and "dvr" mode.

In the case of distributed virtual routers it
does not make sense to move distributed routers
from one "dvr" node to another "dvr" node.

Also added some unit tests that addresses the
validation of legacy routers to dvr agent and
dvr routers to legacy agent.

Partial-Bug: #1369721

Change-Id: I008dda6abaf25094b11f3730b951e096dd3b7025

9 years agoFixes spelling error
Mike King [Fri, 19 Dec 2014 18:03:06 +0000 (11:03 -0700)]
Fixes spelling error

Closes-Bug: #1404341

Change-Id: I1e0209ab293494942efab12baabd4858df40e3aa

9 years agoMerge "validate L3 HA min/max _l3_agents_per_router"
Jenkins [Tue, 23 Dec 2014 19:18:27 +0000 (19:18 +0000)]
Merge "validate L3 HA min/max _l3_agents_per_router"

9 years agoget_binary_name should returns strings without spaces
Cedric Brandily [Fri, 19 Dec 2014 14:05:53 +0000 (15:05 +0100)]
get_binary_name should returns strings without spaces

Iptables does not support chain names with spaces. It implies
get_binary_name should return strings without spaces (they are used as
chain name prefix). But currently 'python -m unittest $module' implies
spaces in get_binary_name() result, it disallows to use it when $module
is a functional test module. This change replaces spaces with
underscores in get_binary_name results.

Change-Id: Ie7c8518b92be46a4eea4e9345713fdeba844126d
Closes-Bug: #1404250