Bugzilla (bugzilla.redhat.com) will be under maintenance for infrastructure upgrades and will not be available on July 31st between 12:30 AM - 05:30 AM UTC. We appreciate your understanding and patience. You can follow status.redhat.com for details.
Bug 1417738 - The packaging for python-openvswitch should build the C json extension
Summary: The packaging for python-openvswitch should build the C json extension
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openvswitch
Version: 11.0 (Ocata)
Hardware: Unspecified
OS: Unspecified
Target Milestone: z5
: 13.0 (Queens)
Assignee: Terry Wilson
QA Contact: Ofer Blaut
: 1546756 (view as bug list)
Depends On:
TreeView+ depends on / blocked
Reported: 2017-01-30 20:08 UTC by Terry Wilson
Modified: 2019-03-14 13:28 UTC (History)
10 users (show)

Fixed In Version: openvswitch-2.9.0-56.el7fdn
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2019-03-14 13:28:34 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2019:0552 0 None None None 2019-03-14 13:28:41 UTC

Description Terry Wilson 2017-01-30 20:08:02 UTC
Description of problem:
The pure-python implementation of OVS's JSON parser is 60x slower than the C version. Parsing JSON is currently takes more time than anything else according to profiling. There is a python C extension available to speed up this parsing, but it isn't built in the packaging process.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Install python-openvswitch

Actual results:

Expected results:

Additional info:

Comment 1 Terry Wilson 2017-01-30 20:13:06 UTC
Um, I'm not sure why it posted that while I was still typing, but ok:

Steps to reproduce:
1. Install python-openvswitch
2. Try to import ovs._json

Actual Results:

Expected results:
Import succeeds.

I have heard that packages built here: https://github.com/numansiddique/overcloud_image_for_ovn/tree/master/rpms have a separate package for python-openvswitch which includes support for the C extension, so maybe the work numans did there can be re-used.

Comment 2 Assaf Muller 2017-07-14 21:58:24 UTC
Is this still relevant? If so, maybe we can be of service?

Comment 3 Terry Wilson 2017-08-15 18:38:16 UTC
amuller: it is still relevant. I'll see if I can figure out how the OVS packaging even works.

Comment 4 Terry Wilson 2017-08-18 13:15:45 UTC
Upstream patch to add the C extension to the Fedora/CentOS python-openvswitch RPMs: https://patchwork.ozlabs.org/patch/802892/

Comment 6 Assaf Muller 2017-12-19 16:16:31 UTC
Ping. What is the current status here and what's there left to do?

Comment 7 Daniel Alvarez Sanchez 2018-02-19 14:38:10 UTC
*** Bug 1546756 has been marked as a duplicate of this bug. ***

Comment 8 Daniel Alvarez Sanchez 2018-02-19 16:28:59 UTC
These were the attempts to achieve getting the C JSON parser in by default:
* https://patchwork.ozlabs.org/patch/699900/
* https://patchwork.ozlabs.org/patch/802892/

It'd be nice to have in OVS 2.9 :)

Comment 9 Flavio Leitner 2018-03-01 18:18:53 UTC

Looks like the direction upstream was to be a subpackage of OVS and not a standalone new package.

Another important thing is that upstream compiles as shared libraries while RHEL is build statically.  We will need to come up with a way to change to shared while still linking statically with DPDK.


Comment 11 Terry Wilson 2018-08-15 17:37:15 UTC
to verify, try import ovs._json, if it succeeds, the C json extensions were built.

Comment 12 Lon Hohberger 2018-09-18 10:36:41 UTC
According to our records, this should be resolved by openvswitch-2.9.0-56.el7fdp.  This build is available now.

Comment 14 errata-xmlrpc 2019-03-14 13:28:34 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.