openstack-build/neutron-build.git
8 years agoMerge "DVR: when updating port's fixed_ips, update arp"
Jenkins [Sat, 16 Jan 2016 17:24:20 +0000 (17:24 +0000)]
Merge "DVR: when updating port's fixed_ips, update arp"

8 years agoMerge "Move L2populationDbMixin to module-level functions"
Jenkins [Sat, 16 Jan 2016 17:23:29 +0000 (17:23 +0000)]
Merge "Move L2populationDbMixin to module-level functions"

8 years agoMerge "Updated from global requirements"
Jenkins [Sat, 16 Jan 2016 14:19:03 +0000 (14:19 +0000)]
Merge "Updated from global requirements"

8 years agoMerge "Make sure datapath_type is updated on bridges changed"
Jenkins [Sat, 16 Jan 2016 14:14:14 +0000 (14:14 +0000)]
Merge "Make sure datapath_type is updated on bridges changed"

8 years agoMerge "fix get_ha_sync_data_for_host for non-dvr agent"
Jenkins [Sat, 16 Jan 2016 14:09:28 +0000 (14:09 +0000)]
Merge "fix get_ha_sync_data_for_host for non-dvr agent"

8 years agoMerge "Fix get_subnet_for_dvr() to return correct gateway mac"
Jenkins [Sat, 16 Jan 2016 14:04:19 +0000 (14:04 +0000)]
Merge "Fix get_subnet_for_dvr() to return correct gateway mac"

8 years agoMerge "Fix params order in assertEqual"
Jenkins [Sat, 16 Jan 2016 13:43:33 +0000 (13:43 +0000)]
Merge "Fix params order in assertEqual"

8 years agoMerge "Make security_groups_provider_updated work with Kilo agents"
Jenkins [Sat, 16 Jan 2016 13:42:56 +0000 (13:42 +0000)]
Merge "Make security_groups_provider_updated work with Kilo agents"

8 years agoMerge "doc: Update Ryu Ishimoto's IRC nick"
Jenkins [Sat, 16 Jan 2016 13:41:42 +0000 (13:41 +0000)]
Merge "doc: Update Ryu Ishimoto's IRC nick"

8 years agoMerge "Revert "Change function call order in ovs_neutron_agent.""
Jenkins [Sat, 16 Jan 2016 13:41:09 +0000 (13:41 +0000)]
Merge "Revert "Change function call order in ovs_neutron_agent.""

8 years agoMerge "Introduce new query to return all hosts for DVR router"
Jenkins [Sat, 16 Jan 2016 13:40:28 +0000 (13:40 +0000)]
Merge "Introduce new query to return all hosts for DVR router"

8 years agoMerge "Retry port create/update on duplicate db records"
Jenkins [Sat, 16 Jan 2016 11:38:13 +0000 (11:38 +0000)]
Merge "Retry port create/update on duplicate db records"

8 years agoMerge "L3 agent: paginate sync routers task"
Jenkins [Sat, 16 Jan 2016 09:13:46 +0000 (09:13 +0000)]
Merge "L3 agent: paginate sync routers task"

8 years agoMerge "Make neutron pecan server an option instead of binary"
Jenkins [Sat, 16 Jan 2016 03:41:33 +0000 (03:41 +0000)]
Merge "Make neutron pecan server an option instead of binary"

8 years agoUpdated from global requirements
OpenStack Proposal Bot [Sat, 16 Jan 2016 03:28:47 +0000 (03:28 +0000)]
Updated from global requirements

Change-Id: Ia4001c53f4c2c3d1076fa7533dfd095245ef8082

8 years agoMerge "Fix regression with unbound ports and l2pop"
Jenkins [Sat, 16 Jan 2016 03:22:12 +0000 (03:22 +0000)]
Merge "Fix regression with unbound ports and l2pop"

8 years agoMerge "dhcp: handle advertise_mtu=True when plugin does not set mtu values"
Jenkins [Sat, 16 Jan 2016 03:21:48 +0000 (03:21 +0000)]
Merge "dhcp: handle advertise_mtu=True when plugin does not set mtu values"

8 years agoMerge "Unify using assertIsInstance"
Jenkins [Sat, 16 Jan 2016 03:20:30 +0000 (03:20 +0000)]
Merge "Unify using assertIsInstance"

8 years agoMerge "Use oslo.utils.reflection extract the class name"
Jenkins [Sat, 16 Jan 2016 03:18:50 +0000 (03:18 +0000)]
Merge "Use oslo.utils.reflection extract the class name"

8 years agoMerge "OVS: Reorder table-id constants"
Jenkins [Sat, 16 Jan 2016 00:41:16 +0000 (00:41 +0000)]
Merge "OVS: Reorder table-id constants"

8 years agoMerge "Unify exceptions for assign router to dvr agent"
Jenkins [Fri, 15 Jan 2016 23:48:05 +0000 (23:48 +0000)]
Merge "Unify exceptions for assign router to dvr agent"

8 years agoMove L2populationDbMixin to module-level functions
Terry Wilson [Fri, 15 Jan 2016 19:44:14 +0000 (13:44 -0600)]
Move L2populationDbMixin to module-level functions

None of the L2populationDbMixin methods actually use 'self' for
anything. As the class is basically just used as a namespace and
modules already provide that, this patch gets rid of the mixin. This
makes the code simpler and easier to debug as inheritance doesn't buy
us anything in this case.

Change-Id: Ibf4dfe49a2ebc32d3909d3d7b579d2bb2ea3f61d

8 years agoMerge "Fix Linux bridge test_report_state_revived failure on OSX"
Jenkins [Fri, 15 Jan 2016 20:51:00 +0000 (20:51 +0000)]
Merge "Fix Linux bridge test_report_state_revived failure on OSX"

8 years agoMerge "Added Keystone and RequestID headers to CORS middleware"
Jenkins [Fri, 15 Jan 2016 19:26:04 +0000 (19:26 +0000)]
Merge "Added Keystone and RequestID headers to CORS middleware"

8 years agoMerge "Provide kwargs for callback abort"
Jenkins [Fri, 15 Jan 2016 19:23:18 +0000 (19:23 +0000)]
Merge "Provide kwargs for callback abort"

8 years agoMerge "Pecan controller loads service plugins"
Jenkins [Fri, 15 Jan 2016 17:39:16 +0000 (17:39 +0000)]
Merge "Pecan controller loads service plugins"

8 years agoRevert "Change function call order in ovs_neutron_agent."
Kevin Benton [Fri, 15 Jan 2016 15:22:03 +0000 (15:22 +0000)]
Revert "Change function call order in ovs_neutron_agent."

This reverts commit 9c72bac0ea37971b2d5430246295c5e8b859b4ed.

Change-Id: I9b6b588b68f63f6688749d011dc8b20ef80edadc
Closes-Bug: #1534322

8 years agoMake security_groups_provider_updated work with Kilo agents
Ihar Hrachyshka [Wed, 13 Jan 2016 11:37:21 +0000 (12:37 +0100)]
Make security_groups_provider_updated work with Kilo agents

Initially, we bumped the required version for the agent endpoint from
1.1 (the initial version that implemented security groups) to 1.3
without considering that the code should work with old agents that do
not yet know about the new devices_to_update argument.

Actually, there was no need to bump the version: old agent side code
already captures all unknown arguments that could be passed from the
server, ignoring them:

https://github.com/openstack/neutron/blob/608b54137fb67512c07099089ea7e074176e12df/neutron/agent/securitygroups_rpc.py#L155

(^ the link shows the latest Kilo code as of writing)

Note: some people may argue that the approach that is taken in Neutron
to support backwards compatibility for server notifications is wrong,
and we instead should adopt some stricter mechanism like nova version
pinning. While that is a noble thing to do, it's out of scope for the
patch that is designed to be easily backportable to stable/liberty.

Note: some people may also argue that the patch should go straight into
stable/liberty because we don't claim support for rolling upgrade
scenarios that span multiple releases. That's indeed true, though my
take on it is that if we have a way to handle more unofficial scenarios
without more coding effort, it's worth doing it.

Change-Id: I741e6e5c460658ac17095551040e67e8d1990812
Closes-Bug: #1531772

8 years agoIntroduce new query to return all hosts for DVR router
Oleg Bondarev [Thu, 17 Dec 2015 11:57:21 +0000 (14:57 +0300)]
Introduce new query to return all hosts for DVR router

When we remove explicit binding of dvr routers to compute nodes
we'll need a way to know all hosts where a dvr router should be
hosted in order to send notifications.
This patch adds such a query and updates l3 rpc notifier to use it.

Partially implements blueprint improve-dvr-l3-agent-binding
Change-Id: Ic6680bb42455189f14c4c913b1d4adeebda83180

8 years agofix get_ha_sync_data_for_host for non-dvr agent
lzklibj [Wed, 28 Oct 2015 09:02:11 +0000 (17:02 +0800)]
fix get_ha_sync_data_for_host for non-dvr agent

get_ha_sync_data_for_host will call _get_dvr_sync_data
even given agent is not in DVR agent_mode.
_get_dvr_sync_data has additional processing for dvr
like:
    dvr_router_ids = set(router['id'] for router in routers
                         if is_distributed_router(router))
    floating_ip_port_ids = [fip['port_id'] for fip in floating_ips
                                if fip['router_id'] in dvr_router_ids]
which should only work for DVR scenario.

That will increase neutron-server processing time for
non-DVR scenario. Adding logic to judge whether given
agent is in DVR agent_mode, call get_sync_data directly.

Closes-Bug: #1510796
Change-Id: I5572e19b7cd8b2ea63fde4463705ab1c56fe5e68

8 years agodhcp: handle advertise_mtu=True when plugin does not set mtu values
Ihar Hrachyshka [Thu, 14 Jan 2016 15:06:20 +0000 (16:06 +0100)]
dhcp: handle advertise_mtu=True when plugin does not set mtu values

DHCP agent may be used by plugins that don't set mtu value for networks.
Handle the case by not passing the DHCP option when network does not
have the value set.

Most plugins do set the value though, since it's enforced in base db
plugin class.

Closes-Bug: #1534197
Change-Id: I282b3d6b81f91eb8cea901d955cbcca6ecb2a95d

8 years agoMerge "Add --dry-run mode to code review abandon tool"
Jenkins [Fri, 15 Jan 2016 08:23:56 +0000 (08:23 +0000)]
Merge "Add --dry-run mode to code review abandon tool"

8 years agoMerge "HACKING: update HACKING.rst file to include latest changes"
Jenkins [Fri, 15 Jan 2016 08:23:20 +0000 (08:23 +0000)]
Merge "HACKING: update HACKING.rst file to include latest changes"

8 years agoMerge "Add systemd notification after reporting initial state"
Jenkins [Fri, 15 Jan 2016 08:22:20 +0000 (08:22 +0000)]
Merge "Add systemd notification after reporting initial state"

8 years agoMerge "Do not prohibit VXLAN over IPv6"
Jenkins [Fri, 15 Jan 2016 08:15:36 +0000 (08:15 +0000)]
Merge "Do not prohibit VXLAN over IPv6"

8 years agoMerge "Add 'ovs' to requirements.txt"
Jenkins [Fri, 15 Jan 2016 08:14:58 +0000 (08:14 +0000)]
Merge "Add 'ovs' to requirements.txt"

8 years agoMerge "Use admin context when removing DVR router on vm port deletion"
Jenkins [Fri, 15 Jan 2016 06:37:42 +0000 (06:37 +0000)]
Merge "Use admin context when removing DVR router on vm port deletion"

8 years agoMerge "ML2: verify if required extension drivers are loaded"
Jenkins [Fri, 15 Jan 2016 05:01:47 +0000 (05:01 +0000)]
Merge "ML2: verify if required extension drivers are loaded"

8 years agoRetry port create/update on duplicate db records
Kevin Benton [Fri, 15 Jan 2016 04:23:32 +0000 (20:23 -0800)]
Retry port create/update on duplicate db records

Even though we have a duplicate IP check before creating an IP
allocation, there is a window between when that check is completed
and when the record is committed to the database. During this window,
another thread or server may use the same IP address, which will result
in the database commit failing with a DBDuplicateEntry exception.

This patch adds a decorator to convert the exception into a
RetryRequest, which will be caught at the API layer to start the
operation over, at which point the normal duplicate check will find
the IP and return the correct error to the user.

This was done instead of trying to convert the DBDuplicate to the
correct exception since it's on commit and there are possibly many
different sources of the duplicate record beyond the IP allocation
(depending on what mechanism drivers did during pre-commit, etc).
By retrying the request, we ensure that the prechecks run again that
will raise the appropriate exception.

Change-Id: I37a964497bf60a61bc49bdeec94a008f167c384f
Closes-Bug: #1534447

8 years agodoc: Update Ryu Ishimoto's IRC nick
YAMAMOTO Takashi [Fri, 15 Jan 2016 04:34:19 +0000 (13:34 +0900)]
doc: Update Ryu Ishimoto's IRC nick

It seems he prefers this nick these days.

Change-Id: I726448149fa534cde717278bb42a2108dcd3742e

8 years agoMerge "Updated from global requirements"
Jenkins [Fri, 15 Jan 2016 02:34:48 +0000 (02:34 +0000)]
Merge "Updated from global requirements"

8 years agoMake neutron pecan server an option instead of binary
Kevin Benton [Fri, 15 Jan 2016 00:15:38 +0000 (16:15 -0800)]
Make neutron pecan server an option instead of binary

Launch pecan server instead of home-grown wsgi server using
a new config option. This will make it easier to test out
pecan without invasive changes to devstack.

Related Blueprint: wsgi-pecan-switch
Change-Id: I99261e6bfc9b16c0d601828f97553a9192804216

8 years agoMerge "Pecan: fix quota management"
Jenkins [Fri, 15 Jan 2016 01:27:46 +0000 (01:27 +0000)]
Merge "Pecan: fix quota management"

8 years agoMerge "Pecan: Fixes and tests for the policy enforcement hook"
Jenkins [Fri, 15 Jan 2016 01:26:22 +0000 (01:26 +0000)]
Merge "Pecan: Fixes and tests for the policy enforcement hook"

8 years agoMerge "Static routes not added to qrouter namespace for DVR"
Jenkins [Fri, 15 Jan 2016 01:24:20 +0000 (01:24 +0000)]
Merge "Static routes not added to qrouter namespace for DVR"

8 years agoMerge "Scope get_tenant_quotas by tenant_id"
Jenkins [Fri, 15 Jan 2016 00:51:46 +0000 (00:51 +0000)]
Merge "Scope get_tenant_quotas by tenant_id"

8 years agoMerge "Adopt oslotest BaseTestCase as a base class for DietTestCase"
Jenkins [Thu, 14 Jan 2016 23:42:03 +0000 (23:42 +0000)]
Merge "Adopt oslotest BaseTestCase as a base class for DietTestCase"

8 years agoMerge "Pass environment variables of proxy to tox"
Jenkins [Thu, 14 Jan 2016 23:40:28 +0000 (23:40 +0000)]
Merge "Pass environment variables of proxy to tox"

8 years agoDVR: when updating port's fixed_ips, update arp
John Schwarz [Tue, 5 Jan 2016 15:21:30 +0000 (17:21 +0200)]
DVR: when updating port's fixed_ips, update arp

Currently, when updating a port's fixed_ips, the l3 agents fail to
update the arp tables of this change, which can lead to east-west
connectivity issues when a router is connected to more than one tenant
network.

Closes-Bug: #1512199
Change-Id: Ic7a4bbfca8b477c41b233235d2e2a2864f7af411

8 years agoFix Linux bridge test_report_state_revived failure on OSX
Brian Haley [Thu, 14 Jan 2016 19:42:14 +0000 (14:42 -0500)]
Fix Linux bridge test_report_state_revived failure on OSX

Mock-out the Linux-specific bridge check in the class so
it succeeds on all OSes.

Change-Id: Id48845b3e73caa7ea6fad692feb21dc1f2b12ecc
Closes-Bug: #1534281

8 years agoAdded Keystone and RequestID headers to CORS middleware
Michael Krotscheck [Fri, 8 Jan 2016 19:18:51 +0000 (11:18 -0800)]
Added Keystone and RequestID headers to CORS middleware

CORS middleware's latent configuration feature, new in 3.0.0,
allows adding headers that apply to all valid origins.
This patch adds headers commonly used in openstack to neutron's paste
pipeline, so that operators do not have to be aware of additional
configuration magic to ensure that browsers can talk to the API.

For more information:
http://docs.openstack.org/developer/oslo.middleware/cors.html#configuration-for-pastedeploy

Change-Id: Ic08fcb7833563bbeca3e0ba2d03438d4be594418

8 years agoUnify exceptions for assign router to dvr agent
lzklibj [Sun, 27 Dec 2015 06:08:36 +0000 (14:08 +0800)]
Unify exceptions for assign router to dvr agent

validate_agent_router_combination use two different exceptions
for assigning a router to an agent in 'dvr' mode:
  RouterL3AgentMismatch: assign dvr router to legacy agent.
  DVRL3CannotAssignToDvrAgent: assign dvr router to (another) dvr agent.

This should be unified to one single exception, for routers on agent in
'dvr' mode should be only scheduled, not allowed to be manually assigned.

Change-Id: I3673c4c6852105f86b3aac390d0aabc75944de9d
Closes-Bug: #1529439

8 years agoUnify using assertIsInstance
lzklibj [Wed, 6 Jan 2016 03:27:34 +0000 (11:27 +0800)]
Unify using assertIsInstance

Use assertIsInstance(A, B) to replace assertTrue(isinstance(A, B)).

Prefer specific assertions such as assert(Not)IsInstance over generic ones
(assertTrue/False, assertEqual) because they raise more meaningful errors.

Change-Id: I56278b1a74108e2765a8a740658f33954f5404c7
Closes-bug: #1268480

8 years agoHACKING: update HACKING.rst file to include latest changes
Gary Kotton [Wed, 13 Jan 2016 14:18:42 +0000 (06:18 -0800)]
HACKING: update HACKING.rst file to include latest changes

Commit 3491cbc0c510404bfb4ddc2e60fde5c5d23400fd updated a hacking
check but did not update the HACKING.rst file.

Change-Id: Ie9be701f61da93686b79df23f1acf14008e4d486

8 years agoDo not prohibit VXLAN over IPv6
Dustin Lundquist [Wed, 30 Dec 2015 23:59:36 +0000 (15:59 -0800)]
Do not prohibit VXLAN over IPv6

9fc45cee in introduced a regression prohibiting using VXLAN over
IPv6. Relax restriction on local_ip, but validate that both
local_ip and vxlan_group of the same address family. Move existing
validation of vxlan_group into validate_vxlan_group_with_local_ip()
method and refactor existing tests for that validation.

Change-Id: I3d67732d2e1f3e079fee336b403744596fb7db77
Depends-On: I6440445b80637a5a9f4de052cf5ea1fbd8dcf7d1
Closes-Bug: #1531660

8 years agoUpdated from global requirements
OpenStack Proposal Bot [Wed, 13 Jan 2016 08:16:16 +0000 (08:16 +0000)]
Updated from global requirements

Change-Id: I96df4154c7f1305fbf15974a2e6b4eef7eae78af

8 years agotests: stop validating neutronclient in neutron-debug tests
Ihar Hrachyshka [Wed, 13 Jan 2016 12:32:15 +0000 (13:32 +0100)]
tests: stop validating neutronclient in neutron-debug tests

In neutronclient 4.0.0, any command executed triggers DeprecationWarning
on stderr (to be fixed by I77f168af92ae51ce16bed4988bbcaf7c18557727 and
a new client release including it).

The test cases assumed that if command is successful, it never writes to
stderr though. Making the test failing when using the latest client.

Instead of fixing the test class not to assume there is no output on
stderr, remove it because we are not meant to validate neutronclient in
neutron gate at all and should rely on the library as shipped. Client
should already have reasonable coverage for its CLI.

Change-Id: I6440445b80637a5a9f4de052cf5ea1fbd8dcf7d1
Closes-Bug: #1533638

8 years agoMerge "Fix URLs for pep8, and unit tests jobs"
Jenkins [Thu, 14 Jan 2016 05:50:06 +0000 (05:50 +0000)]
Merge "Fix URLs for pep8, and unit tests jobs"

8 years agoML2: verify if required extension drivers are loaded
Sławek Kapłoński [Sat, 5 Dec 2015 23:11:46 +0000 (00:11 +0100)]
ML2: verify if required extension drivers are loaded

This change ensures extension drivers required by service plugins are loaded
when using ML2 plugin: we check that ML2 loads QoS extension driver when QoS
service plugin is enabled.

Change-Id: Ibf19e77b88ce34c58519ae157c852c9e2b30e31f
Closes-bug: #1496787

8 years agoAdd --dry-run mode to code review abandon tool
Doug Wiegley [Wed, 13 Jan 2016 22:07:12 +0000 (16:07 -0600)]
Add --dry-run mode to code review abandon tool

Usually I edit the script every time, to see what it would do
before the actual run. Add that mode via a flag.

Change-Id: I3ea50b905217947a43e4437b4925bb79c45a3d18

8 years agoFix typo in test path in Testing.rst
Manjeet Singh Bhatia [Wed, 13 Jan 2016 20:28:40 +0000 (20:28 +0000)]
Fix typo in test path in Testing.rst

Change-Id: I8e9f250bb2f9d2781cfcaf7058fbc77ace42f063

8 years agoFix URLs for pep8, and unit tests jobs
armando-migliaccio [Wed, 13 Jan 2016 20:06:16 +0000 (12:06 -0800)]
Fix URLs for pep8, and unit tests jobs

We switched to constrained jobs a while back, but these links were
showing the non constrained ones, making these graphs useless.

This patch updates them to reflect the jobs that are currently
running, however the docs job is left for later as right now
switching would make graphite fail with:

'TypeError: reduce() of empty sequence with no initial value'

I suspect that's because the job has never failed so far.

Change-Id: I60cab40f3c12099d8437616d8301aecd858ef54c

8 years agoStatic routes not added to qrouter namespace for DVR
Swaminathan Vasudevan [Fri, 25 Sep 2015 16:54:44 +0000 (09:54 -0700)]
Static routes not added to qrouter namespace for DVR

Today static routes are added to the SNAT namespace
for DVR routers. But they are not added to the qrouter
namespace.

Also while configuring the static routes to SNAT
namespace, the router is not checked for the existence
of the gateway.

When routes are added to a router without a gateway the
routes are only configured in the router namespace, but
when a gateway is set later, those routes have to be
populated in the snat_namespace as well.

This patch addresses the above mentioned issues.

Closes-Bug: #1499785
Closes-Bug: #1499787

Change-Id: I37e0d0d723fcc727faa09028045b776957c75a82

8 years agoPass environment variables of proxy to tox
chen-li [Wed, 13 Jan 2016 10:31:57 +0000 (18:31 +0800)]
Pass environment variables of proxy to tox

When a development environment is under a proxy, tox is failed
even if environment variables of the proxy are set. This is a
new feature above tox 2.0, you can check it from [1].

This patch fix this problem.

[1]. https://tox.readthedocs.org/en/latest/example/basic.html#passing-down-environment-variables

Change-Id: I9dae04de7053773cb5ba13a809145b86cb149614

8 years agoPecan: fix quota management
Salvatore Orlando [Fri, 18 Sep 2015 21:10:26 +0000 (14:10 -0700)]
Pecan: fix quota management

This patch fixes quota management APIs in the Pecan framework.
To this aim:

1) an ad-hoc pair of collection/item controllers are introduced
   for the quota resource; as the new controllers have been added
   in a separate module, the neutron.pecan_wsgi.controllers.utils
   module has been added as well for helpers, routines and classes
   used by all pecan controllers;
2) the quota API extension is made pecan-aware, meaning that it
   simply returns a Pecan controller instance rather than deferring
   the task to the startup process that builds controllers using the
   home-grown WSGI framework ext manager;
3) the quota resource is now "almost" a standard neutron resource;
   unfortunately since it does not yet have its own service plugin a
   special provision is made in the attribute population hook in
   order to ensure the object is loaded for allowing correct
   policy enforcement.
4) Functional tests for the quota controller have been added.

Closes-Bug: #1505843

Change-Id: I44a1fd73f678e493d5b1163e5f183d9efdc678ac

8 years agoPecan: Fixes and tests for the policy enforcement hook
Salvatore Orlando [Tue, 13 Oct 2015 22:08:47 +0000 (15:08 -0700)]
Pecan: Fixes and tests for the policy enforcement hook

As PolicyNotAuthorizedException is raised in a hook, the
ExceptionTranslationHook is not invoked for it; therefore a 500
response is returned whereas a 403 was expected. This patch
explicitly handles the exception in the hook in order to ensure
the appropriate response code is returned.

Moreover, the structure of the 'before' hook prevented checks
on DELETE requests from being performed. As a result the check
was not performed at all (checks on the 'after' hook only pertain
GET requests). This patch changes the logic of the 'before' hook
by ensuring the item to authorize acces to is loaded both on PUT
and DELETE requests.

This patch also adds functional tests specific for the policy
enforcement hook.

Change-Id: I8c76cb05568df47648cff71a107cfe701b286bb7
Closes-Bug: #1520180
Closes-Bug: #1505831

8 years agoScope get_tenant_quotas by tenant_id
Salvatore Orlando [Mon, 12 Oct 2015 22:47:03 +0000 (15:47 -0700)]
Scope get_tenant_quotas by tenant_id

Using model_query in the operation for retrieving tenant limits
will spare the need for explicit authorization check in the
quota controller. This is particularly relevant for the pecan
framework where every Neutron API call undergoes authZ checks
in the same pecan hook.

This patch will automatically adapt by eventuals changes
introducing "un-scoped" contexts.

Closes-bug: #1505406

Change-Id: I6952f5c85cd7fb0263789f768d23de3fe80b8183

8 years agoAdd 'ovs' to requirements.txt
John Schwarz [Tue, 8 Dec 2015 09:52:36 +0000 (11:52 +0200)]
Add 'ovs' to requirements.txt

It is needed by neutron/agent/ovsdb/impl_idl.py.

Closes-Bug: #1523845
Change-Id: If44b649949c686b589859fc1d4d2bb510afb64fd

8 years agoFix params order in assertEqual
Yatin Kumbhare [Wed, 13 Jan 2016 09:57:52 +0000 (15:27 +0530)]
Fix params order in assertEqual

Fix params order to correspond to real signature:
assertEqual(expected, actual)

Change-Id: I7888ca97afad663185a508002c6d9c62357e0cde
Closes-Bug: #1277104

8 years agoUse admin context when removing DVR router on vm port deletion
Oleg Bondarev [Tue, 15 Dec 2015 14:58:51 +0000 (17:58 +0300)]
Use admin context when removing DVR router on vm port deletion

In case non-admin tenant removes last VM on a shared network (owned
by admin) connected to a DVR router (also owned by admin) we need
to remove the router from the host where there are no more dvr
serviceable ports. Commit edbade486102a219810137d1c6b916e87475d477
fixed logic that determines routers that should be removed from host.
However in order to actually remove the router we also need admin
context.

This was not caught by unit tests and one reason for that is so called
'mock everything' approach which is evil and generally useless.
This patch replaces unit tests with functional tests that we able
to catch the bug.

Closes-Bug: #1424096
Change-Id: Ia6cdf2294562c2a2727350c78eeab155097e0c33

8 years agoMerge "Log INFO message when setting admin state up flag to False for OVS port"
Jenkins [Wed, 13 Jan 2016 02:52:18 +0000 (02:52 +0000)]
Merge "Log INFO message when setting admin state up flag to False for OVS port"

8 years agoMerge "Allow tox to pass more arguments to ostestr command"
Jenkins [Tue, 12 Jan 2016 22:20:09 +0000 (22:20 +0000)]
Merge "Allow tox to pass more arguments to ostestr command"

8 years agoProvide kwargs for callback abort
Paul Michali [Tue, 12 Jan 2016 21:44:47 +0000 (21:44 +0000)]
Provide kwargs for callback abort

The callback mechanism allows notifiers to provide keyword args in
the notification. If this is a create callback, and there is an
exception, then the notifier will call an abort callback.

However, currently, the keyword arguments are not provided to the
abort callback. This information could be useful for the callbacks,
and would make the mechanism consistent. This commit provides that
information.

Change-Id: I2ee0363b52f9de5fcd72905957e8f7e7796f630e

8 years agoPecan controller loads service plugins
Brandon Logan [Tue, 29 Dec 2015 08:41:48 +0000 (02:41 -0600)]
Pecan controller loads service plugins

The pecan controllers were not parsing out the case when a service
plugin is being used that changes the URI to
/v2.0/service_plugin/resource

This will check to see if the first resource after v2.0 is an
extension to a service plugin, and if it is it'll check the next
resource for a controller.

Change-Id: I9b6bd7afbbe91f1c8f0c1835b320dc41bfccff3f

8 years agoMerge "portbindings: use constants for extension keys"
Jenkins [Tue, 12 Jan 2016 19:06:20 +0000 (19:06 +0000)]
Merge "portbindings: use constants for extension keys"

8 years agoMake sure datapath_type is updated on bridges changed
Terry Wilson [Wed, 6 Jan 2016 07:19:31 +0000 (01:19 -0600)]
Make sure datapath_type is updated on bridges changed

When changing datapath_type in the config, physical and tunnel bridges
do not have their datapath_type updated. Calling create() on already
created bridges should be safe as it passes '--may-exist' when adding
the bridge, which will do nothing if the bridge already exists, but
the second part of the transaction will still update things like
datapath_type.

It should be noted that ancillary bridges (like br-ex) are not
modified by this patch as datapath_type was never applied to them to
begin with.

Incidentally, the native and vsctl versions behaved slightly
differently when handling datapath_type: vsctl builds the multi-cmd
transaction with add-br ... -- set ..., so that the second cmd would
actually complete. The native just bailed if may_exist and the bridge
existed. This is fixed as part of this patch.

Change-Id: Ib8bc817c7bc724d80193d0ca7af480a7ea103f77
Closes-Bug: 1532273

8 years agoMerge "Remove duplicate for check_ports_exist_on_l3agent"
Jenkins [Tue, 12 Jan 2016 14:10:08 +0000 (14:10 +0000)]
Merge "Remove duplicate for check_ports_exist_on_l3agent"

8 years agoLog INFO message when setting admin state up flag to False for OVS port
Hynek Mlnarik [Tue, 12 Jan 2016 08:10:25 +0000 (09:10 +0100)]
Log INFO message when setting admin state up flag to False for OVS port

Disabling admin state can cause confusion in OVS agent logs as to why
VLAN 4095 is set to a particular port. This commit adds an extra INFO
log message when admin state is disabled. There is no log emitted
upon enabling admin state as there is already a detailed log entry
logged in treat_devices_added_or_updated() function.

Change-Id: I1301db8fea75af211f66a1914d1f0b706a6d5b36
Closes-Bug: 1463891

8 years agoFix regression with unbound ports and l2pop
Assaf Muller [Tue, 12 Jan 2016 02:58:30 +0000 (21:58 -0500)]
Fix regression with unbound ports and l2pop

When l2pop is enabled and an unbound port is deleted l2pop mech
driver raises an exception as a result of patch:
https://review.openstack.org/#/c/263471/

As a result of the same patch, when an unbound port's IP
address is changed l2pop sends a fanout RPC message needlessly.

Change-Id: Ia81c03dcdf7aef9528c9c2b9527399251fa6aad7
Closes-Bug: #1533013

8 years agoMerge "remove openstack-common.conf"
Jenkins [Tue, 12 Jan 2016 11:08:39 +0000 (11:08 +0000)]
Merge "remove openstack-common.conf"

8 years agoMerge "Add README with links on how to create release notes"
Jenkins [Tue, 12 Jan 2016 10:02:51 +0000 (10:02 +0000)]
Merge "Add README with links on how to create release notes"

8 years agoL3 agent: paginate sync routers task
Oleg Bondarev [Tue, 13 Oct 2015 09:45:59 +0000 (12:45 +0300)]
L3 agent: paginate sync routers task

In case there are thousands of routers attached to thousands of
networks, sync_routers request might take a long time and lead to timeout
on agent side, so agent initiate another resync. This may lead to an endless
loop causing server overload and agent not being able to sync state.

This patch makes l3 agent first check how many routers are assigned to
it and then start to fetch routers by chunks.
Initial chunk size is set to 256 but may be decreased dynamically in case
timeouts happen while waiting response from server.

This approach allows to reduce the load on server side and to speed up
resync on agent side by starting processing right after receiving
the first chunk.

Closes-Bug: #1516260
Change-Id: Id675910c2a0b862bfb9e6f4fdaf3cd9fe337e52f

8 years agoMerge "Call _allocate_vr_id outside of transaction"
Jenkins [Tue, 12 Jan 2016 08:42:00 +0000 (08:42 +0000)]
Merge "Call _allocate_vr_id outside of transaction"

8 years agoMerge "Don't call add_ha_port inside a transaction"
Jenkins [Tue, 12 Jan 2016 08:37:06 +0000 (08:37 +0000)]
Merge "Don't call add_ha_port inside a transaction"

8 years agoMerge "Rename _get_vm_port_hostid in dvr to reflect the right functionality"
Jenkins [Tue, 12 Jan 2016 03:15:09 +0000 (03:15 +0000)]
Merge "Rename _get_vm_port_hostid in dvr to reflect the right functionality"

8 years agoMerge "Pecan: Streamline request body processing"
Jenkins [Tue, 12 Jan 2016 01:11:12 +0000 (01:11 +0000)]
Merge "Pecan: Streamline request body processing"

8 years agoMerge "Remove L2populationDbMixin parent"
Jenkins [Tue, 12 Jan 2016 00:20:24 +0000 (00:20 +0000)]
Merge "Remove L2populationDbMixin parent"

8 years agoMerge "Add unit test cases for linuxbridge agent when prevent_arp_spoofing is True"
Jenkins [Tue, 12 Jan 2016 00:20:06 +0000 (00:20 +0000)]
Merge "Add unit test cases for linuxbridge agent when prevent_arp_spoofing is True"

8 years agoMerge "Move notifications before DB retry decorator"
Jenkins [Tue, 12 Jan 2016 00:19:48 +0000 (00:19 +0000)]
Merge "Move notifications before DB retry decorator"

8 years agoMerge "make floating IP specification test robust to races"
Jenkins [Mon, 11 Jan 2016 23:58:49 +0000 (23:58 +0000)]
Merge "make floating IP specification test robust to races"

8 years agoMerge "Make neutron-debug command follow cliff command convention"
Jenkins [Mon, 11 Jan 2016 23:26:54 +0000 (23:26 +0000)]
Merge "Make neutron-debug command follow cliff command convention"

8 years agoMerge "ML2: Simplified boolean variable check"
Jenkins [Mon, 11 Jan 2016 23:26:34 +0000 (23:26 +0000)]
Merge "ML2: Simplified boolean variable check"

8 years agoMerge "Remove unnecessary argument in limit manage"
Jenkins [Mon, 11 Jan 2016 21:53:14 +0000 (21:53 +0000)]
Merge "Remove unnecessary argument in limit manage"

8 years agoMerge "Add a link of availability zone document into releasenote"
Jenkins [Mon, 11 Jan 2016 21:35:30 +0000 (21:35 +0000)]
Merge "Add a link of availability zone document into releasenote"

8 years agoRemove duplicate for check_ports_exist_on_l3agent
Oleg Bondarev [Wed, 9 Dec 2015 14:58:14 +0000 (17:58 +0300)]
Remove duplicate for check_ports_exist_on_l3agent

This removes check_ports_on_host_and_subnet which mostly duplicates what
check_ports_exist_on_l3agent is doing.
Also rename check_ports_exist_on_l3agent to check_dvr_serviceable_ports_on_host
for more clarity.

Closes-Bug: #1524291
Change-Id: Ie02c68279c2bbafffc7be4d9a81fe25a0e983d58

8 years agoMerge "Ensure that decomposed plugins do not break"
Jenkins [Mon, 11 Jan 2016 14:41:20 +0000 (14:41 +0000)]
Merge "Ensure that decomposed plugins do not break"

8 years agoMerge "Fix Security-rule's port should not set to 0 when Protocol is TCP/UDP"
Jenkins [Mon, 11 Jan 2016 14:40:54 +0000 (14:40 +0000)]
Merge "Fix Security-rule's port should not set to 0 when Protocol is TCP/UDP"

8 years agoMerge "DVR: optimize check_ports_exist_on_l3_agent()"
Jenkins [Mon, 11 Jan 2016 14:34:15 +0000 (14:34 +0000)]
Merge "DVR: optimize check_ports_exist_on_l3_agent()"

8 years agoMerge "Remove check on dhcp enabled subnets while scheduling dvr"
Jenkins [Mon, 11 Jan 2016 14:31:54 +0000 (14:31 +0000)]
Merge "Remove check on dhcp enabled subnets while scheduling dvr"

8 years agoML2: Simplified boolean variable check
Ravi Shekhar Jethani [Thu, 19 Nov 2015 10:02:31 +0000 (02:02 -0800)]
ML2: Simplified boolean variable check

Currently 'flows' is being checked for empty list in
a non standard way 'if flows == []:'. This patch
simplifies logic so that above check is unnecessary.

TrivialFix

Change-Id: I0eac42e425213b6588090e7e2379b14446308361