The neutron.common.topics module was rehomed into neutron-lib with
commit Ie88b84949cbd55a4e7ad06341aab77b286cdc485
This patch consumes it by using neutron-lib's version of the module in
prep for Ia4a4604c259ce862597de80c6deeb3d408bf0e95
Change-Id: Ifcac7a08dab1d23ad992663c03bf9c1d95dc9e8e
Removes the warnings:
DeprecationWarning: Using function/method 'instance.ugettext()' is
deprecated: Builtin _ translation function is deprecated in
OpenStack; use the function from _i18n module for your project.
Change-Id: Icb769dea1aa63254432b7d0296d4e2e850d5354b
Monitor agent fails to monitor the switch once switch restarts.
socket.recv() is a blocked call (if timeout value is not passed)
due to which we cannot determine if the remote OVSDB server has died.
The remote OVSDB server sends echo requests every 4 seconds.
If there is no echo request on the socket for socket_timeout seconds
(by default socket_timeout value is 30 seconds), the agent can
safely assume that the connection with the remote OVSDB server is lost.
Better to retry by reopening the socket.
Closes-Bug: 1615499
Change-Id: I7dae57c620e048780e27a0ba9d52670d519e303c
whenever l2gw agent IP:PORT is configured in manager table
of ovsdb server, it has to be configured in l2gateway_agent.ini
so that l2gw agent can listen for the connection request from ovsdb
server for the configured port.
Change-Id: Iac81c41cbac7daf43e72c12f094d6fefe33ce749
Closes-Bug: 1580869
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
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.
Closes-Bug: 1544112
Change-Id: I801e539ccc4f9bdce3b829189c97c53ba84a8f48
check for interface type while creating l2-gateway.
it should be list of dict.if not raise an appropriate message.
for ex: request body for l2-gateway-create is as below.
{"l2_gateway": {"name": "gw2", "devices": [{"interfaces": [{"name": "i1"}]}, "device_name": "switch2"}]}'
Change-Id: I65430efa1a3ed4416e649f0377d9dff7fafc5b57
Closes-Bug: 1548361
Commit 87a79256c494c36f2d9597313f430b24c0110161 added shared exceptions
to neutron-lib. This patch makes use of the aforementioned library.
Change-Id: I14b27381c4f4847ce5e95ff43a1efe97a2685505
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
../networking_l2gw/services/l2gateway/common/l2gw_validators.py:101:
DeprecationWarning: Using function/method 'instance.ugettext()' is
deprecated: Builtin _ translation function is deprecated in OpenStack;
use the function from _i18n module for your project.
msg = _("Segmentation id must be a valid integer")
TrivialFix
Change-Id: Id713e48c48b1815795112baa4a9a862ccca62b08
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>
ovsdb server initiates the connection to l2gw agent with the entries in
manager table in ovsdb hardware vtep schema.
A configurable option 'enable_manager' in .ini file is provided so that
the connection can be initiated by the ovsdb server or not based on boolean
value.
By default 'enable_manager' value is False, turn on the variable to True
to initiate the connection from ovsdb server to l2gw agent.
Closes-Bug:1466302
Change-Id: Ib668ecda381367ea9f2f3cfa45e63d0e91e48f33
This fix for supporting the '0' segmentation id during l2gateway connection create.
This is applied for the use case where some bare metal server can not handle tagged packets(connected to access ports)
Closes-Bug:1444188
Change-Id: Ia92432f0296152116e998ad8418c35ef014f898e
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
Changing the log imports from
neutron.openstack.common import log to
oslo_log import log, due to change in latest neutron.
Change-Id: Ic7de94602feb088005f0b61e7d7963dde35a8ac0
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
1. Handled for multiple devices and interfaces
2. handled for multiple segmentation id
3. segmentation id validation handled
4. handled for multi segmentation network
5. handled for connection create for multiple networks with same l2gateway
6. Fixed defect during l2gateway delete check for connection exists
7. update l2 gateway when invalid device name given
8. update l2 gateway for multiple devices
Change-Id: I283449c417b82322e85e37f5c23f06c5618a0ab7
This patch set implements RPC calls that are initiated by the
L2 gateway agent destined to the L2 gateway service plugin
Author: Phani Pawan <ppawan@hp.com>
Co-Authored-By: Manjunath Patil <mpatil@hp.com>
Change-Id: If0db38aad3706265b89b972efe7b29cffcb5e10e
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
The patch set refactors (removes duplicate) logic of reading
configured report_interval of L2 gateway agent
to use neutron agent common module.
Co-Authored-By: Selvakumar S <selvakumar.s2@hp.com>
Change-Id: Iaf2b4a6294d37890bd51efe5b5e91ed9a356f262
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
This is the first change in a series of changes to support the L2
Gateway API on top of ovsdb.
L2 gateway agent files are submitted.
Change-Id: Id564c869546e3d3b95501f201184b5f4c633f1ac
The patch set provides a basic config module
to read configuration parameters from
the supplied configuration files for the plugin
and the agent.
Change-Id: I79a65dfe92ae4cf308cf76745b96e85a270405c7