Excerpts from Mooney, Sean K's message of 2018-01-24 20:30:19 +0000: > > > -----Original Message----- > > From: Major Hayden [mailto:ma...@mhtx.net] > > Sent: Wednesday, January 24, 2018 8:03 PM > > To: OpenStack Development Mailing List (not for usage questions) > > <openstack-dev@lists.openstack.org> > > Subject: [openstack-dev] [openstack-ansible] Limiting pip wheel builds > > for OpenStack clients > > > > Hey there, > > > > I was spelunking into the slow wheel build problems we've been seeing > > in CentOS and I found that our wheel build process was spending 4-6 > > minutes building cassandra-driver. The wheel build process usually > > takes 8-12 minutes, so half the time is being spent there. > > > > More digging revealed that cassandra-driver is a dependency of python- > > monascaclient, which is a dependency of heat. The requirements.txt for > > heat drags in all of the clients: > > > > https://github.com/openstack/heat/blob/master/requirements.txt > [Mooney, Sean K] the python-monascaclient package is presumably an optional > Dependency of heat as are the other client. > E.g. I would hope that if you are using a heat with a cloud that does not have > Monasca it could still run without have python-monascaclient installed so > All of the clients should proably be move form the requirements.txt to the > test-requiremetns.txt and only the minimal required packages for heat to work > should be in requirements.txt.
This is what the "extras" section of setup.cfg is for. It should be possible to say something like: [extras] monasca = python-monascaclient>=1.0.0 (or whatever version) Then users of pip would install a heat that uses monasca with: pip install heat[monasca] and distro packagers would know why any extra packages are needed and could take appropriate action in their package specifications, too. > > > > We're already doing selective wheel builds and building only the wheels > > and venvs we need for the OpenStack services which are selected for > > deployment. Would it make sense to reduce the OpenStack client list for > > heat during the wheel/venv build? For example, if we're not deploying > > monasca, should we build/venv the python-monascaclient package (and its > > dependencies)? > > > > I've opened a bug: > > > > https://bugs.launchpad.net/openstack-ansible/+bug/1745215 > > > > -- > > Major Hayden > > > > _______________________________________________________________________ > > ___ > > 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 __________________________________________________________________________ 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