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

Pavlo Shchelokovskyy pshchelokovskyy at mirantis.com
Tue Oct 31 15:22:08 UTC 2017


On Mon, Oct 30, 2017 at 9:46 PM, Doug Hellmann <doug at doughellmann.com>
wrote:

> Excerpts from Dmitry Tantsur's message of 2017-10-30 17:51:49 +0100:
> > 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?
>
> The second option is what I would expect.
>
>
I also would prefer option 2 (per driver extras), with a catch-all [all]
extra to install all of those in one short command

I have a separate concern about ansible-deploy interface. It obviously
depends on Ansibe, but so does most of upstream infra. I am not sure if
adding  (somehow restricted) Ansible to g-r won't break anything.

Doug
>
> >
> > [1] https://github.com/openstack/ironic/blob/master/driver-
> requirements.txt
> > [2] https://github.com/openstack/python-ironicclient/blob/
> master/setup.cfg#L115
> >
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>



-- 
Dr. Pavlo Shchelokovskyy
Senior Software Engineer
Mirantis Inc
www.mirantis.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20171031/5a1adb05/attachment.html>


More information about the OpenStack-dev mailing list