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