Some files in networking-l2gw/tests/unit
were given execute permission by mistake
in Change-Id: I29020058671348e0734906a71ac3ae0798172a23.
This proposal want to remove the error permission.
In a scenario, where network is a part of multiple
l2-gateway-connections, retain ucast_macs_remote entries
in ovsdb until the last l2-gateway-connection is deleted
for that network.
The patche does the following:
1. remove nested with calls from unit tests
2. updates tox.ini to enable us to use the \ at the end
of a line
3. All integers in python 3 are long.
4. Python 3 does not support __builtin__. Removed it from the tests.
Now the unit tests pass when running python 3.
This also adds support to tox.
In DVR mode no host IP is associated with the L3 Agent because
the router is configured on all the Compute Nodes and on the Network Node.
To overcome this problem we look for L3 Agent that is running on the Network Node,
resolve the hostname of the Network Node to get its IP address and use it to
configure the destination IP needed for neutron port location information.
Some tests used incorrect order assertEqual(observed, expected).
The correct order expected by testtools is
for insert/delete vlan_bindings column in physical_port table.
updating the vlan_bindings, which requires the previous data
from neutron db for a port, which is a overhead operation,and also causing
inconsistent entries in ovsdb server.
use mutate operation so that only the vlan_bindings which is generated
in request is inserted/deleted by mutating the vlan_binding column.
so that vlan_bindings in ovsdb is consistent.
networking-vsphere, which works for ESXi nodes
does not support l2 population. so choosing
ovs-vapp agent instead of ovs agent to create tunnel
by tunnel sync call, while creating l2-gateway-connection.
while retreving the information from port details which belongs to specific host,
we are checking whether ovs agent is running on that host or not. if not,
exception is raised saying ovs agent not found in the host.
Since l2gateway binds vxlan(virtual side) to vlan(physical side) segment.
We are extracting only vxlan segment from the virtual network.
Since multi segment network can have multiple segmentation id's belonging
to different network types(vlan, gre, vxlan, etc), we are extracting the
vxlan segment from it.
We are checking for multiple vxlan segments in the network since ovsdb
does not allow multiple vxlan segmentation id's to associate for same
vlan (physical side) while creating l2_gateway_connection.
For Ex: say multi segment network has two vxlan segment id's 1000 and 2000.
If we create a l2_gateway_connection for this network by providing physical
side vlan segment as 500, the bindings should be 1000:500 and 2000:500,
this is not allowed in ovsdb hardware vtep schema.
The patch set provides a framework to support
service drivers so that the south bound implementation
need not be tied to only the L2gw agent communicating
over the RabbitMQ message bus. This will help to support
other types of south bound implementations like OpenDaylight.
Author: Maruti <email@example.com>
Co-Authored-By: Manjunath Patil <firstname.lastname@example.org>