Bug#826780: Please package OVS >= 2.6.0.dev1

2016-06-26 Thread Ben Pfaff
On Thu, Jun 09, 2016 at 01:23:12AM +0200, Thomas Goirand wrote:
> Source: openvswitch
> Version: 2.3.0+git20140819-4
> Severity: normal
> 
> Hi,
> 
> OpenStack Neutron currently has:
> 
> ovs>=2.5.0;python_version=='2.7' # Apache-2.0
> ovs>=2.6.0.dev1;python_version>='3.4' # Apache-2.0
> 
> in its requirements.txt. Please package this at least to Debian Experimental,
> so that I can package Neutron Newton Beta 1.

I uploaded openvswitch_2.5.1~pre+git20160626-1 a couple of hours ago.
It's going through NEW processing.  I suspect that it will take a couple
of trial uploads to get the tests to pass reliably and on all
architectures.  I'm going to be traveling Monday through Thursday, with
limited time for computers, so absent helpful NMUs (which are welcome)
there will probably be at least limited breakage until Friday.

I honestly meant to upload this to experimental for the first one or two
tries but screwed up so it's destined for unstable.



Bug#826780: [ovs-dev] Bug#826780: Please package OVS >= 2.6.0.dev1

2016-06-14 Thread Thomas Goirand
On 06/10/2016 10:38 PM, Ben Pfaff wrote:
> On Thu, Jun 09, 2016 at 04:07:13AM -0400, Russell Bryant wrote:
>> I uploaded "2.6.0.dev1".  This was to enable OpenStack CI to start running
>> tests using the version of the Python library that includes Python 3.  I
>> followed some python packaging / pypi versioning guidelines to pick that
>> number.  It indicates that it's a dev snapshot of what will eventually
>> (presumably) be 2.6.0.  I know OVS generates 2.5.90, but I don't find that
>> appropriate to use, as it isn't 2.5 at all.
> 
> The .90 suffix is supposed to indicate that it's much greater than 2.5,
> but less than 2.6.
> 
> dpkg considers 2.6.0.dev1 to be greater than 2.6.0:
> $ if dpkg --compare-versions 2.6.0.dev1 gt 2.6.0; then echo greater; else 
> echo less; fi
> greater
> so it seems like a poor choice for anything in Debian.

That's ok though. There's nothing you can do with the Python version
numbers which are kind of incompatible with what we do in Debian (the
char ~ is forbidden in PyPi). So the way to do it in Debian is to rename
2.6.0.dev1 as 2.6.0~dev1.

Cheers,

Thomas Goirand (zigo)



Bug#826780: [ovs-dev] Bug#826780: Please package OVS >= 2.6.0.dev1

2016-06-10 Thread Ben Pfaff
On Fri, Jun 10, 2016 at 04:42:11PM -0400, Russell Bryant wrote:
> On Fri, Jun 10, 2016 at 4:38 PM, Ben Pfaff  wrote:
> 
> > On Thu, Jun 09, 2016 at 04:07:13AM -0400, Russell Bryant wrote:
> > > I uploaded "2.6.0.dev1".  This was to enable OpenStack CI to start
> > running
> > > tests using the version of the Python library that includes Python 3.  I
> > > followed some python packaging / pypi versioning guidelines to pick that
> > > number.  It indicates that it's a dev snapshot of what will eventually
> > > (presumably) be 2.6.0.  I know OVS generates 2.5.90, but I don't find
> > that
> > > appropriate to use, as it isn't 2.5 at all.
> >
> > The .90 suffix is supposed to indicate that it's much greater than 2.5,
> > but less than 2.6.
> >
> > dpkg considers 2.6.0.dev1 to be greater than 2.6.0:
> > $ if dpkg --compare-versions 2.6.0.dev1 gt 2.6.0; then echo greater;
> > else echo less; fi
> > greater
> > so it seems like a poor choice for anything in Debian.
> >
> > (I guess you must know the rules for Fedora, so presumably this works
> > there?  Those rules seem to involve separate Version and Release fields
> > and I really don't understand them.  On the other hand, according to
> > https://www.redhat.com/archives/rpm-list/2005-January/msg5.html,
> > developers are discouraged from understanding details of the version
> > numbering rules for RPM...)
> 
> This was just a dev snapshot for PyPI (Python Package Index), not intended
> to be packaged anywhere else.
> 
> https://www.python.org/dev/peps/pep-0440/

OK, great, I didn't realize that.



Bug#826780: [ovs-dev] Bug#826780: Please package OVS >= 2.6.0.dev1

2016-06-10 Thread Russell Bryant
On Fri, Jun 10, 2016 at 4:38 PM, Ben Pfaff  wrote:

> On Thu, Jun 09, 2016 at 04:07:13AM -0400, Russell Bryant wrote:
> > I uploaded "2.6.0.dev1".  This was to enable OpenStack CI to start
> running
> > tests using the version of the Python library that includes Python 3.  I
> > followed some python packaging / pypi versioning guidelines to pick that
> > number.  It indicates that it's a dev snapshot of what will eventually
> > (presumably) be 2.6.0.  I know OVS generates 2.5.90, but I don't find
> that
> > appropriate to use, as it isn't 2.5 at all.
>
> The .90 suffix is supposed to indicate that it's much greater than 2.5,
> but less than 2.6.
>
> dpkg considers 2.6.0.dev1 to be greater than 2.6.0:
> $ if dpkg --compare-versions 2.6.0.dev1 gt 2.6.0; then echo greater;
> else echo less; fi
> greater
> so it seems like a poor choice for anything in Debian.
>
> (I guess you must know the rules for Fedora, so presumably this works
> there?  Those rules seem to involve separate Version and Release fields
> and I really don't understand them.  On the other hand, according to
> https://www.redhat.com/archives/rpm-list/2005-January/msg5.html,
> developers are discouraged from understanding details of the version
> numbering rules for RPM...)
>

This was just a dev snapshot for PyPI (Python Package Index), not intended
to be packaged anywhere else.

https://www.python.org/dev/peps/pep-0440/

-- 
Russell Bryant


Bug#826780: [ovs-dev] Bug#826780: Please package OVS >= 2.6.0.dev1

2016-06-10 Thread Ben Pfaff
On Thu, Jun 09, 2016 at 04:07:13AM -0400, Russell Bryant wrote:
> I uploaded "2.6.0.dev1".  This was to enable OpenStack CI to start running
> tests using the version of the Python library that includes Python 3.  I
> followed some python packaging / pypi versioning guidelines to pick that
> number.  It indicates that it's a dev snapshot of what will eventually
> (presumably) be 2.6.0.  I know OVS generates 2.5.90, but I don't find that
> appropriate to use, as it isn't 2.5 at all.

The .90 suffix is supposed to indicate that it's much greater than 2.5,
but less than 2.6.

dpkg considers 2.6.0.dev1 to be greater than 2.6.0:
$ if dpkg --compare-versions 2.6.0.dev1 gt 2.6.0; then echo greater; else 
echo less; fi
greater
so it seems like a poor choice for anything in Debian.

(I guess you must know the rules for Fedora, so presumably this works
there?  Those rules seem to involve separate Version and Release fields
and I really don't understand them.  On the other hand, according to
https://www.redhat.com/archives/rpm-list/2005-January/msg5.html,
developers are discouraged from understanding details of the version
numbering rules for RPM...)



Bug#826780: [ovs-dev] Bug#826780: Please package OVS >= 2.6.0.dev1

2016-06-10 Thread Russell Bryant
On Thu, Jun 9, 2016 at 11:04 PM, Joe Stringer  wrote:

> On 9 June 2016 at 08:50, Terry Wilson  wrote:
> > On Thu, Jun 9, 2016 at 3:07 AM, Russell Bryant  wrote:
> >> The real solution to making this less awkward would be to split the
> Python
> >> library out of the OVS git tree so that it can be released
> independently of
> >> OVS itself.  That way a proper verison could be released that includes
> >> Python 3 support.
> >
> > This would be very nice. There are some challenges to overcome. The
> > testing infrastructure between the Python and C implementations is
> > shared. Out of tree it becomes more a bit more difficult to make sure
> > that they stay in sync both feature and compatibility-wise. My gut
> > feeling is that it would still be worth the work, though. There's no
> > good reason for releases of the Python library to be tied OVS
> > releases.
>
> Setting aside the python3 compatibility issues, the typical number of
> commits to this library between releases is pretty small (<10). They
> seem to be largely independent of other changes in the OVS tree, but
> occasionally they are coupled to other changes.
>
> Is the proposal really fixing an ongoing issue or just a one-off? It
> seems like a lot of effort unless the pace of development on this
> library significantly increases and users really need a more frequent
> release cycle (for example, because they're releasing versions of
> their software more regularly than the OVS and need the latest and
> greatest python-ovs).


My impression was roughly that it's a fairly new, but an increasing issue.
The OpenStack Neutron plugin for OVS and now OVN make heavy use of the
library.  The OVN Kubernetes integration (CNI plugin) also uses this
library.  I would expect all of this new heavy usage to lead to increased
developement in the library.

Availability of bug fixes has been the most significant pain point in the
psat.  That could be addressed by making more frequent point releases from
OVS release branches.

If we add features, they're really supposed to be in a proper release
before we can use them in OpenStack.  It would be nice to have the option
to accelerate it.

-- 
Russell Bryant


Bug#826780: [ovs-dev] Bug#826780: Please package OVS >= 2.6.0.dev1

2016-06-10 Thread Terry Wilson
On Thu, Jun 9, 2016 at 10:04 PM, Joe Stringer  wrote:
>> On Thu, Jun 9, 2016 at 3:07 AM, Russell Bryant  wrote:
>>> The real solution to making this less awkward would be to split the Python
>>> library out of the OVS git tree so that it can be released independently of
>>> OVS itself.  That way a proper verison could be released that includes
>>> Python 3 support.
>>
>> This would be very nice. There are some challenges to overcome. The
>> testing infrastructure between the Python and C implementations is
>> shared. Out of tree it becomes more a bit more difficult to make sure
>> that they stay in sync both feature and compatibility-wise. My gut
>> feeling is that it would still be worth the work, though. There's no
>> good reason for releases of the Python library to be tied OVS
>> releases.
>
> Setting aside the python3 compatibility issues, the typical number of
> commits to this library between releases is pretty small (<10). They
> seem to be largely independent of other changes in the OVS tree, but
> occasionally they are coupled to other changes.
>
> Is the proposal really fixing an ongoing issue or just a one-off? It
> seems like a lot of effort unless the pace of development on this
> library significantly increases and users really need a more frequent
> release cycle (for example, because they're releasing versions of
> their software more regularly than the OVS and need the latest and
> greatest python-ovs).

Any python patch I've done is something coming from want to use this
is neutron right now: dding the event hook, JSON speedups, etc. I'd
also like to add indexing for index columns. None of the changes have
had anything to do with what version OVS is. We could backport
features/improvements in the Python lib. But then we'd end up with
essentially the exact same code in each branch so 2.5.1 is the same
code as 2.6.1 and both run fine with OVS 2.4.0. :p It might also be
beneficial to have different (or just additional) committers for the
Python library. You don't want me touching the openflow code (yet!),
but I could certainly handle the Python lib for instance. :)

Terry



Bug#826780: [ovs-dev] Bug#826780: Please package OVS >= 2.6.0.dev1

2016-06-09 Thread Joe Stringer
On 9 June 2016 at 08:50, Terry Wilson  wrote:
> On Thu, Jun 9, 2016 at 3:07 AM, Russell Bryant  wrote:
>> The real solution to making this less awkward would be to split the Python
>> library out of the OVS git tree so that it can be released independently of
>> OVS itself.  That way a proper verison could be released that includes
>> Python 3 support.
>
> This would be very nice. There are some challenges to overcome. The
> testing infrastructure between the Python and C implementations is
> shared. Out of tree it becomes more a bit more difficult to make sure
> that they stay in sync both feature and compatibility-wise. My gut
> feeling is that it would still be worth the work, though. There's no
> good reason for releases of the Python library to be tied OVS
> releases.

Setting aside the python3 compatibility issues, the typical number of
commits to this library between releases is pretty small (<10). They
seem to be largely independent of other changes in the OVS tree, but
occasionally they are coupled to other changes.

Is the proposal really fixing an ongoing issue or just a one-off? It
seems like a lot of effort unless the pace of development on this
library significantly increases and users really need a more frequent
release cycle (for example, because they're releasing versions of
their software more regularly than the OVS and need the latest and
greatest python-ovs).



Bug#826780: [ovs-dev] Bug#826780: Please package OVS >= 2.6.0.dev1

2016-06-09 Thread Russell Bryant
On Thu, Jun 9, 2016 at 11:50 AM, Terry Wilson  wrote:

> On Thu, Jun 9, 2016 at 3:07 AM, Russell Bryant  wrote:
> > The real solution to making this less awkward would be to split the
> Python
> > library out of the OVS git tree so that it can be released independently
> of
> > OVS itself.  That way a proper verison could be released that includes
> > Python 3 support.
>
> This would be very nice. There are some challenges to overcome. The
> testing infrastructure between the Python and C implementations is
> shared. Out of tree it becomes more a bit more difficult to make sure
> that they stay in sync both feature and compatibility-wise. My gut
> feeling is that it would still be worth the work, though. There's no
> good reason for releases of the Python library to be tied OVS
> releases.


The next step in turning this into a real proposal would be to prototype
the split to show what the two repos would look like after the split.  It
should also document the impact on developers who need to change both, as
well as people working on just ovs (as the build system uses the python
lib).

To be clear, even though I think this is the "right" thing to do, I don't
expect I will do the work any time soon.
-- 
Russell Bryant


Bug#826780: [ovs-dev] Bug#826780: Please package OVS >= 2.6.0.dev1

2016-06-09 Thread Terry Wilson
On Thu, Jun 9, 2016 at 3:07 AM, Russell Bryant  wrote:
> The real solution to making this less awkward would be to split the Python
> library out of the OVS git tree so that it can be released independently of
> OVS itself.  That way a proper verison could be released that includes
> Python 3 support.

This would be very nice. There are some challenges to overcome. The
testing infrastructure between the Python and C implementations is
shared. Out of tree it becomes more a bit more difficult to make sure
that they stay in sync both feature and compatibility-wise. My gut
feeling is that it would still be worth the work, though. There's no
good reason for releases of the Python library to be tied OVS
releases.

Terry



Bug#826780: [ovs-dev] Bug#826780: Please package OVS >= 2.6.0.dev1

2016-06-09 Thread Thomas Goirand
On 06/09/2016 10:07 AM, Russell Bryant wrote:
> otherwiseguy is Terry Wilson, CC'd, but this one is on me.
> 
> I uploaded "2.6.0.dev1".  This was to enable OpenStack CI to start
> running tests using the version of the Python library that includes
> Python 3.  I followed some python packaging / pypi versioning guidelines
> to pick that number.  It indicates that it's a dev snapshot of what will
> eventually (presumably) be 2.6.0.  I know OVS generates 2.5.90, but I
> don't find that appropriate to use, as it isn't 2.5 at all.
> 
> Regarding the debian issue, I don't see a need to package anything new
> beyond 2.5.x.  It just won't include Python 3 support yet.
> 
> The real solution to making this less awkward would be to split the
> Python library out of the OVS git tree so that it can be released
> independently of OVS itself.  That way a proper verison could be
> released that includes Python 3 support.
> 
> -- 
> Russell Bryant

I'd very much welcome such a move, and could more easily contribute to
the python module packaging (while OVS itself is a bit complicated, and
I prefer Ben to handle it).

Cheers,

Thomas Goirand (zigo)



Bug#826780: [ovs-dev] Bug#826780: Please package OVS >= 2.6.0.dev1

2016-06-09 Thread Russell Bryant
On Wed, Jun 8, 2016 at 10:35 PM, Joe Stringer  wrote:

> On 8 June 2016 at 16:40, Ben Pfaff  wrote:
> > On Thu, Jun 09, 2016 at 01:23:12AM +0200, Thomas Goirand wrote:
> >> Source: openvswitch
> >> Version: 2.3.0+git20140819-4
> >> Severity: normal
> >>
> >> Hi,
> >>
> >> OpenStack Neutron currently has:
> >>
> >> ovs>=2.5.0;python_version=='2.7' # Apache-2.0
> >> ovs>=2.6.0.dev1;python_version>='3.4' # Apache-2.0
> >>
> >> in its requirements.txt. Please package this at least to Debian
> Experimental,
> >> so that I can package Neutron Newton Beta 1.
> >
> > I can package 2.5.x, though there are reports that there's one testsuite
> > failure on big-endian architectures.
> >
> > OVS 2.6.0 doesn't exist yet, so it can't be packaged.  When Neutron asks
> > for 2.6.0 what does it mean?
>
> It would appear that someone has uploaded an OVS 2.5.90 development
> version of the OVS python libraries to pypi as 2.6.0.dev1:
> https://pypi.python.org/pypi/ovs/2.6.0.dev1
>
> This probably has the latest python3 fixes that were applied since OVS
> 2.5, so is required if someone wants to run neutron under python3.
>
> Russell, do you know much about this? I'd CC otherwiseguy, but I don't
> know who that is off-hand.
>

otherwiseguy is Terry Wilson, CC'd, but this one is on me.

I uploaded "2.6.0.dev1".  This was to enable OpenStack CI to start running
tests using the version of the Python library that includes Python 3.  I
followed some python packaging / pypi versioning guidelines to pick that
number.  It indicates that it's a dev snapshot of what will eventually
(presumably) be 2.6.0.  I know OVS generates 2.5.90, but I don't find that
appropriate to use, as it isn't 2.5 at all.

Regarding the debian issue, I don't see a need to package anything new
beyond 2.5.x.  It just won't include Python 3 support yet.

The real solution to making this less awkward would be to split the Python
library out of the OVS git tree so that it can be released independently of
OVS itself.  That way a proper verison could be released that includes
Python 3 support.

-- 
Russell Bryant


Bug#826780: [ovs-dev] Bug#826780: Please package OVS >= 2.6.0.dev1

2016-06-08 Thread Joe Stringer
On 8 June 2016 at 16:40, Ben Pfaff  wrote:
> On Thu, Jun 09, 2016 at 01:23:12AM +0200, Thomas Goirand wrote:
>> Source: openvswitch
>> Version: 2.3.0+git20140819-4
>> Severity: normal
>>
>> Hi,
>>
>> OpenStack Neutron currently has:
>>
>> ovs>=2.5.0;python_version=='2.7' # Apache-2.0
>> ovs>=2.6.0.dev1;python_version>='3.4' # Apache-2.0
>>
>> in its requirements.txt. Please package this at least to Debian Experimental,
>> so that I can package Neutron Newton Beta 1.
>
> I can package 2.5.x, though there are reports that there's one testsuite
> failure on big-endian architectures.
>
> OVS 2.6.0 doesn't exist yet, so it can't be packaged.  When Neutron asks
> for 2.6.0 what does it mean?

It would appear that someone has uploaded an OVS 2.5.90 development
version of the OVS python libraries to pypi as 2.6.0.dev1:
https://pypi.python.org/pypi/ovs/2.6.0.dev1

This probably has the latest python3 fixes that were applied since OVS
2.5, so is required if someone wants to run neutron under python3.

Russell, do you know much about this? I'd CC otherwiseguy, but I don't
know who that is off-hand.



Bug#826780: Please package OVS >= 2.6.0.dev1

2016-06-08 Thread Ben Pfaff
On Thu, Jun 09, 2016 at 01:23:12AM +0200, Thomas Goirand wrote:
> Source: openvswitch
> Version: 2.3.0+git20140819-4
> Severity: normal
> 
> Hi,
> 
> OpenStack Neutron currently has:
> 
> ovs>=2.5.0;python_version=='2.7' # Apache-2.0
> ovs>=2.6.0.dev1;python_version>='3.4' # Apache-2.0
> 
> in its requirements.txt. Please package this at least to Debian Experimental,
> so that I can package Neutron Newton Beta 1.

I can package 2.5.x, though there are reports that there's one testsuite
failure on big-endian architectures.

OVS 2.6.0 doesn't exist yet, so it can't be packaged.  When Neutron asks
for 2.6.0 what does it mean?



Bug#826780: Please package OVS >= 2.6.0.dev1

2016-06-08 Thread Thomas Goirand
Source: openvswitch
Version: 2.3.0+git20140819-4
Severity: normal

Hi,

OpenStack Neutron currently has:

ovs>=2.5.0;python_version=='2.7' # Apache-2.0
ovs>=2.6.0.dev1;python_version>='3.4' # Apache-2.0

in its requirements.txt. Please package this at least to Debian Experimental,
so that I can package Neutron Newton Beta 1.

Cheers,

Thomas Goirand (zigo)