The reverted patch incorrectly ties with Keystone and should have never been
approved since the approved version only partially addressed review concerns.
This revert also ensure migration timeline integrity.
shihanzhang [Mon, 4 Aug 2014 08:44:31 +0000 (16:44 +0800)]
Refactor security group rpc call
Refactor rpc call of 'security_group_rules_for_devices' into
'security_group_info_for_devices' to reduce the response
message size and server side processing time. Includes
agent-side auto detection of rpc version, and fall back
to the old one.
Change-Id: If19be8579ca734a899cdd673c919eee8165aaa0e
Implements: blueprint security-group-rules-for-devices-rpc-call-refactor
DocImpact Co-Authored-By: Miguel Angel Ajo <mangelajo@redhat.com>
when an interface is added to a router with gateway, the method
internal_network_added(..) incorrectly configures the IP address
of the new snat interface same as the IP address of the new
subnet interface.
YAMAMOTO Takashi [Thu, 14 Aug 2014 03:06:53 +0000 (12:06 +0900)]
ofagent: Enable local arp responder for TYPE_FLAT
handling TYPE_FLAT is particularly useful because,
as stated in README, a flat provider network is
the recommended way to provide public network connectivity
for ofagent.
Miguel Angel Ajo [Mon, 18 Aug 2014 10:59:32 +0000 (12:59 +0200)]
Implements ProcessMonitor to watch over external processes
This class takes care of all the spawned external processes,
taking the administrator configured action in the case of any
of the external processes die unexpectedly.
Kevin Benton [Mon, 1 Sep 2014 20:03:27 +0000 (13:03 -0700)]
Prevent SystemExits when running tests
Adds a check for SystemExit exceptions during tests
to convert them into a test failure rather than an exit.
Includes the traceback in the failure so the source of
the exit can be located.
Kevin Benton [Tue, 12 Aug 2014 21:04:24 +0000 (14:04 -0700)]
Big Switch: Separate L3 functions into L3 service
Separate the L3 functions from the core Big Switch
plugin into an L3 service plugin. This is will allow
the L3 functions to be used in ML2 deployments that
use the Big Switch ML2 driver.
John Schwarz [Tue, 26 Aug 2014 08:43:11 +0000 (11:43 +0300)]
Don't spawn metadata-proxy for non-isolated nets
If the configuation option "enable_isolated_metadata = True" for the
DHCP agent is set, the neutron-ns-metadata-proxy process is spawned
for all networks, regardless if they are isolated or not. In case
the network is not isolated (ie. connected to a neutron router), the
L3 agent also spawns a proxy process, and the DHCP's proxy is left
unused. This patch adds a check prior to the spawning of new proxies:
if a network is not isolated, no proxy is spawned.
Currently "tunnel_types" is used for two different purposes; l2pop and
check_segment_for_agent. This commit introduces a new agent
configuration "l2pop_network_types" to allow overriding the former.
This will be used by ofagent, which wants l2pop info for TYPE_VLAN
as well.
Robert Kukura [Mon, 1 Sep 2014 11:27:10 +0000 (07:27 -0400)]
ML2: Fix release of network segments to allocation pools
The recent merge of https://review.openstack.org/#/c/115025/ broke the
release of network segments to allocation pools on network delete,
resulting in network creates eventually failing with
NoNetworkAvailable exceptions. The network_delete() code is rearranged
to properly release the network segments, and a unit test is updated
to verify that the type drivers' release_segment() method is called.
This fixes UT failures on systems without the procfs entry
by adding appropriate mocking. The problem introduced by
the following change:
https://review.openstack.org/#/c/116826/
commit 0c963f6140237d8d3f361c6aaa7d2a6b656504db
Also, add a test for the case which the change in question fixed.
Angus Lees [Thu, 28 Aug 2014 07:26:01 +0000 (17:26 +1000)]
Remove chain for correct router during update_routers()
The existing code incorrectly used the stale value from a previous list
comprehension - and deleted the chains for the wrong router :(
(Found via pylint)
Also: change to using a set() rather than a list(), since it is used for
repeated membership tests.
Also: refactor test cases to remove test case duplication.
YAMAMOTO Takashi [Mon, 11 Aug 2014 00:02:22 +0000 (09:02 +0900)]
ofagent: Enable local arp responder for local VMs
Because ofagent makes every arp requests packet-in and
perform packet-out anyway, just make it respond arp requests
for local VMs. It would be simpler and more effective than
forwarding requests to the network as it did before this change.
Before this change:
request: src VM -> switch -> controller -> switch -> target VM
reply: target VM -> switch -> src VM
After this change:
request: src VM -> switch -> controller
reply: controller -> switch -> src VM
As a bonus, now we can test l2pop and local arp responder with
a single node setup, at least for some extents.
Highlights:
- Deprecate br-tun.
- Reduce the use of OFPP_NORMAL action. Use mac address info
obtained from get_device_details and l2-pop to reduce flooding.
- Use OpenFlow metadata instead of "internal" VLANs.
Now tenant networks are VLAN transparent.
Assaf Muller [Tue, 5 Aug 2014 20:47:18 +0000 (23:47 +0300)]
Introduces a keepalived manager for HA
This patch introduces a keepalived manager
which will be used for the blueprint
blueprint l3-high-availability.
The manager can create a keepalived.conf compliant configuration,
start, stop and restart the service, as well as create keepalived
notification scripts.
The current ML2 plugin supports only extensions defined in the plugin and it
does not support any extensions in the mechanism drivers. The changes in this
commit allows mechanism drivers to define new extensions.
Nader Lahouti [Sat, 28 Jun 2014 01:09:19 +0000 (18:09 -0700)]
Cisco DFA ML2 Mechanism Driver
Part 1:
This commit contains changes to support ML2 mechanism driver for Cisco
DFA. For more details please see the blueprint which has more description and
link to document with requirements.
Part 2: Changes in OVS neutron agent.
(http://review.openstack.org/110065)
Part 3: DFA extension driver.
(http://review.openstack.org/111761)
Part 4: DFA config profile service plugin.
(http://review.openstack.org/111863)
Andreas Jaeger [Sat, 30 Aug 2014 19:30:24 +0000 (21:30 +0200)]
Improve some plugins help strings
For consistency add a "." everywhere, remove an extra space at end of a
string, add missing space between strings, fix descriptions and
capitalization.
Akihiro Motoki [Tue, 19 Aug 2014 15:54:30 +0000 (00:54 +0900)]
Provide a quick way to run flake8
"run_tests.sh -p" always checks every file for errors even though you
have probably only changed a handful. This patch adds "run_tests.sh -8"
which only checks the files that were modified in the HEAD commit or
in the current working tree.
It is borrowed from the recent nova commit b011325cc6.
The related ML post is:
http://lists.openstack.org/pipermail/openstack-dev/2014-August/043346.html
Akihiro Motoki [Sat, 23 Aug 2014 09:16:18 +0000 (18:16 +0900)]
Make SecurityGroupsRpcCallback a separate callback class
RPC has a version of itself. In Neutron a plugin implements
several RPC interface, so a single RPC version doesn't work.
In Mixin callback class approach, RPC versioning depends on
each plugin implementation and it makes harder to maintain
RPC version appropriately. This patch series replaces mixin
RPC callback of server side with a separate class.
This commit handles server-side callback of security group
RPC interface.
* The server-side callback of Security group RPC is moved to
api/rpc/handler and db/securitygroups_rpc_base now only
contains a mixin class to add agent-based security group
implementation with db operations.
* get_port_from_device method in server-side callback class
is moved to a mixin class of plugin implementation
(SecurityGroupServerRpcMixin) because it involves DB lookup
and is tightly coupled with plugin implementation rather
than RPC interface definition.
Most unit tests for SGServerRpcCallBackTestCase were skipped
in the base class before, but now they are no longer skipped.
The following items will be planned in later patches
to avoid drastic changes in a single patch.
* Merge security group RPC API and agent callback classes in
agent/securitygroups_rpc into api/rpc/handlers/securitygroup_rpc
* Remove completely duplicated db access code in get_port_from_device
and get_port_and_sgs
Adding mechanism driver in ML2 plugin for Nuage Networks
This patchset introduces basic ml2 driver for nuage.
In Juno release, mechanism driver will support basic
L2 functionality as a stepping stone to enhance
it in later releases.
Assaf Muller [Fri, 29 Aug 2014 11:44:10 +0000 (14:44 +0300)]
Fix state_path in tests
cfg.CONF.state_path is set to a random temporary directory
in neutron.tests.base:BaseTestCase.setUp. This value was then
over written in neutron.tests.unit.__init__. Tests that need
to read or pass cfg.CONF.state_path were getting the directory
from which the tests were running and not the temporary directory
specially created for the current test run. Note that the usage
of state_path to set lock_path, dhcp state path and the likes
was working as expected, and was not affected by this bug.
In order to insert the HA related code into the L3
agent, as part of blueprint l3-high-availability,
it's important to add functional tests for the L3 agent.
The L3 HA patch will use the framework provided here
to implement additional HA specific tests.
Prasoon Telang [Fri, 29 Aug 2014 13:55:35 +0000 (19:25 +0530)]
remove explicit include of the ovs plugin
On installing only neutron-linuxbridge-agent package, the
dhcp cannot start successfully because of the imports from
ovs plugin. This change removes the explicit include of the
ovs plugin from ovs_lib.py. INVALID_OFPORT has been moved to
ovs_lib.py while VXLAN_UDP_PORT has moved to
plugins/common/constants.py. The imports for these 2 constants
in files which uses it has been corrected to new location.