FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }} {% block labels %} LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" {% endblock %} {% block openstack_base_header %}{% endblock %} {% import "macros.j2" as macros with context %} {{ macros.enable_extra_repos(['opstools']) }} {% if install_type == 'binary' %} {% if base_package_type == 'rpm' %} {% set openstack_base_packages = [ 'avahi-libs', 'gnutls', 'initscripts', 'libxslt', 'libyaml', 'mailcap', 'openssl', 'python3-alembic', 'python3-anyjson', 'python3-aodhclient', 'python3-barbicanclient', 'python3-cachetools', 'python3-cloudkittyclient', 'python3-congressclient', 'python3-contextlib2', 'python3-cryptography', 'python3-designateclient', 'python3-elasticsearch', 'python3-eventlet', 'python3-extras', 'python3-glanceclient', 'python3-gnocchiclient', 'python3-heatclient', 'python3-httplib2', 'python3-ironicclient', 'python3-iso8601', 'python3-kazoo', 'python3-keystoneauth1', 'python3-keystoneclient', 'python3-keystonemiddleware', 'python3-logutils', 'python3-lxml', 'python3-magnumclient', 'python3-manilaclient', 'python3-migrate', 'python3-mimeparse', 'python3-mistralclient', 'python3-muranoclient', 'python3-neutronclient', 'python3-novaclient', 'python3-openstackclient', 'python3-oslo-cache', 'python3-oslo-concurrency', 'python3-oslo-config', 'python3-oslo-context', 'python3-oslo-db', 'python3-oslo-i18n', 'python3-oslo-log', 'python3-oslo-messaging', 'python3-oslo-middleware', 'python3-oslo-policy', 'python3-oslo-reports', 'python3-oslo-rootwrap', 'python3-oslo-serialization', 'python3-oslo-service', 'python3-oslo-upgradecheck', 'python3-oslo-utils', 'python3-oslo-versionedobjects', 'python3-osprofiler', 'python3-paramiko', 'python3-paste-deploy', 'python3-pbr', 'python3-posix_ipc', 'python3-prettytable', 'python3-psycopg2', 'python3-pyasn1', 'python3-PyYAML', 'python3-redis', 'python3-retrying', 'python3-routes', 'python3-saharaclient', 'python3-sqlalchemy', 'python3-sqlalchemy-collectd', 'python3-sqlparse', 'python3-swiftclient', 'python3-sysv_ipc', 'python3-tooz', 'python3-troveclient', 'python3-vitrageclient', 'python3-webob', 'python3-zaqarclient', 'systemd-sysv', ] %} {% elif base_package_type == 'deb' %} # This will prevent questions from being asked during the install ENV DEBIAN_FRONTEND noninteractive {% set openstack_base_packages = [ 'openssl', 'patch', 'python3-aodhclient', 'python3-barbicanclient', 'python3-congressclient', 'python3-designateclient', 'python3-elasticsearch', 'python3-etcd', 'python3-etcd3gw', 'python3-gnocchiclient', 'python3-heatclient', 'python3-ironicclient', 'python3-kazoo', 'python3-keystoneclient', 'python3-magnumclient', 'python3-manilaclient', 'python3-memcache', 'python3-mistralclient', 'python3-muranoclient', 'python3-mysqldb', 'python3-openstackclient', 'python3-oslo.log', 'python3-osprofiler', 'python3-pip', 'python3-psycopg2', 'python3-pymemcache', 'python3-pymysql', 'python3-pyngus', 'python3-redis', 'python3-saharaclient', 'python3-sysv-ipc', 'python3-swiftclient', 'python3-troveclient', 'python3-zake', 'python3-zaqarclient' ] %} {% endif %} {{ macros.install_packages(openstack_base_packages | customizable("packages")) }} {% elif install_type == 'source' %} {% if base_package_type == 'rpm' %} {% set openstack_base_packages = [ 'gcc', 'gcc-c++', 'git', 'iproute', 'libffi-devel', 'libxml2-devel', 'libxslt-devel', 'libyaml-devel', 'make', 'mariadb-devel', 'openldap-devel', 'openssl', 'openssl-devel', 'pcre-devel', 'postgresql', 'postgresql-devel', 'python3-devel', 'sqlite-devel', 'zip' ] %} {% elif base_package_type == 'deb' %} {% set openstack_base_packages = [ 'build-essential', 'ca-certificates', 'git', 'libffi-dev', 'libmariadb-dev-compat', 'libpcre3-dev', 'libpq-dev', 'libssl-dev', 'libxml2-dev', 'libxslt1-dev', 'libyaml-dev', 'libz-dev', 'pkg-config', 'python3-dev', 'zip' ] %} {% endif %} {{ macros.install_packages(openstack_base_packages | customizable("packages")) }} {% set openstack_base_pip_packages = [ 'Babel', 'Mako', 'MarkupSafe', 'Paste', 'PasteDeploy', 'PyNaCl', 'PyYAML', 'Routes', 'SQLAlchemy', 'Tempita', 'WebOb', 'WSME', 'alembic', 'amqp', 'anyjson', 'aodhclient', 'appdirs', 'bcrypt', 'cachetools', 'cliff', 'cmd2', 'cryptography', 'contextlib2', 'debtcollector', 'decorator', 'elasticsearch', 'eventlet', 'fasteners', 'funcsigs', 'futurist', 'gnocchiclient', 'greenlet', 'iso8601', 'jinja2', 'jsonpatch', 'jsonpointer', 'jsonschema', 'keystoneauth1', 'keystonemiddleware', 'kombu', 'logutils', 'monotonic', 'mysqlclient', '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', 'oslo.vmware', 'osprofiler', 'pbr', 'pecan', 'pika', 'prettytable', 'psutil', 'pycadf', 'pyinotify', 'pymongo', 'pymysql', 'pyngus', 'pyparsing', 'pyroute2', 'python-barbicanclient', 'python-cinderclient', 'python-cloudkittyclient', '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-qpid-proton', 'python-saharaclient', 'python-swiftclient', 'python-troveclient', 'python-vitrageclient', 'python-zaqarclient', 'pytz', 'repoze.lru', 'requests', 'requestsexceptions', 'retrying', 'setproctitle', 'simplegeneric', 'simplejson', 'six', 'sqlalchemy-migrate', 'sqlparse', 'stevedore', 'tooz[consul,etcd,etcd3,etcd3gw,zake,redis,postgresql,mysql,zookeeper,memcached,ipc]', 'unicodecsv', 'warlock', 'wrapt' ] %} ADD openstack-base-archive /openstack-base-source RUN ln -s openstack-base-source/* /requirements \ && mkdir -p /var/lib/kolla \ && {{ macros.install_pip(['virtualenv'])}} \ && virtualenv --system-site-packages /var/lib/kolla/venv ENV PATH /var/lib/kolla/venv/bin:$PATH RUN {{ macros.install_pip(openstack_base_pip_packages | customizable("pip_packages")) }} {% endif %} {% block openstack_base_footer %}{% endblock %}