Tony A+ on the explanation.
Thanks, dude, you rock! That solves the exact problem. I think what we need is an override for upper-constraints.txt in Kolla. Regards -steve -----Original Message----- From: Tony Breeds <[email protected]> Reply-To: "OpenStack Development Mailing List (not for usage questions)" <[email protected]> Date: Monday, November 28, 2016 at 2:06 AM To: "OpenStack Development Mailing List (not for usage questions)" <[email protected]> Subject: Re: [openstack-dev] [kolla][release][requirements] providing constraints for transitive dependencies On Mon, Nov 28, 2016 at 08:15:17AM +0000, Steven Dake (stdake) wrote: > Tony, > > Are you indicating that all transitive dependencies (e.g. nova depends on x > depends on y, y = version of dep we want to specify) are in > global-requirements.txt? So in order to reduce confusion I'll try to explain this in a little more detail but the TL;DR is: No only nova's direct requirements are in global-requirements.txt. *all* requirements are in upper-constraints.txt. Now the longer version: * nova requires oslo.messaging, which is listed in openstack/nova:requirements.txt. * openstack/nova:requirements.txt is regularly updated by the proposal-bot with the relevant parts of global-requirements.txt * the nova project runs the 'check-requirements' jobs ensuring that everything in: openstack/nova:requirements.txt openstack/nova:test-requirements.txt and relevant parts of openstack/nova:setup.cfg are listed in global-requirements. * As oslo.messaging is an OpenStack project it's bound by the same rules above * However any non-OpenStack libraries used by either nova or oslo.messaging are not in global-requirements.txt. There is a nightly job that installs all of global-requirements.txt (and dependencies) and tracks the exact version of each library in a file ... upper-constraints.txt So anything you need to install to use any part of OpenStack[1] will be listed in upper-constraints.txt. So if you really need to install version $x of library $foo you can edit upper-constraints.txt to state that. There are a couple of gotchas. I recommend you use edit-constraints from openstack-requirements (on pypi) to actually edit the constraints files. Also if you're doing anything "too funky" you're probably best actually editing a requirements and then using generate-constraints to actually generate the constraints file. That's time/network expensive but will result in a valid set where editing the constraints file at will could result in an incompatible and thus uninstallable system. I really hope that helps and hasn't just confused the situation. Yours Tony. __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
