This patch simply ensures a 405 error is returned when a HTTP
method different from GET is invoked on '/'.
This differs from the eventlet WSGI server behaviour; however
returning the same response as for a GET for any method, even
made up ones - like 'meh' - is a mistake that should not be
repeated in the Pecan WSGI server.
Kevin Benton [Mon, 31 Aug 2015 17:22:50 +0000 (10:22 -0700)]
Rename 'newapi' to 'pecan_wsgi'
'newapi' was too generic and not really descriptive of the conversion
to pecan. Since there isn't any ambiguity, we will just keep all of
the pecan components in a directory called 'pecan_wsgi'.
Catch errors on 'port not found' while deleting subnet
In some circumstances (like the one triggered by the test_dhcp_ipv6 testcase)
calls to deleting a port and calls to deleting subnets can happen in straight
sequence.
If this happens the execution of the operations can interleave leading
to the subnet deletion to fail because the port has already gone. This patch
ensures a missing port is handled correctly.
The method delete_subnet is ginormous and hence impossible to test at a unit
level without proper refactoring. That can happen with a follow-up patch.
Pavel Bondar [Fri, 24 Jul 2015 08:50:26 +0000 (11:50 +0300)]
Enable py34 tests for pluggable ipam backend
Enable neutron.tests.unit.db.test_ipam_pluggable_backend.
It was disabled after extending ipam tests to run db_base_plugin tests,
which are not py34 compatible yet.
sridhargaddam [Thu, 27 Aug 2015 09:49:28 +0000 (09:49 +0000)]
Fix import path in neutron-sanity-check for ml2_sriov opts
neutron-sanity-check fails while importing ml2_sriov
configuration. This patch fixes the import path and
also includes a unit test to avoid such issues.
Decentralize the managemement of service providers
After the service split, some of the configuration, parsing and
validation was kept in the neutron core; ultimately this needs to
get closer to the services where it belongs.
This patch starts from ProviderConfiguration and ServiceTypeManager
classes, and aims at removing the hard-coded elements, like the list
of known advanced services, so that in the long run we can make
Neutron easier to plug with external services.
Cedric Brandily [Mon, 31 Aug 2015 14:40:14 +0000 (16:40 +0200)]
Correct neutron-ns-metadata-proxy command when watch_log is False
Neutron[1] uses the option --metadata_proxy_watch_log=false to disable
log watch[2] in neutron-ns-metadata-proxy instances but should use the
option --nometadata_proxy_watch_log. It implies that
neutron-ns-metadata-proxy instances fail to start.
This changes updates neutron[1] to use the correct option.
The change also corrects associated functional tests[2], indeed
metadata_proxy_watch_log option has no effect if a log_file/dir is
defined for the agent running the neutron-ns-metadata-proxy.
[1] neutron.agent.common.config
[2] could be done by setting metadata_proxy_watch_log = false
[3] neutron.tests.functional.agent.test_l3_agent
Dictionaries are unorderable in py3K. This change defines the method
safe_sort_key[1] which could be used a sort function for list of
dictionaries and non-dictionaries.
Return a list of currently enabled API versions building
the response in the same way as it is done for the eventlet
WSGI API in order to ensure backward compatibility.
The only version listed is obviously 2.0, but the solution
devised in this patch allows version controller for self
declaring the version they implement.
This patch also replaces the use of _lookup when such method
is not strictly necessary.
To this aim, the minimum version of Pecan has been bumped to
1.0 as previouse releases did not support dots "." as valid
characters in URI path segments.
This patch ensures that operations like add_router_interface
are correctly dispatched to the plugin.
It does so by introducing fairly ugly hacks in the
resource_identifier, and attribute_population pecan hooks.
This is however the best possible solution wiht the current
infrastructure which basically relies on hooks for request
dispatching.
Kevin Benton [Mon, 31 Aug 2015 02:15:27 +0000 (19:15 -0700)]
Fix usage of netaddr '.broadcast'
netaddr 0.7.16 changed the behavior of IPNetworks with /31 and /32
prefixes to make their 'broadcast' attribute return None. This patch
replaces the use of the attribute with a -1 index lookup to get the
last address instead.
Adelina Tuvenie [Thu, 27 Aug 2015 09:27:28 +0000 (02:27 -0700)]
Fixes wrong neutron Hyper-V Agent name in constants
Change Id03fb147e11541be309c1cd22ce27e70fadc28b5 moved the
AGENT_TYPE_HYPERV constant from common.constants to
plugins.ml2.drivers.hyperv.constants but change the value of the
constant from 'HyperV agent' to 'hyperv'. This patch changes
the name back to 'HyperV agent'
This implementation may expose a vulnerability where a malicious
user can sieze the opportunity of a time window where a port
may land unaddressed on a shared network, thus allowing him/her
to suck up all the tenant traffic he/she wants....oh the shivers.
Assaf Muller [Wed, 26 Aug 2015 14:07:03 +0000 (10:07 -0400)]
Remove ml2 resource extension success logging
This is the cause of a tremendous amount of logs, for no
perceivable gain. A normal dvr run in the gate shows this debug
message around 120K times, which is way too much.
ajmiller [Tue, 25 Aug 2015 04:04:02 +0000 (21:04 -0700)]
Add optional file permission argument to replace_file()
The replace_file() utility function currently sets the mode of all files
it creates to 0o644. This is not appropriate for all files. This patch
adds an optional "file_mode" argument to the function.
Eugene Nikanorov [Thu, 27 Aug 2015 12:34:32 +0000 (16:34 +0400)]
Add flows to tunnel bridge with proper cookie.
Without that fix flows applied to br-tun through
DeferredOVSBridge are created without cookie.
That results in l2pop flows being deleted in the process of
cleanup of stale flows.
Solution is to add cookie to all add/mod-flows of OVSBrigde
class in the method do_action_flows.
Also, agent_uuid_stamp moved to a proper place - into the
base OVSBridge class as storing attributes in Mixing was
just a wrong code design.
gong yong sheng [Tue, 25 Aug 2015 08:21:39 +0000 (16:21 +0800)]
Add policy and policy rule belongs check
before updating and deletion of a qos rule under a policy,
we check if the qos is binding to the policy to avoid users
operating on policy rules binding to other policy.