Re: [openstack-dev] [gate] broken by pyeclib 1.0.9 release

2015-09-11 Thread Sean Dague
On 09/10/2015 03:45 PM, Robert Collins wrote:
> On 11 September 2015 at 07:23, Robert Collins  
> wrote:
>> Note that master is pinned:
>>
>> commit aca1a74909d7a2841cd9805b7f57c867a1f74b73
>> Author: Tushar Gohad 
>> Date:   Tue Aug 18 07:55:18 2015 +
>>
>> Restrict PyECLib version to 1.0.7
>>
>> v1.0.9 rev of PyECLib replaces Jerasure with a native EC
>> implementation (liberasurecode_rs_vand) as the default
>> EC scheme.  Going forward, Jerasure will not be bundled
>> with PyPI version of PyECLib as it used to be, until
>> v1.0.7.
>>
>> This is an interim change to Global/Swift requirements
>> until we get v1.0.9 PyECLib released and included in
>> global-requirements and ready patches that change Swift
>> default ec_type (for doc, config samples and unit tests)
>> from "jerasure_rs_vand" to "liberasurecode_rs_vand."
>>
>> Without this change, Swift unit tests will break at gate
>> as soon as PyECLib v1.0.9 lands on PyPI
>>
>> * Swift is the only user of PyECLib at the moment
>>
>> Change-Id: I52180355b95679cbcddd497bbdd9be8e7167a3c7
>>
>>
>> But it appears a matching change was not done to j/k - and the pin
>> hasn't been removed from master.
> 
> I'm going to propose another manual review rule I think: we should not
> permit lower releases to use higher versions of libraries -
> approximately noone tests downgrades of their thing [and while it only
> matters for packages with weird installs / state management things,
> its a glaring hole in our reliability story].

I feel like that's a bad thing to assume of people's systems. What is
the expected behavior of an installer if it discovers installing
OpenStack requires downgrading a library? Halt and catch fire?

It also means we're back to having to pin requirements in stable
branches because that's the only way we can guaruntee this for people.
And that's a thing we specifically wanted to get out of the business of
doing because it let to all kinds of problems.

-Sean

-- 
Sean Dague
http://dague.net

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [gate] broken by pyeclib 1.0.9 release

2015-09-10 Thread Gohad, Tushar
+Kevin

> On 10 Sep 2015, at 12:49, Robert Collins  wrote:
> 
>> On 11 September 2015 at 07:23, Robert Collins  
>> wrote:
>> Note that master is pinned:
>> 
>> commit aca1a74909d7a2841cd9805b7f57c867a1f74b73
>> Author: Tushar Gohad 
>> Date:   Tue Aug 18 07:55:18 2015 +
>> 
>>Restrict PyECLib version to 1.0.7
>> 
>>v1.0.9 rev of PyECLib replaces Jerasure with a native EC
>>implementation (liberasurecode_rs_vand) as the default
>>EC scheme.  Going forward, Jerasure will not be bundled
>>with PyPI version of PyECLib as it used to be, until
>>v1.0.7.
>> 
>>This is an interim change to Global/Swift requirements
>>until we get v1.0.9 PyECLib released and included in
>>global-requirements and ready patches that change Swift
>>default ec_type (for doc, config samples and unit tests)
>>from "jerasure_rs_vand" to "liberasurecode_rs_vand."
>> 
>>Without this change, Swift unit tests will break at gate
>>as soon as PyECLib v1.0.9 lands on PyPI
>> 
>>* Swift is the only user of PyECLib at the moment
>> 
>>Change-Id: I52180355b95679cbcddd497bbdd9be8e7167a3c7
>> 
>> 
>> But it appears a matching change was not done to j/k - and the pin
>> hasn't been removed from master.
> 
> I'm going to propose another manual review rule I think: we should not
> permit lower releases to use higher versions of libraries -
> approximately noone tests downgrades of their thing [and while it only
> matters for packages with weird installs / state management things,
> its a glaring hole in our reliability story].
> 
> -Rob
> 
> -- 
> Robert Collins 
> Distinguished Technologist
> HP Converged Cloud
> 
> __
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [gate] broken by pyeclib 1.0.9 release

2015-09-10 Thread Robert Collins
On 11 September 2015 at 07:23, Robert Collins  wrote:
> Note that master is pinned:
>
> commit aca1a74909d7a2841cd9805b7f57c867a1f74b73
> Author: Tushar Gohad 
> Date:   Tue Aug 18 07:55:18 2015 +
>
> Restrict PyECLib version to 1.0.7
>
> v1.0.9 rev of PyECLib replaces Jerasure with a native EC
> implementation (liberasurecode_rs_vand) as the default
> EC scheme.  Going forward, Jerasure will not be bundled
> with PyPI version of PyECLib as it used to be, until
> v1.0.7.
>
> This is an interim change to Global/Swift requirements
> until we get v1.0.9 PyECLib released and included in
> global-requirements and ready patches that change Swift
> default ec_type (for doc, config samples and unit tests)
> from "jerasure_rs_vand" to "liberasurecode_rs_vand."
>
> Without this change, Swift unit tests will break at gate
> as soon as PyECLib v1.0.9 lands on PyPI
>
> * Swift is the only user of PyECLib at the moment
>
> Change-Id: I52180355b95679cbcddd497bbdd9be8e7167a3c7
>
>
> But it appears a matching change was not done to j/k - and the pin
> hasn't been removed from master.

I'm going to propose another manual review rule I think: we should not
permit lower releases to use higher versions of libraries -
approximately noone tests downgrades of their thing [and while it only
matters for packages with weird installs / state management things,
its a glaring hole in our reliability story].

-Rob

-- 
Robert Collins 
Distinguished Technologist
HP Converged Cloud

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [gate] broken by pyeclib 1.0.9 release

2015-09-10 Thread Robert Collins
Note that master is pinned:

commit aca1a74909d7a2841cd9805b7f57c867a1f74b73
Author: Tushar Gohad 
Date:   Tue Aug 18 07:55:18 2015 +

Restrict PyECLib version to 1.0.7

v1.0.9 rev of PyECLib replaces Jerasure with a native EC
implementation (liberasurecode_rs_vand) as the default
EC scheme.  Going forward, Jerasure will not be bundled
with PyPI version of PyECLib as it used to be, until
v1.0.7.

This is an interim change to Global/Swift requirements
until we get v1.0.9 PyECLib released and included in
global-requirements and ready patches that change Swift
default ec_type (for doc, config samples and unit tests)
from "jerasure_rs_vand" to "liberasurecode_rs_vand."

Without this change, Swift unit tests will break at gate
as soon as PyECLib v1.0.9 lands on PyPI

* Swift is the only user of PyECLib at the moment

Change-Id: I52180355b95679cbcddd497bbdd9be8e7167a3c7


But it appears a matching change was not done to j/k - and the pin
hasn't been removed from master.

-Rob

-- 
Robert Collins 
Distinguished Technologist
HP Converged Cloud

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [gate] broken by pyeclib 1.0.9 release

2015-09-10 Thread Matt Riedemann



On 9/10/2015 1:31 PM, Gohad, Tushar wrote:

Hi Sean,


To start with, "pip install PyECLib==1.0.9" works fine on a clean trusty 
instance.


Looking at the gate log - 
http://logs.openstack.org/92/115092/11/check/gate-grenade-dsvm/ecfb1f5/logs/grenade.sh.txt.gz#_2015-09-10_13_54_32_069:

-[snip]-

2015-09-10 13:55:52.335 | Collecting PyECLib===1.0.7 (from -c 
/opt/stack/new/requirements/upper-constraints.txt (line 15))
2015-09-10 13:55:52.393 |   Downloading 
http://pypi.region-b.geo-1.openstack.org/packages/source/P/PyECLib/PyECLib-1.0.7.tar.gz
 (8.4MB)

-[snip]-


If requirements.txt has "PyECLib >= 1.0.7", and latest on PyPI is PyECLib 
1.0.9, I wonder why the slave is trying to pull 1.0.7 ..

Also how is "upper-constaints.txt" used?


Thanks
Tushar



-Original Message-
From: Sean Dague [mailto:s...@dague.net]
Sent: Thursday, September 10, 2015 7:44 AM
To: OpenStack Development Mailing List (not for usage questions) 

Subject: [openstack-dev] [gate] broken by pyeclib 1.0.9 release

The pyeclib 1.0.9 release has broken the gate because Swift is in the default 
grenade upgrade jobs, and Swift stable/kilo allows 1.0.9 (which doesn't compile 
correctly with a pip install).

We're working to pin requirements in kilo/juno right now, but anything that has 
a grenade job is going to fail until these land.

-Sean

--
Sean Dague
http://dague.net

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



The grenade job is first installing 1.0.9 for kilo since pyeclib is 
uncapped there (well, it was uncapped until today).


Then it goes to install the 'new' side of grenade, which is liberty 
(master) and pyeclib is pinned to 1.0.7 there:


https://github.com/openstack/requirements/blob/master/global-requirements.txt#L125

That's where it's trying to downgrade from 1.0.9 to 1.0.7 and blows up.

--

Thanks,

Matt Riedemann


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [gate] broken by pyeclib 1.0.9 release

2015-09-10 Thread Gohad, Tushar
Hi Sean,


To start with, "pip install PyECLib==1.0.9" works fine on a clean trusty 
instance.


Looking at the gate log - 
http://logs.openstack.org/92/115092/11/check/gate-grenade-dsvm/ecfb1f5/logs/grenade.sh.txt.gz#_2015-09-10_13_54_32_069:

-[snip]-

2015-09-10 13:55:52.335 | Collecting PyECLib===1.0.7 (from -c 
/opt/stack/new/requirements/upper-constraints.txt (line 15))
2015-09-10 13:55:52.393 |   Downloading 
http://pypi.region-b.geo-1.openstack.org/packages/source/P/PyECLib/PyECLib-1.0.7.tar.gz
 (8.4MB)

-[snip]-


If requirements.txt has "PyECLib >= 1.0.7", and latest on PyPI is PyECLib 
1.0.9, I wonder why the slave is trying to pull 1.0.7 .. 

Also how is "upper-constaints.txt" used?


Thanks
Tushar



-Original Message-
From: Sean Dague [mailto:s...@dague.net] 
Sent: Thursday, September 10, 2015 7:44 AM
To: OpenStack Development Mailing List (not for usage questions) 

Subject: [openstack-dev] [gate] broken by pyeclib 1.0.9 release

The pyeclib 1.0.9 release has broken the gate because Swift is in the default 
grenade upgrade jobs, and Swift stable/kilo allows 1.0.9 (which doesn't compile 
correctly with a pip install).

We're working to pin requirements in kilo/juno right now, but anything that has 
a grenade job is going to fail until these land.

-Sean

--
Sean Dague
http://dague.net

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [gate] broken by pyeclib 1.0.9 release

2015-09-10 Thread Matt Riedemann



On 9/10/2015 9:44 AM, Sean Dague wrote:

The pyeclib 1.0.9 release has broken the gate because Swift is in the
default grenade upgrade jobs, and Swift stable/kilo allows 1.0.9 (which
doesn't compile correctly with a pip install).

We're working to pin requirements in kilo/juno right now, but anything
that has a grenade job is going to fail until these land.

-Sean



This is the LP bug we're tracking:

https://bugs.launchpad.net/openstack-gate/+bug/1494347

These are the immediate fixes:

Juno g-r cap: https://review.openstack.org/#/c/21/

Kilo g-r pin: https://review.openstack.org/#/c/18/

Upstream bug reported:

https://bitbucket.org/kmgreen2/pyeclib/issues/76/pyeclib-109-fails-to-install-if-not

--

Thanks,

Matt Riedemann


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [gate] broken by pyeclib 1.0.9 release

2015-09-10 Thread Sean Dague
The pyeclib 1.0.9 release has broken the gate because Swift is in the
default grenade upgrade jobs, and Swift stable/kilo allows 1.0.9 (which
doesn't compile correctly with a pip install).

We're working to pin requirements in kilo/juno right now, but anything
that has a grenade job is going to fail until these land.

-Sean

-- 
Sean Dague
http://dague.net

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev