Fixed
Details
Assignee
Xavier VilajosanaXavier VilajosanaReporter
Thomas WatteyneThomas WatteynePriority
Normal
Details
Details
Assignee
Xavier Vilajosana
Xavier VilajosanaReporter
Thomas Watteyne
Thomas WatteynePriority
More fields
More fields
More fields
Created August 24, 2013 at 10:01 PM
Updated September 11, 2013 at 2:00 AM
Resolved September 11, 2013 at 2:00 AM
When the http://builder.openwsn.org/ server runs a job, it builds the environment needed for that job. That environment usually contains Python packages such as SCons, pyserial, or pytest. With the current setup, these packages are downloaded from https://pypi.python.org each time. Besides creating a lot of networking traffic, it can fail if pypi is not available for some reason.
The goal of this improvement is to install a local mirror of pypi, containing a handful of packages, and instructing the
easy_intall
andpip
utilities to first look in that local cache, then in the global pypi if the package is not found.Several cache systems exist, but the simplest is probably https://pypi.python.org/pypi/pypiserver. It is a small Python program which listens on some port, and hands over packages it has in a single folder. Adding a package to the cache simply means adding the corresponding tar.gz file in the packages folder.
Both
easy_install
andpip
can be instructed to first look in a cache at http://localhost:8080 before going to the https://pypi.python.org/pypi/pypiserver:pip install -i
http://localhost:8080/simple/<package>
easy_install -i
http://localhost:8080/simple/<package>
The following steps can be used when resolving this issue:
download and install pypiserver on builder.openwsn.org
make sure this server is started when the machine reboots. The simplest it probably to add a link to a
.bat
file in thestartup
folder in the Start Menu.add the packages listed below to the pypiserver installation
go through the jobs currently run by Jenkins, and add the option to have
easy_install
andpip
first use the cache.The package which are currently used by all jobs are:
http://prdownloads.sourceforge.net/scons/scons-2.2.0.tar.gz
https://pypi.python.org/packages/source/p/pytest/pytest-2.3.5.tar.gz
https://pypi.python.org/packages/source/p/pyserial/pyserial-2.6.tar.gz
https://pypi.python.org/packages/source/S/Sphinx/Sphinx-1.1.3.tar.gz