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.
Closes-Bug: 1542185
Change-Id: I8e0d3c19f74ae2906236fd71befacc0ff501023a
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.
Closes-Bug:1511639
Change-Id: I5f704eaf40763686aa30320dff7a99a16b6c1772
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.
Change-Id: I403c7c0f110d4ad95d803640508b78c1539d181f
Closes-Bug: 1478812
Author: Maruti <maruti.kamat@hp.com>
Co-Authored-By: Manjunath Patil <mpatil@hp.com>
The patch set fixes the problem described in the launchpad
bug 1447571, where the L2 gateway agent does not populate
OVSDB related tables in the neutron DB, when the data is large.
Change-Id: Ifdd9dacc2419ce427e9526d4e2e4298291a531cc
Closes-Bug: 1447571
port_fault_status and switch_fault_status implementation.
reflect the same status in neutron db from ovsdb.
raises appropriate error message while creating l2gateway connection
if switch_fault_status and port_fault_status is not UP.
Change-Id: Icc77392afeb62bd2b0b0b816a63f8f02b442b0d8
This patch set implements RPC calls that are initiated by the
L2 gateway agent destined to the L2 gateway service plugin
Change-Id: Id60565dca791cf0b104bb8d85a9b3c4c7b4537d7
Author: Phani Pawan <ppawan@hp.com>
Co-Authored-By: Manjunath Patil <mpatil@hp.com>
The patch set contains the code of the L2
gateway agent that writes into OVSDB tables
and processes events that come from the
OVSDB server whenever the OVSDB data changes.
Change-Id: I49f9350f11a2b7fb69b8b7b0eae3138bb1159522
The patch set contains the code for the L2 gateway
scheduler that determines which L2 gateway agent
is the Monitor agent out of available agents if
there does not exist Monitor agent in the list
of active agents.
If only one L2 gateway agent is active, then
this piece of code makes that agent the Monitor
agent.
If multiple agents are active, then the logic
makes the L2 gateway agent that has the oldest
'started_at' timestamp as the Monitor agent.
It makes use of fanout cast message to send it to
all the agents. The message payload includes the host
name of the Monitor agent so that that particular
agent changes its role to the Monitor, whereas other
agents who receive this message change their role
to default transact agent.
The patch set also removes the term TRANSACT
as one state "MONITOR" is enough to decide
the role.
Co-Authored-By: Maruti Kamat <maruti.kamat@hp.com>
Change-Id: Ib06dbe320021de3653d26f267994ced52480254a
l2gateway extension was not loaded because extension file for
l2gateway was not overrided some of the neutron.plugins.common.constants
attributes that is required for loading l2gateway extension
Change-Id: Ife91583d6332ec254578c9fedbd9f9191b79769b
This is initial db related files required
for implementing l2gateway RESTful API
Implements: blueprint l2-gateway-api
Change-Id: Ie6bd6b506bd704e0a86273ec7240b7eebb3b18b1
The patch provides the following:
1. A base L2 gateway agent and manager that:
a. periodically sends heart beats to the Neutron server
b. processes basic RPC (setting the agent type) received from the plugin
2. A variant of L2 gateway agent manager that:
a. manages connections to the configured OVSDB servers
b. processes RPCs originated from the plugin destined to the OVSDB servers
c. notifies to the plugin of any changes in the configured OVSDB servers'
tables
Partially implements: blueprint l2-gateway-api
Co-Authored-By: vikas<vikas.d-m@hp.com>
Change-Id: I19798e2283a6814dcc9e0f72afe8e1327c78de6b