[openstack-dev] [kolla][release][requirements] providing constraints for transitive dependencies
Steven Dake (stdake)
stdake at cisco.com
Mon Nov 28 08:15:17 UTC 2016
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?
Regards
-steve
-----Original Message-----
From: Tony Breeds <tony at bakeyournoodle.com>
Reply-To: "OpenStack Development Mailing List (not for usage questions)" <openstack-dev at lists.openstack.org>
Date: Sunday, November 27, 2016 at 9:42 PM
To: "OpenStack Development Mailing List (not for usage questions)" <openstack-dev at lists.openstack.org>
Subject: Re: [openstack-dev] [kolla][release][requirements] providing constraints for transitive dependencies
On Mon, Nov 28, 2016 at 02:41:08AM +0000, Steven Dake (stdake) wrote:
> Hey folks,
>
> I get a lot of requests for variance reduction of transitive dependencies in
> Kolla’s containers. As an example, we build from source nova. Nova itself
> we can specify a version to install in the containers during build time.
> Nova’s python dependencies, not so much.
I'm not certain I follow. You're using upper-constraints for install time
consistent version selection, and that applies to *all* dependencies no matter
how many levels down they are. You *could* extract and manipulate the upper-constraints
file for each container, and assuming 1 container 1 service that will probably
give you want you want. The only trick is for data that is passed over the RPC
between services. For example having different versions of oslo.context in the
nova conductor and nova-compute containers would be a bad thing.
Is that kinda what you're asking?
If not a more concrete example would be very helpful.
> Is there a best practice for doing such in the python ecosystem?
Nope. in the python eco-system you more or less get what you ask for and it;s
up to you to find a spot on the prescriptive <-> flexible line.
Yours Tony.
More information about the OpenStack-dev
mailing list