diff --git a/docker/macros.j2 b/docker/macros.j2 index 494feb2f49..32496a9210 100644 --- a/docker/macros.j2 +++ b/docker/macros.j2 @@ -12,3 +12,8 @@ {%- endif %} {%- endif %} {%- endmacro %} + + +{% macro install_pip(packages) %} +RUN /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt {% for package in packages %}{{ package }} {% endfor %} +{% endmacro %} diff --git a/docker/openstack-base/Dockerfile.j2 b/docker/openstack-base/Dockerfile.j2 index 3ec33f1beb..09dfe1798b 100644 --- a/docker/openstack-base/Dockerfile.j2 +++ b/docker/openstack-base/Dockerfile.j2 @@ -231,112 +231,115 @@ RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \ && rm get-pip.py {% endblock %} +{% set openstack_base_pip_packages = [ + 'Babel', + 'Mako', + 'MarkupSafe', + 'Paste', + 'PasteDeploy', + 'PyYAML', + 'Routes', + 'SQLAlchemy', + 'Tempita', + 'WebOb', + 'alembic', + 'amqp', + 'anyjson', + 'appdirs', + 'cachetools', + 'cliff', + 'cmd2', + 'contextlib2', + 'debtcollector', + 'decorator', + 'enum34', + 'eventlet', + 'fasteners', + 'funcsigs', + 'functools32', + 'futures', + 'futurist', + 'greenlet', + 'iso8601', + 'jinja2', + 'jsonpatch', + 'jsonpointer', + 'jsonschema', + 'keystoneauth1', + 'keystonemiddleware', + 'kombu', + 'monotonic', + 'msgpack-python', + 'netaddr', + 'netifaces', + 'os-client-config', + 'oslo.concurrency', + 'oslo.config', + 'oslo.context', + 'oslo.db', + 'oslo.i18n', + 'oslo.log', + 'oslo.messaging', + 'oslo.middleware', + 'oslo.policy', + 'oslo.serialization', + 'oslo.service', + 'oslo.utils', + 'pbr', + 'pika', + 'pika-pool', + 'positional', + 'prettytable', + 'pycadf', + 'pycrypto', + 'pyinotify', + 'pymysql', + 'pyparsing', + 'python-barbicanclient', + 'python-ceilometerclient', + 'python-cinderclient', + 'python-congressclient', + 'python-dateutil', + 'python-designateclient', + 'python-editor', + 'python-glanceclient', + 'python-heatclient', + 'python-ironicclient', + 'python-keystoneclient', + 'python-magnumclient', + 'python-manilaclient', + 'python-memcached', + 'python-mistralclient', + 'python-muranoclient', + 'python-neutronclient', + 'python-novaclient', + 'python-openstackclient', + 'python-saharaclient', + 'python-swiftclient', + 'python-troveclient', + 'python-zaqarclient', + 'pytz', + 'repoze.lru', + 'requests', + 'requestsexceptions', + 'retrying', + 'simplejson', + 'six', + 'sqlalchemy-migrate', + 'sqlparse', + 'stevedore', + 'unicodecsv', + 'warlock', + 'wrapt' + ] +%} + ADD openstack-base-archive /openstack-base-source RUN ln -s openstack-base-source/* /requirements \ && mkdir -p /var/lib/kolla \ && pip --no-cache-dir install -U virtualenv \ - && virtualenv --system-site-packages /var/lib/kolla/venv \ - && /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt \ - Babel \ - Mako \ - MarkupSafe \ - Paste \ - PasteDeploy \ - PyYAML \ - Routes \ - SQLAlchemy \ - Tempita \ - WebOb \ - alembic \ - amqp \ - anyjson \ - appdirs \ - cachetools \ - cliff \ - cmd2 \ - contextlib2 \ - debtcollector \ - decorator \ - enum34 \ - eventlet \ - fasteners \ - funcsigs \ - functools32 \ - futures \ - futurist \ - greenlet \ - iso8601 \ - jinja2 \ - jsonpatch \ - jsonpointer \ - jsonschema \ - keystoneauth1 \ - keystonemiddleware \ - kombu \ - monotonic \ - msgpack-python \ - netaddr \ - netifaces \ - os-client-config \ - oslo.concurrency \ - oslo.config \ - oslo.context \ - oslo.db \ - oslo.i18n \ - oslo.log \ - oslo.messaging \ - oslo.middleware \ - oslo.policy \ - oslo.serialization \ - oslo.service \ - oslo.utils \ - pbr \ - pika \ - pika-pool \ - positional \ - prettytable \ - pycadf \ - pycrypto \ - pyinotify \ - pymysql \ - pyparsing \ - python-barbicanclient \ - python-ceilometerclient \ - python-cinderclient \ - python-congressclient \ - python-dateutil \ - python-designateclient \ - python-editor \ - python-glanceclient \ - python-heatclient \ - python-ironicclient \ - python-keystoneclient \ - python-magnumclient \ - python-manilaclient \ - python-memcached \ - python-mistralclient \ - python-muranoclient \ - python-neutronclient \ - python-novaclient \ - python-openstackclient \ - python-saharaclient \ - python-swiftclient \ - python-troveclient \ - python-zaqarclient \ - pytz \ - repoze.lru \ - requests \ - requestsexceptions \ - retrying \ - simplejson \ - six \ - sqlalchemy-migrate \ - sqlparse \ - stevedore \ - unicodecsv \ - warlock \ - wrapt - + && virtualenv --system-site-packages /var/lib/kolla/venv +{{ macros.install_pip(openstack_base_pip_packages | customizable("pip_packages")) }} ENV PATH /var/lib/kolla/venv/bin:$PATH {% endif %}