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.
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.
Miguel Angel Ajo [Fri, 28 Aug 2015 05:49:28 +0000 (07:49 +0200)]
Stops patching an object method which could be gone at cleanup
Stop patching the qos plugin 'notification_driver_manager' method
and instead substitute for a mock since it's destroyed and reloaded
on every test run.
Neutron doesn't have a way to test a newly added network node
by deploying test resource before any customer resource on the node
is deployed. Nova and Cinder has the setting of “enable_new_services”
in each conf to disable the initial service status to achieve this.
This proposal adds enable_new_agents config.
Aaron Rosen [Tue, 5 May 2015 21:35:08 +0000 (14:35 -0700)]
Add Geneve type driver support to ML2
More information about Geneve protocol can be found here:
https://tools.ietf.org/pdf/draft-gross-geneve-02.pdf
Following configuration variables were added:
[ml2_type_geneve]
vni_ranges - Comma-separated list of <vni_min>:<vni_max> tuples
enumerating ranges of Geneve VNI IDs that are
available for tenant network allocation
max_header_size - Geneve encapsulation header size is dynamic, this
value is used to calculate the maximum MTU for the driver
this is the sum of the sizes of the outer
ETH + IP + UDP + GENEVE header sizes
John Davidge [Thu, 13 Aug 2015 22:08:47 +0000 (23:08 +0100)]
Fix DBDuplicateEntry when creating port with fixed_ips on PD subnet
Creating a port on a prefix delegation enabled subnet with a fixed ip
list containing only the subnet id will cause a DBDuplicateEntry error.
This is because the subnet is not treated as an ipv6 auto address subnet
as it should be by _test_fixed_ips_for_port in ipam_non_pluggable_backend.py
All IPV6 PD subnets are auto address subnets, so the additional check was
unnecessary and incorrect in this case.
This patch changes the condition for appending the subnet id to the
fixed_ip_set so that PD subnets are treated the same as auto address
subnets. Also includes a unit test to catch this failure.
Assaf Muller [Wed, 26 Aug 2015 20:27:37 +0000 (16:27 -0400)]
Fix py34 No sql_connection parameter is established error
Tests that were using DB connections that did not happen to
import config.py were not setting the DB connection string.
The base test class now sets the string instead of relying
on an import to happen.
Since Ib65c41fc5f137eedb21fccfcee1e96b6990ae30d removes the local
jenkins slave script copy of subunit2html we must start using the
version packaged in os-testr.
Neil Jerram [Mon, 27 Jul 2015 13:26:59 +0000 (14:26 +0100)]
DHCP agent: add 'bridged' property to interface driver
This allows a custom interface driver to use the reference DHCP agent
to provide DHCP service to unbridged TAP interfaces, by overriding the
definition of the property as follows.
Moshe Levi [Tue, 18 Aug 2015 20:10:05 +0000 (23:10 +0300)]
SR-IOV: deprecate agent_required option
When SR-IOV introduce in Juno Agent supported only link state change
Some Intel cards don't support setting link state, so to
resolve it the SR-IOV mech driver supports agent and agent less mode.
From Liberty the SR-IOV agent brings more functionality like
qos and port security so we want to make the agent mandatory.
(of course I already talked with Intel Guys to get their approval)
This patch deprecates the agent_required in Liberty
and updates the agent_required default to be True.
Nick [Tue, 25 Aug 2015 02:47:12 +0000 (10:47 +0800)]
Make delete-vlan-bridge and delete-vlan functions clear
Change delete_vlan_bridge function name to reflect that it doesn't
only work with vlans but also for example with vxlan, the same with
delete_vlan function.
This refactor work is needed to make the code clear.
Clark Boylan [Tue, 25 Aug 2015 17:58:57 +0000 (10:58 -0700)]
Run py34 tests with testr
This doesn't use os-testr but it results in html reports built from
the subunit logs.
A note from amuller: tox -e py27 uses ostestr. The primary difference
between testr and ostestr (For my money) is that ostestr spits out
progression. After a conversation with mtreinish (The author of ostestr)
it doesn't seem to be possible to use tox with ostestr for our py34
tests because we use a long regex that is split on newlines. ostestr
supports the --regex flag as such (regex_a|regex_b), however it's not
possible to use that with newlines and to play nice with tox.
Since I think that we do want to use ostestr (Just like the py27 venv),
I'll work with mtreinish to introduce a white list regex file in to
ostestr. The file will be maintained in the repo and passed in to
ostestr via tox.
Carl Baldwin [Tue, 25 Aug 2015 20:51:16 +0000 (20:51 +0000)]
Make a couple of methods private
I was just going over this class trying to understand what methods
really are used outside of the class. I found that these two are not.
I thought I'd submit a quick patch to mark them "private".
Oleg Bondarev [Tue, 18 Aug 2015 09:48:41 +0000 (12:48 +0300)]
Validate router admin_state_up on upgrade to distributed
For proper upgrade of centralized router to distributed the router
needs to be disabled (admin_state_up set to false).
The patch adds corresponding validation.