Support for OVS DB tcp socket communication.

Bug #1778724 reported by Pranab
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
os-vif
In Progress
Low
sean mooney

Bug Description

OVS DB server has the feature of listening over a TCP socket for connections rather than just on the unix domain socket. [0]

If the OVS DB server is listening over a TCP socket, then the ovs-vsctl commands should include the ovsdb_connection parameter:
# ovs-vsctl --db=tcp:IP:PORT ...
eg:
# ovs-vsctl --db=tcp:169.254.1.1:6640 add-port br-int eth0

Neutron supports running the ovs-vsctl commands with the ovsdb_connection parameter. The ovsdb_connection parameter is configured in openvswitch_agent.ini file. [1]

While adding a vif to the ovs bridge(br-int), Nova(os-vif) invokes the ovs-vsctl command. Today, there is no support to pass the ovsdb_connection parameter while invoking the ovs-vsctl command. The support should be added. This would enhance the functionality of os-vif, since it would support a scenario when OVS DB server is listening on a TCP socket connection and on functional parity with Neutron.

[0] http://www.openvswitch.org/support/dist-docs/ovsdb-server.1.html
[1] https://docs.openstack.org/neutron/pike/configuration/openvswitch-agent.html

Pranab (pranabjb)
Changed in os-vif:
assignee: nobody → Pranab (pranabjb)
Changed in os-vif:
status: New → Confirmed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to os-vif (master)

Fix proposed to branch: master
Review: https://review.openstack.org/587378

Changed in os-vif:
status: Confirmed → In Progress
Jay Pipes (jaypipes)
Changed in os-vif:
importance: Undecided → Low
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to os-vif (master)

Reviewed: https://review.openstack.org/587378
Committed: https://git.openstack.org/cgit/openstack/os-vif/commit/?id=12cea89b91c2548ea544f4e1adf0d346528b6b2e
Submitter: Zuul
Branch: master

commit 12cea89b91c2548ea544f4e1adf0d346528b6b2e
Author: pranabjb <email address hidden>
Date: Tue Jul 31 15:58:10 2018 +0530

    Support for OVS DB TCP socket communication.

    While adding a vif to the ovs bridge(br-int), Nova(os-vif) invokes the
    ovs-vsctl command. This works fine when OVS DB server is listening for
    connections over a UNIX file socket. OVS DB server can listen for connections
    over a TCP socket too [0]. If the OVS DB server is listening over a TCP socket,
    then the ovs-vsctl commands should include the optional argument
    '--db=tcp:ip:port', else vif addition to OVS bridge would fail.
    eg: ovs-vsctl --db=tcp:169.254.1.1:6640 add-port br-int eth0

    This patch adds a new config parameter: 'ovsdb_connection'. By default,
    if ovsdb_connection is set to 'None', communication with OVSDB server would
    happen over the UNIX file socket. If it is set to tcp:IP:Port, ovs-vsctl commands
    would use the '--db=tcp:IP:Port' parameter for communicating over a TCP socket.

    Neutron already supports this feature. The ovsdb_connection parameter is
    configured in openvswitch_agent.ini file. [1]
    [0] http://www.openvswitch.org/support/dist-docs/ovsdb-server.1.html
    [1] https://docs.openstack.org/neutron/pike/configuration/openvswitch-agent.html

    Change-Id: I3b0cadd48fd8823ab2dbec81b2c49dc4d33031ce
    Closes-Bug: 1778724

Changed in os-vif:
status: In Progress → Fix Released
Revision history for this message
sean mooney (sean-k-mooney) wrote :

https://review.openstack.org/#/c/587378 did not handel the vhost-user code paths.
i will adress them seperately tomorow.

the status previously should also have been fix commited not fix releases as this was not in a packaged release. reset to inprogreess

Changed in os-vif:
status: Fix Released → In Progress
assignee: Pranab (pranabjb) → sean mooney (sean-k-mooney)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/os-vif 1.12.0

This issue was fixed in the openstack/os-vif 1.12.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.