On 4/11/2018 5:09 PM, Michael Still wrote:

https://review.openstack.org/#/c/523387 proposes adding a z/VM specific dependancy to nova's requirements.txt. When I objected the counter argument is that we have examples of windows specific dependancies (os-win) and powervm specific dependancies in that file already.

I think perhaps all three are a mistake and should be removed.

My recollection is that for drivers like ironic which may not be deployed by everyone, we have the dependancy documented, and then loaded at runtime by the driver itself instead of adding it to requirements.txt. This is to stop pip for auto-installing the dependancy for anyone who wants to run nova. I had assumed this was at the request of the deployer community.

So what do we do with z/VM? Do we clean this up? Or do we now allow dependancies that are only useful to a very small number of deployments into requirements.txt?

As Eric pointed out in the review, this came up when pypowervm was added:

https://review.openstack.org/#/c/438119/5/requirements.txt

And you're asking the same questions I did in there, which was, should it go into test-requirements.txt like oslo.vmware and python-ironicclient, or should it go under [extras], or go into requirements.txt like os-win (we also have the xenapi library now too).

I don't really think all of these optional packages should be in requirements.txt, but we should just be consistent with whatever we do, be that test-requirements.txt or [extras]. I remember caring more about this back in my rpm packaging days when we actually tracked what was in requirements.txt to base what needed to go into the rpm spec, unlike Fedora rpm specs which just zero out requirements.txt and depend on their own knowledge of what needs to be installed (which is sometimes lacking or lagging master).

I also seem to remember that [extras] was less than user-friendly for some reason, but maybe that was just because of how our CI jobs are setup? Or I'm just making that up. I know it's pretty simple to install the stuff from extras for tox runs, it's just an extra set of dependencies to list in the tox.ini.

Having said all this, I don't have the energy to help push for consistency myself, but will happily watch you from the sidelines.

--

Thanks,

Matt

__________________________________________________________________________
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

Reply via email to