For unit and functional:
The commit d00a50aad11465d904663dea14b3814017bcff75 moved the
plugins.ml2.config module to conf.plugins.ml2.config
For functional tests only:
Modify the post_test_hook.sh script to accomodate the new changes in
os-testr. This fix for networking-ovn is basically a copy & paste from
the neutron one [0].
[0] https://review.openstack.org/#/c/503138/
Change-Id: I4fbcbfdd6d5f9fa77414df15302da517f23986bd
This is effectively a bug fix for live migration. It limits OVN's
binding of ports to the chassis currently specified through the
Neutron API. Without this, OVN will thrash on the binding of the port
between two chassis during a live migration.
Change-Id: Ie11fc4bcae31a51c69c0cf52c073cd5e218328ec
Signed-off-by: Russell Bryant <rbryant@redhat.com>
The patch https://review.openstack.org/#/c/435665/ is now merged so we
can remove the workarounds from the networking-ovn tree.
Change-Id: Ib4e678c0a5bb85e17a5e815964137a88986ad939
In Python3, dict.keys() is not a copy, therefore items can't be changed
while iterating.
Change-Id: I7a62b56d3258b816b6ce59aac31959353ee7fe06
Closes-bug: #1715057
Signed-off-by: Dong Jun <dongj@dtdream.com>
This patch is first step towards supporting internal DNS support by
making use of OVN native DNS feature. This patch for now just adds
the DNS db mixin to resolve the bug 1714931. Without this patch, creating
floating ip is failing with 500 error when dns extension is enabled.
There were some unit test failures because of neutron db code accessing
'dns' data of floatingip db object as 'floatingip_db.dns'.
Neutron code references the db objects both as a dict and as an object.
Eg. port['id'] and port.id. This patch makes the FakeResource object
as a dict to fix this issue.
Closes-bug: #1714931
Change-Id: Id8f2c1216e6187bf95fea660c83a1d41aeefbb86
Presently these resources are created as CountableResource. The
newly added quota_details extension is not handling the countable
resources properly. See the bug description for more details.
It's any way better to create as trackable resources. Please see
[1] for more details on trackable resources.
[1] - https://docs.openstack.org/neutron/latest/contributor/internals/quota.html
Closes-bug: #1714769
Change-Id: I50dcb05d3d58ee6c23e59861d76da3c3ef83022b
This patch is modifying the devstackgaterc file to add support for
neutron-api tests.
Before this patch, devstackgaterc only supported 1 positional argument
for choosing the ovs branch (latest-release or master). Now, it possible
to pass as many options as needed and it will be much easier to extend.
This patch will be used at: 6791b94429f4a2f494e3f45426e074e8608ce917
Change-Id: Idee833a90c2c2dacea8c92ff58f67f6c3822bb9e
When router is updated with admin_state_up flag set to False, the
present logic to handle it is faulty. This patch fixes it.
Closes-bug: #1714176
Change-Id: I435091de1cbdf5141903789b5d45c642498e518c
Currently allowed_address_pairs works only if the mac in the allowed
address pair is the same as the mac address of the port (ip can be
different). Otherwise, packets destined to the new mac address
cannot be delivered to the port, because there is no logical flow
in L2 lookup stage in OVN for the new mac. This patch fixes it by
adding the new mac to "addresses" of the OVN lport.
Change-Id: I69e85f2a1acb9541e624c8a153610f9759b8d238
Closes-bug: #1711887
Currently ovn schedules gateway router ports on all chassis.
Instead we need to check which chassis has external connectivity
and schedule them only on these chassis.
Chassis which has ovn-bridge-mappings properly configured(i.e
physnet same as gateway network physnet) in OVN_Southbound
database will be treated as having external connectivity.
Some network types(for example, geneve) may not use bridge
mappings. Currently, external networks of type VLAN and FLAT
use bridge mappings. So for these networks, we return chassis
with proper bridge mappings and for other networks we return
all chassis.
Closes-bug: #1705246
Change-Id: I73970aef6d84019032e3c68a6a785d7626ae2afc
This patch performs a small refactor of the metadata port creation and
the code which waits for metadata service to be provisioned in the
network when a port transitions to 'up'.
Also, when metadata is disabled, an error was logged trying to retrieve
fetch the metadata port. Instead of checking if metadata is enabled or
not in many points of the code, that function will return None if
service is disabled.
Change-Id: Icd7db235cff8db07f2f4e460859c71b0b4e937dc
Signed-off-by: Daniel Alvarez <dalvarez@redhat.com>
New fields 'name' and 'severity' added in OVN ACL table for logging
purpose. In this change, we are updating Networking-ovn with
these fields(only if 'ACL' table supports them to maintain
Networking-ovn compatibility with other release branches of OVS,
which won't have these columns)
Note: Earlier gate functional tests were broken when these fields were
introduced in ACL table. As a temporary fix we pushed commit [1], which
forced functional tests to run on ovs branch 2.7. Now we are reverting
that as we are proposing proper fix with this patch.
[1] e951289b36
Closes-bug: #1708594
Change-Id: I580a4c80d875449d6c2571f439ffe3e8f1d46861
Presently we do not sync neutron db with OVN southbound db.
This patch does that. Also when an existing Neutron ML2 OVS
deployment is migrated to OVN, there could be router ports
of type DVR and HA. We need to consider these router port types
during sync.
Change-Id: I8628b32f70aa98d45cb340839aace180cf1d9c80
Closes-bug: #1629076
Co-authored-by: Dong Jun <dongj@dtdream.com>
Recently L3 gateway HA support added in OVN making
distributed gateway ports highly available. This
patch makes neutron gateway ports highly available
through OVN distributed gateway ports.
If multiple gateway chassis available for scheduling as candidates,
then this patch schedules router gateway port on max of 5 chassis.
If only one gateway chassis is available, it schedules on only this
chassis.
If NBDB supports new schema to represent gateway_chassis i.e
1) gateway_chassis column in logical_router_port table
2) and Gateway_Chassis table
router gateway port is scheduled based on this new schema, otherwise old
schema is used. If existing router gateway ports are already using old
schema, this patch still supports that and won't convert them to new
schema.
Change-Id: I56c28237b19a6ae01f8567d12580661bcca43ba7
Current trunk/subports support in OVN doesn't allow subports to
transition from DOWN to ACTIVE when they're attached to a trunk port.
Projects like kuryr-kubernetes need this to happen since it is the
way to identify when a nested VM or container inside a VM are ready.
This patch does the following changes:
- When a port transitions to 'up', before completing the provisioning
block, binding:host_id is updated on the Neutron port to the parent
value. This will make the plugin to try to bind the port and hence,
transition from DOWN to ACTIVE.
- When a subport is added or removed from the trunk, the
binding:profile information is updated on the Neutron port according
to what was introduced by e9f430135c.
If we don't set this value, parent_port would be cleared during the
binding process [0] and OVN would unbind it from the chassis.
Closes-bug: #1707141
[0] https://github.com/openstack/networking-ovn/blob/master/networking_ovn/common/ovn_client.py#L185
Change-Id: I62b3113f93572ac860fe5ebdd190907f35d4910f
ip_address in allowed_address_pairs can not ping success with networking-ovn,
but success with ovs-agent.
so i think ip_address in allowed_address_pairs should be added in address_set.
Change-Id: I8eb4673f9bec7b426754f9d707f4fa90d3df6e20
This new commit [1] in neutron checks mtu size during segment
allocation and throws exception if MTU > 1450 for geneve network
type. Because of this new change, tests
'test_clear_segment_host_mapping' and
'test_update_segment_host_mapping' are failing in gate.
To fix this, we are updating mtu to 1450 in the test, before it
creates geneve segments for the network.
[1] ceb86366d25a928d7a3773075a7333801ee3dd29
Closes-bug: #1710496
Change-Id: I117cc2352848718b37f95bdb6aecbfb6ba1ccc67
In order to avoid confusion with the metadata agent in ML2/OVS,
the configuration file for OVN metadata agent is renamed.
Change-Id: I1e47e421a629086ce14444aba9c6e8a8ff3a489f