vpp l3 plugin should avoid dependency on vpp_papi

Bug #1750255 reported by Hareesh Puthalath
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
networking-vpp
Fix Released
Undecided
Naveen Joy

Bug Description

Vpp l3 plugin has a dependency on vpp agent for reading the etcd namespace keys [LEADIN, ROUTERS_DIR etc]. For this it imports vpp agent modules (server.py, vpp.py) which introduces a dependency on vpp and vpp_papi.py

python -c "from networking_vpp.agent import server"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/networking_vpp/agent/server.py", line 44, in <module>
    import vpp
  File "/usr/lib/python2.7/site-packages/networking_vpp/agent/vpp.py", line 28, in <module>
    import vpp_papi
ImportError: No module named vpp_papi

In distributed scenarios where neutron server runs in its own container/controller independent of the agent, this dependency is avoidable.

A refactoring is needed to move this attributes to a common class.

description: updated
Naveen Joy (najoy)
Changed in networking-vpp:
status: New → Fix Committed
assignee: nobody → Naveen Joy (najoy)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to networking-vpp (master)

Reviewed: https://review.openstack.org/545985
Committed: https://git.openstack.org/cgit/openstack/networking-vpp/commit/?id=d8c2f8d862b9928519edd26b5061cc43499f9298
Submitter: Zuul
Branch: master

commit d8c2f8d862b9928519edd26b5061cc43499f9298
Author: Naveen Joy <email address hidden>
Date: Mon Feb 19 13:02:54 2018 -0800

    Create a common constants module to avoid unwanted dependencies

    Move all the shared constants between the server, agent and the
    plugins to a common constants file to avoid unnecessary dependencies
    between modules.

    Change-Id: I89573b22e0ff246ff4fe607af207a9226045e7bb
    Closes-Bug: #1750255

Changed in networking-vpp:
status: Fix Committed → Fix Released
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.