Kyle Mestery [Thu, 29 Oct 2015 01:00:24 +0000 (10:00 +0900)]
Add notes about stable merge requirements for sub-projects
It was pointed out the requirements around what is allowed to be merged
into stable Neutron sub-projects wasn't clear. This attempts to make
that a bit more refined so those who choose to participate in the Neutron
Stadium know these requirements.
Ryan Moats [Wed, 28 Oct 2015 16:01:28 +0000 (11:01 -0500)]
Log end of router updates for PD and delete branches
These execution branches call continue directly without
logging the end of the router update. This leads to
confusion about when the last router update finishes if
it is a delete or a PD update.
Change-Id: Id82e7374aa9336e0adea3042238f30f716208373 Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
Closes-bug: #1511004
John Schwarz [Mon, 12 Oct 2015 13:54:17 +0000 (16:54 +0300)]
Support migrating of legacy routers to HA and back
This patch adds support for migration of legacy routers to HA and
vice-versa. This patch also:
1. Reverts I4171ab481e3943e0110bd9a300d965bbebe44871, which was used to
disable such migrations until support was inserted to the codebase.
2. Adds an exception to indicate that such migrations are only available
on routers that have their admin_state_up set to False.
Closes-Bug: #1365426
DocImpact (Handled in patch 233695)
Change-Id: Ie92f8033f47e1bf9ba6310373b3bfc9833317580
Paul Ward [Thu, 24 Sep 2015 19:52:28 +0000 (14:52 -0500)]
Better tolerate deleted OVS ports in OVS agent
This change will not force a resync in the case where a virtual machine is
deleted, and therefore its OVS port deleted, in between the time an RPC
call was made to get the devices and where we make the call to correlate
those devices to vif ports.
John Schwarz [Thu, 15 Oct 2015 14:34:01 +0000 (17:34 +0300)]
get_device_by_ip: don't fail if device was deleted
The function gets a list of all the devices that exists on the machine,
and then iterates on them one at a time in order to find the correct
device which holds the ip specified. However, if one of the devices was
in the mean time deleted, the code will raise an Exception. In the ovs
agent's case, this will cause it to not run at all (requiring a
restart).
Also, changes to a few tests of LinuxBridge were made because
linuxbridge doesn't check that cfg.CONF.VXLAN.local_ip is not empty
before using it (a bug, surely). Since it's out of scope of this patch
to fix this, workarounds were implemented to make sure the tests ignore
the option instead.
YAMAMOTO Takashi [Wed, 21 Oct 2015 04:54:06 +0000 (13:54 +0900)]
Fix _restore_local_vlan_map race
Local vlan mappings provisioned by _restore_local_vlan_map
might not be cleaned up properly if the corresponding ports are
removed before we enter the main loop.
This commit fixes the problem by making _restore_local_vlan_map
just record local vlan IDs and leave the rest of provisioning logic
to the main loop.
By returning the need for binding, the (no-op) port processing
is skipped in the main sync loop. In fact, the port is already
detected as deleted and avoiding going over it again will save
us one log message, and thus many, many, many, many bytes over
time in logs.openstack.org.
Kyle Mestery [Wed, 21 Oct 2015 17:43:58 +0000 (17:43 +0000)]
Clarify what gerrit repositories can target neutron-specs
It wasn't made clear by the existing documentation that we only want
neutron, neutron-fwaas, neutron-lbaas, and neutron-vpnaas repositories
to target specs at neutron-specs. This makes it 100% crystal clear.
Eugene Nikanorov [Mon, 12 Oct 2015 12:21:02 +0000 (16:21 +0400)]
Spawn dedicated rpc workers for state reports queue
By default spawn one additional rpc worker to process
state report queue.
State report queue will also be processed by regular
rpc workers, but in case these workers are busy with
processing heavy requests, state reports queue will
automatically be consumed by dedicated rpc workers.
This change applies to ML2 plugin only.
Other plugins should implement start_rpc_state_reports_listener
to enable additional rpc workers.
Assaf Muller [Tue, 20 Oct 2015 21:42:57 +0000 (17:42 -0400)]
Fix l2pop regression
Patch https://review.openstack.org/#/c/236970/ introduced an issue
where get_agent_by_host can return a random host (Including L3,
DHCP or metadata agents), not only L2 agents. The caller then
tries to get tunneling_ip, which might not exist on the returned
agent, causing l2pop code to bail out with a WARNING:
'Unable to retrieve the agent ip...'.
The issue was found by manual introspection of the code, and
verified by modifying the l2pop fullstack test to register L3
agents. Both a unit test was added, as well as modifying the
fullstack connectivity test to register L3 agents if l2pop
is enabled.
The code will now check for agents with a tunneling_ip key
in their configurations dict, which is required for l2pop
to work correctly, essentially a form of duck typing.
John Schwarz [Mon, 12 Oct 2015 12:53:49 +0000 (15:53 +0300)]
Don't remove ip addresses if not master
When setting --admin-state-up=False on an HA router with a gateway set,
standby nodes don't have any ip addresses set on the devices (although
the devices themselves are present). In such cases, Neutron should not
try to un-set those ip addresses before deleting the device itself.
Jakub Libosvar [Tue, 13 Oct 2015 11:18:56 +0000 (13:18 +0200)]
Include alembic versions directory to the package
If package is built without access to git metadata, all the migration
scripts are not included in the build. We need to explicitly specify to
package the scripts.
The project has been removed in I8def7fc2e92f967785b9ab05f8496de641e8f866
and it's been retired from stackforge [1]. So it's safe to remove it from
the list with the remaining bits.
Remove the port-forwarding sub-project from the list
This project is no longer maintained, there are newer talks
going on to better support the use case [1], possibly in
tree. To this aim, it's safe to remove this project from
the list.
Set security group provider rule for icmpv6 RA in DVR
Security group provider rules for RA is set for the VM ports
when a router interface is added or updated after the VM
instance is created.
In the case of DVR Routers the security group provider rule
to allow the RA packets to flow through the VM port input
chain was missing and so the VM was not able to get a
SLAAC/DHCP address when associated with a DVR Router.
This fix will add the security group rule to the VM port input
chain to allow the RA packets to flow into the VM and hence
the VM will obtain an IP address assigned by the Router.
Thomas Herve [Tue, 20 Oct 2015 13:42:59 +0000 (15:42 +0200)]
Properly handle segmentation_id in OVS agent
The segmentation_id of a OVS VLAN can be None, but a recent change
assumed that it was always an integer. It highlighted the fact that we
try to store None in the OVS database, which got stored as a string.
This fixes the storage, and handles loading the value while keeping
compatibility.
Ihar Hrachyshka [Tue, 13 Oct 2015 16:11:29 +0000 (18:11 +0200)]
ovs: remove several unneeded object attributes from setup_rpc()
It's currently not clear what the interactions and interdependencies
between existing attributes set inside setup_rpc() and other code are.
This complicates its perception. So reduce the complexity a bit by using
local variables instead of object attributes where applies; and moving
agent_id calculation out of setup_rpc() since it's not related to AMQP.
Brian Haley [Fri, 16 Oct 2015 22:02:16 +0000 (18:02 -0400)]
Set ip_nonlocal_bind in namespace if it exists
Somewhere in the 3.19 kernel timeframe ip_nonlocal_bind was
changed to be a per-namespace attribute. To be backwards
compatible we need to try that first, then fall-back to
setting the one in the root namespace if it fails.
Romil Gupta [Mon, 19 Oct 2015 13:17:04 +0000 (06:17 -0700)]
Remove SUPPORTED_AGENT_TYPES for l2pop
In a world where agents can be out of tree,
this check seems no longer necessary.
As part of networking-vsphere project which runs ovsvapp agent
on each ESXi host inside service VM, which talk to neutron-server
having l2pop enabled in a multi-hypervisor mode like KVM, ESXi.
The tunnels are not getting established between KVM compute node
and ESXi host. The l2pop mech_driver needs to embrace ovsvapp agent
to form the tunnels.
Hence, this patch-set addresses the issue by removing the
SUPPORTED_AGENT_TYPES for l2pop.