diskimage-builder/elements/pypi/README.md
Monty Taylor 5e3b5320e4 Remove github references
OpenStack runs git.openstack.org which is more reliable and responsive
when projects operate within OpenStack Infra. Replace all of the
references to github with referneces to git.openstack.org.

Change-Id: Ib3ece85aba6451801487b0bdbd83147e39d9e155
2013-09-18 08:17:10 -05:00

42 lines
1.5 KiB
Markdown

Inject a PyPI mirror
====================
Bind mounts a PyPI mirror from ~/.cache/image-create/pypi/mirror into the build
environment and temporarily overwrites /root/.pip.conf and .pydistutils.cfg to
use it.
When online, the master pypi index is supplied as an extra-url, so uncached
dependencies will still be available. When offline, only the mirror is used - a
stale mirror will cause build failures.
[jeepyb](https://git.openstack.org/cgit/openstack-infra/jeepyb) can be useful in making a
partial PyPI mirror suitable for building images. For instance:
* sudo apt-get install libxml2-dev libxslt-dev libmysqlclient-dev libpq-dev \
libnspr4-dev pkg-config libsqlite3-dev libzmq-dev libffi-dev libldap2-dev \
libsasl2-dev
* pip install git+https://git.openstack.org/openstack-infra/jeepyb
* cat << EOF > mirror.yaml
cache-root: /home/USER/.cache/image-create/pypi/download
mirrors:
- name: openstack
projects:
- https://git.openstack.org/openstack/requirements
output: /home/USER/.cache/image-create/pypi/mirror
EOF
* mkdir -p /home/USER/.cache/image-create/pypi/{download,mirror}
* run-mirror -b remotes/origin/master --verbose -c mirror.yaml
# This creates and updates the mirror.
If you have additional packages that are not identified in the global openstack
requirements project, you can include them:
* pip install -d ~/.cache/image-create/pypi/download/pip/openstack \
heat-cfntools distribute os-apply-config
run-mirror -b remotes/origin/master --verbose -c mirror.yaml --no-download