Re: [openstack-dev] [openstack-ansible] Limiting pip wheel builds for OpenStack clients

2018-01-29 Thread Jean-Philippe Evrard
I added my comment/opinion on the bug.

Thanks for reporting this, Major!

__
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


Re: [openstack-dev] [openstack-ansible] Limiting pip wheel builds for OpenStack clients

2018-01-24 Thread Doug Hellmann
Excerpts from Mooney, Sean K's message of 2018-01-24 20:30:19 +:
> 
> > -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


Re: [openstack-dev] [openstack-ansible] Limiting pip wheel builds for OpenStack clients

2018-01-24 Thread Mooney, Sean K


> -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.
> 
> 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


[openstack-dev] [openstack-ansible] Limiting pip wheel builds for OpenStack clients

2018-01-24 Thread Major Hayden
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

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