Missing os_ken_app parameter when using EVPN

Bug #2066261 reported by Vinetos
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
BaGPipe
Fix Released
Undecided
Unassigned

Bug Description

When attempting to start the BGP daemon, an error occurs due to a missing os_ken_app keyword argument. The full traceback can be found below. It appears that the issue originates from the instantiation of the OVS tunnel bridge within the ML2 OpenvSwitch agent. As a result, the BGP daemon fails to initialize properly.

Steps to Reproduce:
Configure the environment with necessary components such as Neutron, Network Bagpipe, etc.
Start all required services including the BGP daemon.
Configure Bagpipe to use ovs as dataplane driver
Expected Result:
The BGP daemon should start without any errors.

Actual Result:
A KeyError exception occurs indicating a missing os_ken_app keyword argument.

Traceback:
https://paste.opendev.org/show/824183/

Note:
I have manually applied the patch https://review.opendev.org/c/openstack/networking-bagpipe/+/884695 and I encounter a new error when a VM is plugged : missing localport['vlan'] parameter.
You can find the full error log after applying the patch here : https://paste.opendev.org/show/824184/

ovs_version: 3.1.0
bagpipe: latest
openstack: latest available on Debian

Changed in networking-bagpipe:
status: New → Confirmed
Revision history for this message
Lajos Katona (lajos-katona) wrote :

Thanks for the bug report.
Is it possible for you to work on this issue and take over https://review.opendev.org/c/openstack/networking-bagpipe/+/884695 ?

Revision history for this message
Vinetos (vinetos) wrote :

Yep, I will do my best !

Changed in networking-bagpipe:
status: Confirmed → In Progress
Revision history for this message
Lajos Katona (lajos-katona) wrote :

Hi, I can't reproduce your issue with "Exception: missing localport['vlan'] parameter"
However I got this one:
ERROR networking_bagpipe.bagpipe_bgp.vpn.evpn.3 File "/opt/stack/neutron/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ofswitch.py", line 69, in _get_dp_by_dpid
ERROR networking_bagpipe.bagpipe_bgp.vpn.evpn.3 dp = ofctl_api.get_datapath(self._app, dpid_int)
ERROR networking_bagpipe.bagpipe_bgp.vpn.evpn.3 File "/opt/stack/data/venv/lib/python3.10/site-packages/os_ken/app/ofctl/api.py", line 50, in get_datapath
ERROR networking_bagpipe.bagpipe_bgp.vpn.evpn.3 return app.send_request(event.GetDatapathRequest(dpid=dpid))()
ERROR networking_bagpipe.bagpipe_bgp.vpn.evpn.3 AttributeError: 'OVSDataplaneDriver' object has no attribute 'send_request'
ERROR networking_bagpipe.bagpipe_bgp.vpn.evpn.3

Revision history for this message
Stanislav Tretiakov (tsv1991) wrote :

I have the same issue.
missing localport['vlan'] parameter when try to attach a port to a VM.
The localport has no key vlan. And this parameter is not passed to API call POST /attach_localport from bagpipe_bgp_agent.

2024-06-28 20:44:02.289 7 DEBUG networking_bagpipe.agent.bagpipe_bgp_agent [-] bagpipe-bgp client request: POST attach_localport [{'mac_address': 'fa:16:3e:4a:39:85', 'local_port': {'linuxif': 'tap4e1fd6a0-0f'}, 'ip_address': '192.168.33.153', 'linuxbr': 'brq5cd7d458-f3', 'vni': 1153862, 'import_rt': {'64512:1153862'}, 'export_rt': {'64512:1153862'}, 'vpn_instance_id': 'evpn_5cd7d458-f364-4f5b-9add-6eed035df3f9', 'vpn_type': 'evpn'}] do_request /var/lib/kolla/venv/lib/python3.9/site-packages/networking_bagpipe/agent/bagpipe_bgp_agent.py:100

I don't quite understand how the BGP agent is supposed to know the VLAN number for the OVS port?

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to networking-bagpipe (master)

Reviewed: https://review.opendev.org/c/openstack/networking-bagpipe/+/884695
Committed: https://opendev.org/openstack/networking-bagpipe/commit/521e93d6ac9b6f5d871729c4e73e55f4f9263667
Submitter: "Zuul (22348)"
Branch: master

commit 521e93d6ac9b6f5d871729c4e73e55f4f9263667
Author: elajkat <email address hidden>
Date: Tue May 30 14:58:46 2023 +0200

    Add os_ken_app to EVPN OVSDataplaneDriver

    BGP daemon throws tracebeck about missing parameter for os_ken_app.
    TODO: Check the other failure reported in bug #2066261 .

    Closes-Bug: #2066261
    Change-Id: I7bcacd337a8d86ff49298db95dee936d5663ffb3

Changed in networking-bagpipe:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/networking-bagpipe 21.0.0.0rc1

This issue was fixed in the openstack/networking-bagpipe 21.0.0.0rc1 release candidate.

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.