It may happen that L3 agent works in dvr_snat mode but
it handles some router as "normal" dvr router because
snat for this router is handled on other node.
In such case we shouldn't try to get floating IPs cidrs
from snat namespace as it doesn't exists on host.
Change-Id: Ib27dc223fcca56030ebb528625cc927fc60553e1
Related-Bug: #1717302
The ovs cleanup script fails to run on Windows due to an import
error. The linux utils module will always get imported, which uses
platform specific modules.
Since only a constant is used from this module, the import can
easily be removed, fixing this issue.
Change-Id: I0cf7b629dc5d374d2066346276f73a12e4d03973
Closes-Bug: #1804180
Some functional tests clases didn't inherit from
neutron.tests.functional.base.BaseLoggingTestCase class
and because of that there was no logs from such tests
in DEFAULT_LOG_DIR.
This patch changes it and logs should be available for all
functional tests.
TrivialFix
Change-Id: Ia71390afe9c8191179c626375ed683f242d35b3e
Patch [1] added handling of AgentNotFoundByTypeHost exception in
create_fip_agent_gw_port_if_not_exists method in
neutron.db.l3_dvr_db.DVRResourceOperationHandler class.
Unfortunatelly there was mistake there and such exception wasn't
catched properly.
That caused issue e.g. in functional-python35 tests but wasn't catched
properly in functional tests using python27.
This patch changes this to handle such exception properly.
[1] https://review.openstack.org/#/c/574917/
Change-Id: If43f2c944ff46d8b05fbcf68231fd04bed147ba0
"neutron availability-zone-list" checks for "get_availability_zone" rule
and policy.json doesn't contain it so adding it now.
Change-Id: I7e5e706c44136e0b565f3ee18e15f1166d82040d
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
Create a method for bulk assignment of IP addresses within the ipam
driver, to support bulk creation of ports.
This also changes the logic for how the window of available IP addresses
to assign from is calculated within the neutrondb IPAM driver. The
Python random module is used to produce a statistically sampled set of
IP addresses out of the set of available IPs; this will facilitate
collission avoidance. When requesting multiple IP addresses the
selection window sized is increased significantly to ensure a larger
number of available IPs, but caps are placed on the amount to make sure
we do not transgress system limits when building pools of IPv6
addresses.
Change-Id: Iad8088eaa261b07153fa358ae34b9a2442bc2a3e
Implements: blueprint speed-up-neutron-bulk-creation
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
brctl is being deprecated in some Linux distros, so
change neutron to start using iproute2 commands or
the pyroute2 library where possible.
Added create() to IpLinkCommand class to allow usage
of pyroute2 for bridge creation.
Change-Id: If679e79fa3242ee1cd8610b5525deca35b41c87e
Closes-bug: #1801919
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
This commit adds possibility to configure fip port_forwarding
service plugin and l3 extension with devstack plugin.
Change-Id: If01dd1db1b4a44ba2f7e2d8f8326e331f9dc79e9