This is a follow-up on "Refactor httpd install to base image" [1]. It seems a copy-paste algorithm was used to craft Dockerfiles for some httpd-enabled services which resulted in an abundance of ldappool packages getting installed, even in the 'source' case. This seems to have also kept ldappool at a lower version because it did not get updated via pip later. This patch deals with that and also moves ldap deps for Keystone to their proper place in 'source' case (extras). Note Keystone client gets installed in openstack-base. Cinder does not need to include Keystone either. [1] https://review.opendev.org/744037 Change-Id: I017d7a6a5d2b1ae6c04556dcf172453a36de5be7
339 lines
9.3 KiB
Django/Jinja
339 lines
9.3 KiB
Django/Jinja
FROM {{ namespace }}/{{ infra_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',
|
|
'httpd',
|
|
'initscripts',
|
|
'libxslt',
|
|
'libyaml',
|
|
'mailcap',
|
|
'mod_ssl',
|
|
'openssl',
|
|
'python3-alembic',
|
|
'python3-anyjson',
|
|
'python3-aodhclient',
|
|
'python3-barbicanclient',
|
|
'python3-cachetools',
|
|
'python3-cloudkittyclient',
|
|
'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-mod_wsgi',
|
|
'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 = [
|
|
'apache2',
|
|
'libapache2-mod-wsgi-py3',
|
|
'openssl',
|
|
'patch',
|
|
'python3-aodhclient',
|
|
'python3-barbicanclient',
|
|
'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',
|
|
'httpd',
|
|
'iproute',
|
|
'libffi-devel',
|
|
'libxml2-devel',
|
|
'libxslt-devel',
|
|
'libyaml-devel',
|
|
'make',
|
|
'mariadb-devel',
|
|
'mod_ssl',
|
|
'openssl',
|
|
'openssl-devel',
|
|
'pcre-devel',
|
|
'postgresql',
|
|
'postgresql-devel',
|
|
'python3-devel',
|
|
'python3-mod_wsgi',
|
|
'sqlite-devel',
|
|
'zip'
|
|
] %}
|
|
|
|
{% elif base_package_type == 'deb' %}
|
|
{% set openstack_base_packages = [
|
|
'apache2',
|
|
'build-essential',
|
|
'ca-certificates',
|
|
'git',
|
|
'libapache2-mod-wsgi-py3',
|
|
'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")) }}
|
|
|
|
{% block source_install_python_pip %}
|
|
{{ macros.get_pip() }}
|
|
{% endblock %}
|
|
|
|
{% 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-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'], constraints = false)}} \
|
|
&& 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 %}
|
|
|
|
{% if base_package_type == 'rpm' %}
|
|
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
|
|
&& sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf
|
|
{% elif base_package_type == 'deb' %}
|
|
RUN echo > /etc/apache2/ports.conf
|
|
{% endif %}
|
|
|
|
{% block openstack_base_footer %}{% endblock %}
|