[all] [requirements] Artificially inflated requirements in os-brick

Thomas Goirand zigo at debian.org
Mon Feb 21 13:10:28 UTC 2022

On 2/18/22 18:33, Brian Rosmaita wrote:
> On 2/18/22 11:42 AM, Thomas Goirand wrote:
>> Hi,
>> I've been quite surprised to see $topic. Most requirements for 
>> os-brick are now to be found in Yoga only. I've asked why, and I've 
>> been told that the reason is because "we've been testing with the new 
>> versions only for the number of months".
>> Well, the reason why someone would increase a minimum requirement 
>> *must* be only because of the need of a new feature, and should be 
>> treated with care. Otherwise, this makes upgrading very dangerous and 
>> annoying to do. As much as possible, I would strongly recommend that 
>> any dependency in Stable can be found in Stable-1 (only when a new 
>> feature is mandatory, then it's ok-ish to require that new version, 
>> though I would advocate for a possible fallback if that's not too 
>> complex to write).
>> Now, if that's the path we're taking, all is going backward 5 years 
>> ago, and then my thinking is: we must reintroduce lower-constraints 
>> testing ASAP.
>> Your thoughts everyone?
> It would be nice to have clear guidance on this.  I tried to get 
> pre-release comments about what I planned to do with os-brick, but maybe 
> I didn't allow enough time or had an unclear subject line:
> http://lists.openstack.org/pipermail/openstack-discuss/2022-February/027192.html

I saw the message, but reading it, it wasn't clear enough what the 
intention was, and TBH, I probably read the patch too quickly.

> My concern about keeping the minima low is that what we're actually 
> testing with in the gate is pretty much whatever's in upper constraints. 
> The previous lower-constraint job basically just checked to see if you 
> could co-install the minimum versions of dependencies and run pass unit 
> tests within a single project, which doesn't seem very realistic.

It was catching API / ABI breakage, which was the intention.

> In any case, it would be better to have an openstack-wide policy so we 
> can raise minima in a coordinated way, rather than me forcing everyone 
> who uses os-brick to do whatever I do.

That's what the global-requirements were supposed to be about, however, 
as far as the CI is concerned, now only the upper-constraints.txt are in 
use, resulting in now useless requirements.txt.

I very much see a huge regression here, compared to what we had maybe 2 
years ago.

Indeed, we need to have a (more) global thinking OpenStack wide about 
what we should do. I still believe that all project should be able as 
much as possible to run with all the requirements from stable -1, to 
ease upgrading. This way, it's possible to:
1/ upgrade all services without updating the libs
2/ then upgrade the libs
3/ and finally restart all services.

without troubles with co-existing services. Requiring a lib from the 
current release means that potentially, during the upgrade, an older 
service may run with a library from oldstable+1, which that service 
doesn't know about (yet). If that's not always possible, it's of course 
IMO ok to allow exceptions, if they are under control, and if we make 
sure there's no backward breakage (which can only be checked manually).


Thomas Goirand (zigo)

More information about the openstack-discuss mailing list