[openstack-dev] [ironic] [requirements] moving driver dependencies to global-requirements?

Dmitry Tantsur dtantsur at redhat.com
Mon Oct 30 16:51:49 UTC 2017


Hi all,

So far driver requirements [1] have been managed outside of global-requirements. 
This was mostly necessary because some dependencies were not on PyPI. This is no 
longer the case, and I'd like to consider managing them just like any other 
dependencies. Pros:
1. making these dependencies (and their versions) more visible for packagers
2. following the same policies for regular and driver dependencies
3. ensuring co-installability of these dependencies with each other and with the 
remaining openstack
4. potentially using upper-constraints in 3rd party CI to test what packagers 
will probably package
5. we'll be able to finally create a tox job running unit tests with all these 
dependencies installed (FYI these often breaks in RDO CI)

Cons:
1. more work for both the requirements team and the vendor teams
2. inability to use ironic release notes to explain driver requirements changes
3. any objections from the requirements team?

If we make this change, we'll drop driver-requirements.txt, and will use 
setuptools extras to list then in setup.cfg (this way is supported by g-r) 
similar to what we do in ironicclient [2].

We either will have one list:

[extras]
drivers =
   sushy>=a.b
   python-dracclient>=x.y
   python-prolianutils>=v.w
   ...

or (and I like this more) we'll have a list per hardware type:

[extras]
redfish =
   sushy>=a.b
idrac =
   python-dracclient>=x.y
ilo =
   ...
...

WDYT?

[1] https://github.com/openstack/ironic/blob/master/driver-requirements.txt
[2] https://github.com/openstack/python-ironicclient/blob/master/setup.cfg#L115



More information about the OpenStack-dev mailing list