[openstack-dev] [nova][ironic] do we really need websockify with numpy speedups?

Pavlo Shchelokovskyy pshchelokovskyy at mirantis.com
Thu Nov 26 11:44:17 UTC 2015


Hi all,

I was long puzzled why devstack is installing numpy. Being a fantastic
package itself, it has the drawback of taking about 4 minutes to compile
its C extensions when installing on our gates (e.g. [0]). I finally took
time to research and here is what I've found:

it is used only by websockify package (installed by AFAIK ironic and nova
only), and there it is used to speed up the HyBi protocol. Although the
code itself has a path to work without numpy installed [1], the setup.py of
websockify declares numpy as a hard dependency [2].

My question is do we really need those speedups? Do we test any feature
requiring fast HyBi support on gates? Not installing numpy would shave 4
minutes off any gate job that is installing Nova or Ironic, which seems
like a good deal to me.

If we decide to save this time, I have prepared a pull request for
websockify that moves numpy requirement to "extras" [3]. As a consequence
numpy will not be installed by default as dependency, but still possible to
install with e.g. "pip install websockify[fastHyBi]", and package builders
can also specify numpy as hard dependency for websockify package in package
specs.

What do you think?

[0]
http://logs.openstack.org/82/236982/6/check/gate-tempest-dsvm-ironic-agent_ssh/1141960/logs/devstacklog.txt.gz#_2015-11-11_19_51_40_784
[1]
https://github.com/kanaka/websockify/blob/master/websockify/websocket.py#L143
[2] https://github.com/kanaka/websockify/blob/master/setup.py#L37
[3]
https://github.com/pshchelo/websockify/commit/0b1655e73ea13b4fba9c6fb4122adb1435d5ce1a

Best regards,
-- 
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/20151126/63bfea95/attachment.html>


More information about the OpenStack-dev mailing list