[ovs-dev] [PATCH] ovn: expose c validator to python

Aaron Rosen aaronorosen at gmail.com
Mon Jul 4 19:17:54 UTC 2016


Thanks for the review. Response inline

On Sun, Jul 3, 2016 at 12:04 PM, Ben Pfaff <blp at ovn.org> wrote:

> On Thu, Jun 30, 2016 at 02:27:19PM -0700, Aaron Rosen wrote:
> > This patch exposes the c function expr_parse_string() to be called via
> > python. The motivation for this is so that clients interfacing with
> > ovn can call this method in order to validate the data they are writting
> > to ovn.
> >
> > Previously, there were several bugs in the neutron/ovn integration
> > that went unnoticed due to the client writing invalid data. This should
> > hopefully help catch errors like this earlier as it can now be detected
> on
> > the client side and an error can be raised.
>
> I'm OK with the idea of moving the code to create a symtab for testing
> purposes into the OVN library, but I think that it should go into
> expr.[ch] since that's what implements expressions, and it should have a
> name and comment that makes it clear that it's for testing.
>


Sounds good to me I'll make this update.


>
> I don't yet understand how to use this, though.  When I run a normal
> "make check" I get failures like this:
>
>     #                             -*- compilation -*-
>     2132. test-ovn-utils.at:12: testing test-ovn-utils - Python2 ...
>     ../../tests/test-ovn-utils.at:12: $PYTHON $srcdir/test-ovn-utils.py
>     stderr:
>     Traceback (most recent call last):
>       File "../../../../tests/test-ovn-utils.py", line 17, in <module>
>         from ovs import ovn_utils
>     ImportError: cannot import name ovn_utils
>     stdout:
>     ../../tests/test-ovn-utils.at:12: exit code was 1, expected 0
>     2132. test-ovn-utils.at:12: 2132. test-ovn-utils - Python2 (
> test-ovn-utils.at:12): FAILED (test-ovn-utils.at:12)
>
> Is some extra step required?


Looks like you need to run:

sudo python setup.py install
and
sudo python3 setup.py install (if you want the python3 tests to run).

inside of  ovs/python first.

Is there a good place were we could add a hook to make that occur?  I think
the other issue that we are facing before that is in order to build these C
extensions it currently is relying on the openvswitch-dev package being
installed on the system rather than able to use it from the current source
tree: https://github.com/openvswitch/ovs/blob/master/python/setup.py#L80

I believe Terry Wilson said that he was working on a fix for that though.





> Thanks,
>
> Ben.
>



More information about the dev mailing list