The register_model_query_hook and _apply_dict_extend_functions methods
from CommonDbMixin is not being used by consumers today. This patch
removes them and updates any doc references as well.
NeutronLibImpact
Change-Id: I3e72d7f33f5a7b0c9c023295302929410f94eefb
This patch switches over to the payload style of callbacks for SEGMENT
BEFORE_DELETE events. It does so by using the publish callback function
with DBEventPayload payloads. Corresponding listener callbacks are
updated where necessary.
NeutronLibImpact
Change-Id: I64031129ad458d4468a316a9385288ced091d333
AsyncProcess.stop() method has now additional parameter
kill_timeout. If this is set to some value different than
None, eventlet.green.subprocess.Popen.wait() will be called
with this timeout, so TimeoutExpired exception will be raised
in case if process will not be killed for this "kill_timeout"
time.
In such case process will be killed "again" with SIGKILL signal
to make sure that it is gone.
This should fix problem with failing fullstack tests, when
ovs_agent process is sometimes not killed and test timeout was
reached in this wait() method.
Change-Id: I1e12255e5e142c395adf4e67be9d9da0f7a3d4fd
Closes-Bug: #1798472
According with the ML thread [0] it was decided during the PTG in
Denver that Stadium projects are now allowed to add a non-voting job to
Neutron's check pipeling.
This patch is then adding a tempest job for the networking-ovn project.
[0]
http://lists.openstack.org/pipermail/openstack-dev/2018-September/135273.html
Depends-On: I49a644631365465ba4fbe2ca864dfa3d018c4b56
Change-Id: I4b7e7677b0f161048b7350cd491aba9e72d6b1d0
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
With DVR routers, if a port is associated with a FloatingIP,
before it is used by a VM, the FloatingIP will be initially
started at the Network Node SNAT Namespace, since the port
is not bound to any host.
Then when the port is attached to a VM, the port gets its
host binding, and then the FloatingIP setup should be migrated
to the Compute host and the original FloatingIP in the Network
Node SNAT Namespace should be cleared.
But the original FloatingIP setup in SNAT Namespace was not
cleared by the agent.
This patch addresses the issue.
Change-Id: I55a16bcc0020087aa1abe76f5bc85cd64ccdaecd
Closes-Bug: #1796491
In the Neutron CI meeting on 2018-10-02 [1] we decided on the proper
approach for fullstack testing of Neutron in Zuul. The approach is:
1. There should be only one fullstack CI job, named "neutron-fullstack"
2. The neutron-fullstack job should invoke python3 in tox.ini
This change implements the agreed-upon approach.
Switching the nodeset to newer OS will be handled in a separate step
[1] http://eavesdrop.openstack.org/meetings/neutron_ci/2018/neutron_ci.2018-10-02-16.00.html
Co-Authored-By: Nate Johnston <nate.johnston@redhat.com>
Change-Id: I37c1cb42b3a94532e7b7fea21a929a39fe63f00b
If directly change router gateway port IP address, the gateway IP
does not changed in router related namespace in l3 agent side. This
patch adds a method to catch a 'PORT' IP change event, and notify
the L3 agent.
Closes-Bug: #1795222
Change-Id: If276a7613c156f8c826967c9c8cbd6f2a8d32674
Patch [1] removed import of neutron.db.api module in
neutron.common.utils.
This cause some issues e.g. in networking-ovn projects because
listeners:
@event.listens_for(orm.session.Session, "persistent_to_deleted")
on _persistent_to_deleted() function [2] and
@event.listens_for(model_base.BASEV2, "attribute_instrument", propagate=True)
on _listen_for_changes() function [3]
aren't created as they where before.
This patch adds import of this neutron.db.api module again just to
ensure that those listeners are created properly.
[1] https://review.openstack.org/#/c/614252/
[2] https://github.com/openstack/neutron/blob/master/neutron/db/api.py#L110
[3] https://github.com/openstack/neutron/blob/master/neutron/db/api.py#L134
Closes-Bug: #1802369
Change-Id: I3e427ee5c904c34115aaf1afa67e1109ea58d603
For dvr scenario, if port has a bound floating, and then create
port forwarding to it, this port forwarding will not work, due to
the traffic is redirected to dvr rules.
This patch restricts such API request, if user try to create port
forwarding to a port, check if it has bound floating IP first.
This will be run for all type of routers, since neutron should
not let user to waste public IP address on a port which already
has a floating IP, it can take care all the procotol port
numbers.
Closes-Bug: #1799137
Change-Id: I4ba4b023d79185f8d478d60ce16417d3501bf785
This is a mechanically generated patch to add a unit test job running
under Python 3.6 as part of the python3-first goal.
See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html
Change-Id: I08e6b9fb4223569c3db04b54137d9092062c22ea
The bulk port creation scenario requires the ability to generate
multiple MAC addresses for the bulk added ports. This change leverages
the code added in [1] to make bulk MAC creation available.
[1] https://review.openstack.org/510830
Implements: blueprint speed-up-neutron-bulk-creation
Depends-On: https://review.openstack.org/613149
Change-Id: Ia769dadf69781ba511a19c52998949b668963a19
This patch changed the old engine facade to new engine
fade in neutron/db/agents_db.py.
Partially-Implements blueprint: enginefacade-switch
Change-Id: Iee6fbee98fae41d75b4e8eb0fbcf2283da545023
If the host OS is using an older kernel and invoke the compile_ovs
function from the DevStack OVS library (devstack/lib/ovs), that function
will try to install the kernel-dev and kernel-headers package even if
the "build_modules" parameter is set to False.
That could fail because the specific kernel-* packages for the version
of the kernel running may not be present in the distro's repository
anymore. Plus, if the kernel modules will not be compiled, there's no
reason to install such packages.
This patch is fixing this problem by using the "build_modules" parameter
as a flag to whether install or not those kernel-* packages.
Change-Id: I11af0e22d25973e6334e867ab2659fbdf9f10d86
Closes-Bug: #1802101
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>