Re: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt

2014-09-04 Thread Andreas Jaeger
On 09/03/2014 09:09 PM, Clark Boylan wrote:
> 
> 
> On Wed, Sep 3, 2014, at 11:51 AM, Kuvaja, Erno wrote:
>>> -Original Message-
>>> From: Sean Dague [mailto:s...@dague.net]
>>> Sent: 03 September 2014 13:37
>>> To: OpenStack Development Mailing List (not for usage questions)
>>> Subject: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt
>>>
>>> I'm not sure why people keep showing up with "sort requirements" patches
>>> like - https://review.openstack.org/#/c/76817/6, however, they do.
>>>
>>> All of these need to be -2ed with predjudice.
>>>
>>> requirements.txt is not a declarative interface. The order is important as 
>>> pip
>>> processes it in the order it is. Changing the order has impacts on the 
>>> overall
>>> integration which can cause wedges later.
>>>
>>> So please stop.
>>>
>>> -Sean
>>>
>>> --
>>> Sean Dague
>>> http://dague.net
>>>
>>
>> Hi Sean & all,
>>
>> Could you please open this up a little bit? What are we afraid breaking
>> regarding the order of these requirements? I tried to go through pip
>> documentation but I could not find reason of specific order of the lines,
>> references to keep the order there was 'though.
>>
>> I'm now assuming one thing here as I do not know if that's the case. None
>> of the packages enables/disables functionality depending of what has been
>> installed on the system before, but they have their own dependencies to
>> provide those. Based on this assumption I can think of only one scenario
>> causing us issues. That is us abusing the example in point 2 of
>> https://pip.pypa.io/en/latest/user_guide.html#requirements-files meaning;
>> we install package X depending on package Y>=1.0,<2.0 before installing
>> package Z depending on Y>=1.0 to ensure that package Y<2.0 without
>> pinning package Y in our requirements.txt. I certainly hope that this is
>> not the case as depending 3rd party vendor providing us specific version
>> of dependency package would be extremely stupid.
>>
>> Other than that I really don't know how the order could cause us issues,
>> but I would be really happy to learn something new today if that is the
>> case or if my assumption went wrong.
>>
>> Best Regards,
>> Erno (jokke_) Kuvaja
>>  
>>> ___
>>> OpenStack-dev mailing list
>>> OpenStack-dev@lists.openstack.org
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>> ___
>> OpenStack-dev mailing list
>> OpenStack-dev@lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> The issue is described in the bug that Josh linked
> (https://github.com/pypa/pip/issues/988). Basically pip doesn't do
> dependency resolution in a way that lets you treat requirements as order
> independent. For that to be the case pip would have to evaluate all
> dependencies together then install the intersection of those
> dependencies. Instead it iterates over the list(s) in order and
> evaluates each dependency as it is found.
> 
> Your example basically describes where this breaks. You can both depend
> on the same dependency at different versions and pip will install a
> version that satisfies only one of the dependencies and not the other
> leading to a failed install. However I think a more common case is that
> openstack will pin a dependency and say Y>=1.0,<2.0 and the X dependency
> will say Y>=1.0. If the X dependency comes first you get version 2.5
> which is not valid for your specification of Y>=1.0,<2.0 and pip fails.
> You fix this by listing Y before X dependency that installs Y with less
> restrictive boundaries.
> 
> Another example of a slightly different failure would be hacking,
> flake8, pep8, and pyflakes. Hacking installs a specific version of
> flake8, pep8, and pyflakes so that we do static lint checking with
> consistent checks each release. If you sort this list alphabetically
> instead of allowing hacking to install its deps flake8 will come first
> and you can get a different version of pep8. Different versions of pep8
> check different things and now the gate has broken.
> 
> The most problematic thing is you can't count on your dependencies from
> not breaking you if they come first (because they are evaluated first).
> So in cases where we know order is important (hacking and pbr a

Re: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt

2014-09-03 Thread Kuvaja, Erno
> -Original Message-
> From: Clark Boylan [mailto:cboy...@sapwetik.org]
> Sent: 03 September 2014 21:57
> To: openstack-dev@lists.openstack.org
> Subject: Re: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt
> 
> 
> 
> On Wed, Sep 3, 2014, at 01:06 PM, Kuvaja, Erno wrote:
> > > -Original Message-
> > > From: Clark Boylan [mailto:cboy...@sapwetik.org]
> > > Sent: 03 September 2014 20:10
> > > To: openstack-dev@lists.openstack.org
> > > Subject: Re: [openstack-dev] [all] [glance] do NOT ever sort
> > > requirements.txt
> > >
> > >
> > >
> > > On Wed, Sep 3, 2014, at 11:51 AM, Kuvaja, Erno wrote:
> > > > > -Original Message-
> > > > > From: Sean Dague [mailto:s...@dague.net]
> > > > > Sent: 03 September 2014 13:37
> > > > > To: OpenStack Development Mailing List (not for usage questions)
> > > > > Subject: [openstack-dev] [all] [glance] do NOT ever sort
> > > > > requirements.txt
> > > > >
> > > > > I'm not sure why people keep showing up with "sort requirements"
> > > > > patches like - https://review.openstack.org/#/c/76817/6,
> > > > > however, they
> > > do.
> > > > >
> > > > > All of these need to be -2ed with predjudice.
> > > > >
> > > > > requirements.txt is not a declarative interface. The order is
> > > > > important as pip processes it in the order it is. Changing the
> > > > > order has impacts on the overall integration which can cause wedges
> later.
> > > > >
> > > > > So please stop.
> > > > >
> > > > >   -Sean
> > > > >
> > > > > --
> > > > > Sean Dague
> > > > > http://dague.net
> > > > >
> > > >
> > > > Hi Sean & all,
> > > >
> > > > Could you please open this up a little bit? What are we afraid
> > > > breaking regarding the order of these requirements? I tried to go
> > > > through pip documentation but I could not find reason of specific
> > > > order of the lines, references to keep the order there was 'though.
> > > >
> > > > I'm now assuming one thing here as I do not know if that's the case.
> > > > None of the packages enables/disables functionality depending of
> > > > what has been installed on the system before, but they have their
> > > > own dependencies to provide those. Based on this assumption I can
> > > > think of only one scenario causing us issues. That is us abusing
> > > > the example in point 2 of
> > > > https://pip.pypa.io/en/latest/user_guide.html#requirements-files
> > > > meaning; we install package X depending on package Y>=1.0,<2.0
> > > > before installing package Z depending on Y>=1.0 to ensure that
> > > > package Y<2.0 without pinning package Y in our requirements.txt. I
> > > > certainly hope that this is not the case as depending 3rd party
> > > > vendor providing us specific
> > > version of dependency package would be extremely stupid.
> > > >
> > > > Other than that I really don't know how the order could cause us
> > > > issues, but I would be really happy to learn something new today
> > > > if that is the case or if my assumption went wrong.
> > > >
> > > > Best Regards,
> > > > Erno (jokke_) Kuvaja
> > > >
> > > > > ___
> > > > > OpenStack-dev mailing list
> > > > > OpenStack-dev@lists.openstack.org
> > > > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-de
> > > > > v
> > > >
> > > > ___
> > > > OpenStack-dev mailing list
> > > > OpenStack-dev@lists.openstack.org
> > > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> > >
> > > The issue is described in the bug that Josh linked
> > > (https://github.com/pypa/pip/issues/988). Basically pip doesn't do
> > > dependency resolution in a way that lets you treat requirements as
> > > order independent. For that to be the case pip would have to
> > > evaluate all dependencies together then install the intersection of those
> dependencies.
> > > Instead it

Re: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt

2014-09-03 Thread Clark Boylan


On Wed, Sep 3, 2014, at 01:06 PM, Kuvaja, Erno wrote:
> > -Original Message-
> > From: Clark Boylan [mailto:cboy...@sapwetik.org]
> > Sent: 03 September 2014 20:10
> > To: openstack-dev@lists.openstack.org
> > Subject: Re: [openstack-dev] [all] [glance] do NOT ever sort 
> > requirements.txt
> > 
> > 
> > 
> > On Wed, Sep 3, 2014, at 11:51 AM, Kuvaja, Erno wrote:
> > > > -Original Message-
> > > > From: Sean Dague [mailto:s...@dague.net]
> > > > Sent: 03 September 2014 13:37
> > > > To: OpenStack Development Mailing List (not for usage questions)
> > > > Subject: [openstack-dev] [all] [glance] do NOT ever sort
> > > > requirements.txt
> > > >
> > > > I'm not sure why people keep showing up with "sort requirements"
> > > > patches like - https://review.openstack.org/#/c/76817/6, however, they
> > do.
> > > >
> > > > All of these need to be -2ed with predjudice.
> > > >
> > > > requirements.txt is not a declarative interface. The order is
> > > > important as pip processes it in the order it is. Changing the order
> > > > has impacts on the overall integration which can cause wedges later.
> > > >
> > > > So please stop.
> > > >
> > > > -Sean
> > > >
> > > > --
> > > > Sean Dague
> > > > http://dague.net
> > > >
> > >
> > > Hi Sean & all,
> > >
> > > Could you please open this up a little bit? What are we afraid
> > > breaking regarding the order of these requirements? I tried to go
> > > through pip documentation but I could not find reason of specific
> > > order of the lines, references to keep the order there was 'though.
> > >
> > > I'm now assuming one thing here as I do not know if that's the case.
> > > None of the packages enables/disables functionality depending of what
> > > has been installed on the system before, but they have their own
> > > dependencies to provide those. Based on this assumption I can think of
> > > only one scenario causing us issues. That is us abusing the example in
> > > point 2 of
> > > https://pip.pypa.io/en/latest/user_guide.html#requirements-files
> > > meaning; we install package X depending on package Y>=1.0,<2.0 before
> > > installing package Z depending on Y>=1.0 to ensure that package Y<2.0
> > > without pinning package Y in our requirements.txt. I certainly hope
> > > that this is not the case as depending 3rd party vendor providing us 
> > > specific
> > version of dependency package would be extremely stupid.
> > >
> > > Other than that I really don't know how the order could cause us
> > > issues, but I would be really happy to learn something new today if
> > > that is the case or if my assumption went wrong.
> > >
> > > Best Regards,
> > > Erno (jokke_) Kuvaja
> > >
> > > > ___
> > > > OpenStack-dev mailing list
> > > > OpenStack-dev@lists.openstack.org
> > > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> > >
> > > ___
> > > OpenStack-dev mailing list
> > > OpenStack-dev@lists.openstack.org
> > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> > 
> > The issue is described in the bug that Josh linked
> > (https://github.com/pypa/pip/issues/988). Basically pip doesn't do
> > dependency resolution in a way that lets you treat requirements as order
> > independent. For that to be the case pip would have to evaluate all
> > dependencies together then install the intersection of those dependencies.
> > Instead it iterates over the list(s) in order and evaluates each dependency 
> > as
> > it is found.
> > 
> > Your example basically describes where this breaks. You can both depend on
> > the same dependency at different versions and pip will install a version 
> > that
> > satisfies only one of the dependencies and not the other leading to a failed
> > install. However I think a more common case is that openstack will pin a
> > dependency and say Y>=1.0,<2.0 and the X dependency will say Y>=1.0. If
> > the X dependency comes first you get version 2.5 which is not valid for your
> > specification of Y>=1.0,<2.0 and pip fails.
> > You

Re: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt

2014-09-03 Thread Kuvaja, Erno
> -Original Message-
> From: Clark Boylan [mailto:cboy...@sapwetik.org]
> Sent: 03 September 2014 20:10
> To: openstack-dev@lists.openstack.org
> Subject: Re: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt
> 
> 
> 
> On Wed, Sep 3, 2014, at 11:51 AM, Kuvaja, Erno wrote:
> > > -Original Message-
> > > From: Sean Dague [mailto:s...@dague.net]
> > > Sent: 03 September 2014 13:37
> > > To: OpenStack Development Mailing List (not for usage questions)
> > > Subject: [openstack-dev] [all] [glance] do NOT ever sort
> > > requirements.txt
> > >
> > > I'm not sure why people keep showing up with "sort requirements"
> > > patches like - https://review.openstack.org/#/c/76817/6, however, they
> do.
> > >
> > > All of these need to be -2ed with predjudice.
> > >
> > > requirements.txt is not a declarative interface. The order is
> > > important as pip processes it in the order it is. Changing the order
> > > has impacts on the overall integration which can cause wedges later.
> > >
> > > So please stop.
> > >
> > >   -Sean
> > >
> > > --
> > > Sean Dague
> > > http://dague.net
> > >
> >
> > Hi Sean & all,
> >
> > Could you please open this up a little bit? What are we afraid
> > breaking regarding the order of these requirements? I tried to go
> > through pip documentation but I could not find reason of specific
> > order of the lines, references to keep the order there was 'though.
> >
> > I'm now assuming one thing here as I do not know if that's the case.
> > None of the packages enables/disables functionality depending of what
> > has been installed on the system before, but they have their own
> > dependencies to provide those. Based on this assumption I can think of
> > only one scenario causing us issues. That is us abusing the example in
> > point 2 of
> > https://pip.pypa.io/en/latest/user_guide.html#requirements-files
> > meaning; we install package X depending on package Y>=1.0,<2.0 before
> > installing package Z depending on Y>=1.0 to ensure that package Y<2.0
> > without pinning package Y in our requirements.txt. I certainly hope
> > that this is not the case as depending 3rd party vendor providing us 
> > specific
> version of dependency package would be extremely stupid.
> >
> > Other than that I really don't know how the order could cause us
> > issues, but I would be really happy to learn something new today if
> > that is the case or if my assumption went wrong.
> >
> > Best Regards,
> > Erno (jokke_) Kuvaja
> >
> > > ___
> > > OpenStack-dev mailing list
> > > OpenStack-dev@lists.openstack.org
> > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >
> > ___
> > OpenStack-dev mailing list
> > OpenStack-dev@lists.openstack.org
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> The issue is described in the bug that Josh linked
> (https://github.com/pypa/pip/issues/988). Basically pip doesn't do
> dependency resolution in a way that lets you treat requirements as order
> independent. For that to be the case pip would have to evaluate all
> dependencies together then install the intersection of those dependencies.
> Instead it iterates over the list(s) in order and evaluates each dependency as
> it is found.
> 
> Your example basically describes where this breaks. You can both depend on
> the same dependency at different versions and pip will install a version that
> satisfies only one of the dependencies and not the other leading to a failed
> install. However I think a more common case is that openstack will pin a
> dependency and say Y>=1.0,<2.0 and the X dependency will say Y>=1.0. If
> the X dependency comes first you get version 2.5 which is not valid for your
> specification of Y>=1.0,<2.0 and pip fails.
> You fix this by listing Y before X dependency that installs Y with less 
> restrictive
> boundaries.
> 
> Another example of a slightly different failure would be hacking, flake8,
> pep8, and pyflakes. Hacking installs a specific version of flake8, pep8, and
> pyflakes so that we do static lint checking with consistent checks each
> release. If you sort this list alphabetically instead of allowing hacking to 
> install
> its deps flake8 will come first and you can get a different version of pep8.
> Different v

Re: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt

2014-09-03 Thread Clark Boylan


On Wed, Sep 3, 2014, at 11:51 AM, Kuvaja, Erno wrote:
> > -Original Message-
> > From: Sean Dague [mailto:s...@dague.net]
> > Sent: 03 September 2014 13:37
> > To: OpenStack Development Mailing List (not for usage questions)
> > Subject: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt
> > 
> > I'm not sure why people keep showing up with "sort requirements" patches
> > like - https://review.openstack.org/#/c/76817/6, however, they do.
> > 
> > All of these need to be -2ed with predjudice.
> > 
> > requirements.txt is not a declarative interface. The order is important as 
> > pip
> > processes it in the order it is. Changing the order has impacts on the 
> > overall
> > integration which can cause wedges later.
> > 
> > So please stop.
> > 
> > -Sean
> > 
> > --
> > Sean Dague
> > http://dague.net
> >
> 
> Hi Sean & all,
> 
> Could you please open this up a little bit? What are we afraid breaking
> regarding the order of these requirements? I tried to go through pip
> documentation but I could not find reason of specific order of the lines,
> references to keep the order there was 'though.
> 
> I'm now assuming one thing here as I do not know if that's the case. None
> of the packages enables/disables functionality depending of what has been
> installed on the system before, but they have their own dependencies to
> provide those. Based on this assumption I can think of only one scenario
> causing us issues. That is us abusing the example in point 2 of
> https://pip.pypa.io/en/latest/user_guide.html#requirements-files meaning;
> we install package X depending on package Y>=1.0,<2.0 before installing
> package Z depending on Y>=1.0 to ensure that package Y<2.0 without
> pinning package Y in our requirements.txt. I certainly hope that this is
> not the case as depending 3rd party vendor providing us specific version
> of dependency package would be extremely stupid.
> 
> Other than that I really don't know how the order could cause us issues,
> but I would be really happy to learn something new today if that is the
> case or if my assumption went wrong.
> 
> Best Regards,
> Erno (jokke_) Kuvaja
>  
> > ___
> > OpenStack-dev mailing list
> > OpenStack-dev@lists.openstack.org
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> ___
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

The issue is described in the bug that Josh linked
(https://github.com/pypa/pip/issues/988). Basically pip doesn't do
dependency resolution in a way that lets you treat requirements as order
independent. For that to be the case pip would have to evaluate all
dependencies together then install the intersection of those
dependencies. Instead it iterates over the list(s) in order and
evaluates each dependency as it is found.

Your example basically describes where this breaks. You can both depend
on the same dependency at different versions and pip will install a
version that satisfies only one of the dependencies and not the other
leading to a failed install. However I think a more common case is that
openstack will pin a dependency and say Y>=1.0,<2.0 and the X dependency
will say Y>=1.0. If the X dependency comes first you get version 2.5
which is not valid for your specification of Y>=1.0,<2.0 and pip fails.
You fix this by listing Y before X dependency that installs Y with less
restrictive boundaries.

Another example of a slightly different failure would be hacking,
flake8, pep8, and pyflakes. Hacking installs a specific version of
flake8, pep8, and pyflakes so that we do static lint checking with
consistent checks each release. If you sort this list alphabetically
instead of allowing hacking to install its deps flake8 will come first
and you can get a different version of pep8. Different versions of pep8
check different things and now the gate has broken.

The most problematic thing is you can't count on your dependencies from
not breaking you if they come first (because they are evaluated first).
So in cases where we know order is important (hacking and pbr and
probably a handful of others) we should be listing them as early as
possible in the requirements.

Clark

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt

2014-09-03 Thread Kuvaja, Erno
> -Original Message-
> From: Sean Dague [mailto:s...@dague.net]
> Sent: 03 September 2014 13:37
> To: OpenStack Development Mailing List (not for usage questions)
> Subject: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt
> 
> I'm not sure why people keep showing up with "sort requirements" patches
> like - https://review.openstack.org/#/c/76817/6, however, they do.
> 
> All of these need to be -2ed with predjudice.
> 
> requirements.txt is not a declarative interface. The order is important as pip
> processes it in the order it is. Changing the order has impacts on the overall
> integration which can cause wedges later.
> 
> So please stop.
> 
>   -Sean
> 
> --
> Sean Dague
> http://dague.net
>

Hi Sean & all,

Could you please open this up a little bit? What are we afraid breaking 
regarding the order of these requirements? I tried to go through pip 
documentation but I could not find reason of specific order of the lines, 
references to keep the order there was 'though.

I'm now assuming one thing here as I do not know if that's the case. None of 
the packages enables/disables functionality depending of what has been 
installed on the system before, but they have their own dependencies to provide 
those. Based on this assumption I can think of only one scenario causing us 
issues. That is us abusing the example in point 2 of 
https://pip.pypa.io/en/latest/user_guide.html#requirements-files meaning; we 
install package X depending on package Y>=1.0,<2.0 before installing package Z 
depending on Y>=1.0 to ensure that package Y<2.0 without pinning package Y in 
our requirements.txt. I certainly hope that this is not the case as depending 
3rd party vendor providing us specific version of dependency package would be 
extremely stupid.

Other than that I really don't know how the order could cause us issues, but I 
would be really happy to learn something new today if that is the case or if my 
assumption went wrong.

Best Regards,
Erno (jokke_) Kuvaja
 
> ___
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt

2014-09-03 Thread Joshua Harlow
Anyone know what happened to (or is happening) to:

https://github.com/pypa/pip/issues/988

'Pip needs a real dependency resolver'

Maybe it's time we as a community helped pip get that feature in?

-Josh

On Sep 3, 2014, at 5:37 AM, Sean Dague  wrote:

> I'm not sure why people keep showing up with "sort requirements" patches
> like - https://review.openstack.org/#/c/76817/6, however, they do.
> 
> All of these need to be -2ed with predjudice.
> 
> requirements.txt is not a declarative interface. The order is important
> as pip processes it in the order it is. Changing the order has impacts
> on the overall integration which can cause wedges later.
> 
> So please stop.
> 
>   -Sean
> 
> -- 
> Sean Dague
> http://dague.net
> 
> ___
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt

2014-09-03 Thread Dolph Mathews
On Wed, Sep 3, 2014 at 11:23 AM, Doug Hellmann 
wrote:

>
> On Sep 3, 2014, at 12:20 PM, Dolph Mathews 
> wrote:
>
>
> On Wed, Sep 3, 2014 at 8:25 AM, Sean Dague  wrote:
>
>> On 09/03/2014 09:03 AM, Daniel P. Berrange wrote:
>> > On Wed, Sep 03, 2014 at 08:37:17AM -0400, Sean Dague wrote:
>> >> I'm not sure why people keep showing up with "sort requirements"
>> patches
>> >> like - https://review.openstack.org/#/c/76817/6, however, they do.
>> >>
>> >> All of these need to be -2ed with predjudice.
>> >>
>> >> requirements.txt is not a declarative interface. The order is important
>> >> as pip processes it in the order it is. Changing the order has impacts
>> >> on the overall integration which can cause wedges later.
>> >
>> > Can  requirements.txt contain comment lines ?  If so, it would be
>> > worth adding
>> >
>> ># The ordering of modules in this file is important
>> ># Do not attempt to re-sort the lines
>> >
>> > Because 6 months hence people will have probably forgotten about
>> > this mail, or if they're new contributors, never know it existed.
>>
>> The point is that core review team members should know. In this case at
>> least one glance core +2ed this change.
>>
>> Regular contributors can be educated by core team members.
>>
>
> Regardless, tribal knowledge should be documented, and doing so in
> requirements files is probably the best place for that.
>
>
> +1
>
> Write-it-down-ly,
> Doug
>

The blocked review Sean mentioned above happens to reference a bug that
I've now marked invalid against all projects that hadn't already applied
"fixes" for it:

  https://bugs.launchpad.net/glance/+bug/1285478

Instead, I've opened a second task to add a note to all the requirements
files:

  https://bugs.launchpad.net/keystone/+bug/1365061

All associated patches:


https://review.openstack.org/#/q/I64ae9191863564e278a35d42ec9cd743a233028e,n,z



>
>
>
>>
>> -Sean
>>
>> --
>> Sean Dague
>> http://dague.net
>>
>> ___
>> OpenStack-dev mailing list
>> OpenStack-dev@lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>
> ___
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
> ___
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt

2014-09-03 Thread Doug Hellmann

On Sep 3, 2014, at 12:20 PM, Dolph Mathews  wrote:

> 
> On Wed, Sep 3, 2014 at 8:25 AM, Sean Dague  wrote:
> On 09/03/2014 09:03 AM, Daniel P. Berrange wrote:
> > On Wed, Sep 03, 2014 at 08:37:17AM -0400, Sean Dague wrote:
> >> I'm not sure why people keep showing up with "sort requirements" patches
> >> like - https://review.openstack.org/#/c/76817/6, however, they do.
> >>
> >> All of these need to be -2ed with predjudice.
> >>
> >> requirements.txt is not a declarative interface. The order is important
> >> as pip processes it in the order it is. Changing the order has impacts
> >> on the overall integration which can cause wedges later.
> >
> > Can  requirements.txt contain comment lines ?  If so, it would be
> > worth adding
> >
> ># The ordering of modules in this file is important
> ># Do not attempt to re-sort the lines
> >
> > Because 6 months hence people will have probably forgotten about
> > this mail, or if they're new contributors, never know it existed.
> 
> The point is that core review team members should know. In this case at
> least one glance core +2ed this change.
> 
> Regular contributors can be educated by core team members.
> 
> Regardless, tribal knowledge should be documented, and doing so in 
> requirements files is probably the best place for that.

+1

Write-it-down-ly,
Doug

>  
> 
> -Sean
> 
> --
> Sean Dague
> http://dague.net
> 
> ___
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> ___
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt

2014-09-03 Thread Dolph Mathews
On Wed, Sep 3, 2014 at 8:25 AM, Sean Dague  wrote:

> On 09/03/2014 09:03 AM, Daniel P. Berrange wrote:
> > On Wed, Sep 03, 2014 at 08:37:17AM -0400, Sean Dague wrote:
> >> I'm not sure why people keep showing up with "sort requirements" patches
> >> like - https://review.openstack.org/#/c/76817/6, however, they do.
> >>
> >> All of these need to be -2ed with predjudice.
> >>
> >> requirements.txt is not a declarative interface. The order is important
> >> as pip processes it in the order it is. Changing the order has impacts
> >> on the overall integration which can cause wedges later.
> >
> > Can  requirements.txt contain comment lines ?  If so, it would be
> > worth adding
> >
> ># The ordering of modules in this file is important
> ># Do not attempt to re-sort the lines
> >
> > Because 6 months hence people will have probably forgotten about
> > this mail, or if they're new contributors, never know it existed.
>
> The point is that core review team members should know. In this case at
> least one glance core +2ed this change.
>
> Regular contributors can be educated by core team members.
>

Regardless, tribal knowledge should be documented, and doing so in
requirements files is probably the best place for that.


>
> -Sean
>
> --
> Sean Dague
> http://dague.net
>
> ___
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt

2014-09-03 Thread Sean Dague
On 09/03/2014 09:03 AM, Daniel P. Berrange wrote:
> On Wed, Sep 03, 2014 at 08:37:17AM -0400, Sean Dague wrote:
>> I'm not sure why people keep showing up with "sort requirements" patches
>> like - https://review.openstack.org/#/c/76817/6, however, they do.
>>
>> All of these need to be -2ed with predjudice.
>>
>> requirements.txt is not a declarative interface. The order is important
>> as pip processes it in the order it is. Changing the order has impacts
>> on the overall integration which can cause wedges later.
> 
> Can  requirements.txt contain comment lines ?  If so, it would be
> worth adding 
> 
># The ordering of modules in this file is important
># Do not attempt to re-sort the lines
> 
> Because 6 months hence people will have probably forgotten about
> this mail, or if they're new contributors, never know it existed.

The point is that core review team members should know. In this case at
least one glance core +2ed this change.

Regular contributors can be educated by core team members.

-Sean

-- 
Sean Dague
http://dague.net

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt

2014-09-03 Thread Romain Hardouin
On Wed, 2014-09-03 at 14:03 +0100, Daniel P. Berrange wrote:
> On Wed, Sep 03, 2014 at 08:37:17AM -0400, Sean Dague wrote:
> > I'm not sure why people keep showing up with "sort requirements" patches
> > like - https://review.openstack.org/#/c/76817/6, however, they do.
> > 
> > All of these need to be -2ed with predjudice.
> > 
> > requirements.txt is not a declarative interface. The order is important
> > as pip processes it in the order it is. Changing the order has impacts
> > on the overall integration which can cause wedges later.
> 
> Can  requirements.txt contain comment lines ?  If so, it would be
> worth adding 
> 
># The ordering of modules in this file is important
># Do not attempt to re-sort the lines
> 
> Because 6 months hence people will have probably forgotten about
> this mail, or if they're new contributors, never know it existed.
> 
> Regards,
> Daniel

Yes, requirements.txt can contain comment lines.
It's a good idea to keep this information in the file itself.

Best,
Romain



___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [all] [glance] do NOT ever sort requirements.txt

2014-09-03 Thread Daniel P. Berrange
On Wed, Sep 03, 2014 at 08:37:17AM -0400, Sean Dague wrote:
> I'm not sure why people keep showing up with "sort requirements" patches
> like - https://review.openstack.org/#/c/76817/6, however, they do.
> 
> All of these need to be -2ed with predjudice.
> 
> requirements.txt is not a declarative interface. The order is important
> as pip processes it in the order it is. Changing the order has impacts
> on the overall integration which can cause wedges later.

Can  requirements.txt contain comment lines ?  If so, it would be
worth adding 

   # The ordering of modules in this file is important
   # Do not attempt to re-sort the lines

Because 6 months hence people will have probably forgotten about
this mail, or if they're new contributors, never know it existed.

Regards,
Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [all] [glance] do NOT ever sort requirements.txt

2014-09-03 Thread Sean Dague
I'm not sure why people keep showing up with "sort requirements" patches
like - https://review.openstack.org/#/c/76817/6, however, they do.

All of these need to be -2ed with predjudice.

requirements.txt is not a declarative interface. The order is important
as pip processes it in the order it is. Changing the order has impacts
on the overall integration which can cause wedges later.

So please stop.

-Sean

-- 
Sean Dague
http://dague.net

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev