63031520e5
pyroute2 0.6.6 derived from upper-constraints has a bug which manifests in Operation not permitted problems on newer kernels. Distro vendors (RDO, UCA and Debian OpenStack) have already backported the fix to their python3-pyroute2 package - let's use it. Closes-Bug: #2042954 Change-Id: Iddd1f1ee6d4cd6b9a15ead323178052fe6b6e4fb
352 lines
10 KiB
Django/Jinja
352 lines
10 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.add_binary_source_envs() }}
|
|
{{ macros.enable_extra_repos(['crb', 'opstools', 'powertools']) }}
|
|
|
|
{% 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-PyYAML',
|
|
'python3-alembic',
|
|
'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-redis',
|
|
'python3-retrying',
|
|
'python3-routes',
|
|
'python3-saharaclient',
|
|
'python3-sqlalchemy',
|
|
'python3-sqlparse',
|
|
'python3-swiftclient',
|
|
'python3-sysv_ipc',
|
|
'python3-tooz',
|
|
'python3-troveclient',
|
|
'python3-vitrageclient',
|
|
'python3-webob',
|
|
'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-openstackclient',
|
|
'python3-oslo.log',
|
|
'python3-osprofiler',
|
|
'python3-psycopg2',
|
|
'python3-pymemcache',
|
|
'python3-pymysql',
|
|
'python3-pyngus',
|
|
'python3-redis',
|
|
'python3-saharaclient',
|
|
'python3-sysv-ipc',
|
|
'python3-swiftclient',
|
|
'python3-troveclient',
|
|
'python3-zake',
|
|
] %}
|
|
{% 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',
|
|
'mod_ssl',
|
|
'openssl',
|
|
'openssl-devel',
|
|
'pcre-devel',
|
|
'postgresql',
|
|
'postgresql-devel',
|
|
'python3-devel',
|
|
'python3-mod_wsgi',
|
|
'python3-pyroute2',
|
|
'sqlite-devel',
|
|
'zip'
|
|
] %}
|
|
|
|
{% elif base_package_type == 'deb' %}
|
|
{% set openstack_base_packages = [
|
|
'apache2',
|
|
'build-essential',
|
|
'ca-certificates',
|
|
'git',
|
|
'libapache2-mod-wsgi-py3',
|
|
'libffi-dev',
|
|
'libpcre3-dev',
|
|
'libpq-dev',
|
|
'libssl-dev',
|
|
'libxml2-dev',
|
|
'libxslt1-dev',
|
|
'libyaml-dev',
|
|
'libz-dev',
|
|
'pkg-config',
|
|
'python3-dev',
|
|
'python3-pyroute2',
|
|
'zip'
|
|
] %}
|
|
|
|
{% endif %}
|
|
|
|
{{ macros.enable_extra_repos(['powertools']) }}
|
|
{{ macros.install_packages(openstack_base_packages | customizable("packages")) }}
|
|
|
|
{% set openstack_base_pip_packages = [
|
|
'Babel',
|
|
'Mako',
|
|
'MarkupSafe',
|
|
'Paste',
|
|
'PasteDeploy',
|
|
'PyNaCl',
|
|
'PyYAML',
|
|
'Routes',
|
|
'SQLAlchemy',
|
|
'Tempita',
|
|
'WSME',
|
|
'WebOb',
|
|
'alembic',
|
|
'amqp',
|
|
'aodhclient',
|
|
'appdirs',
|
|
'automaton',
|
|
'bcrypt',
|
|
'cachetools',
|
|
'castellan',
|
|
'click',
|
|
'cliff',
|
|
'cmd2',
|
|
'contextlib2',
|
|
'cryptography',
|
|
'debtcollector',
|
|
'decorator',
|
|
'elasticsearch',
|
|
'eventlet',
|
|
'fasteners',
|
|
'funcsigs',
|
|
'futurist',
|
|
'gnocchiclient',
|
|
'greenlet',
|
|
'httplib2',
|
|
'iso8601',
|
|
'jinja2',
|
|
'jsonpatch',
|
|
'jsonpointer',
|
|
'jsonschema',
|
|
'keystoneauth1',
|
|
'keystonemiddleware',
|
|
'kombu',
|
|
'logutils',
|
|
'monotonic',
|
|
'netaddr',
|
|
'netifaces',
|
|
'os-brick',
|
|
'os-client-config',
|
|
'os-traits',
|
|
'os-win',
|
|
'oslo.concurrency',
|
|
'oslo.config',
|
|
'oslo.context',
|
|
'oslo.db',
|
|
'oslo.i18n',
|
|
'oslo.log',
|
|
'oslo.messaging',
|
|
'oslo.middleware',
|
|
'oslo.policy',
|
|
'oslo.privsep',
|
|
'oslo.reports',
|
|
'oslo.rootwrap',
|
|
'oslo.serialization',
|
|
'oslo.service',
|
|
'oslo.upgradecheck',
|
|
'oslo.utils',
|
|
'oslo.versionedobjects',
|
|
'oslo.vmware',
|
|
'osprofiler',
|
|
'paramiko',
|
|
'pbr',
|
|
'pecan',
|
|
'pika',
|
|
'prettytable',
|
|
'psutil',
|
|
'pycadf',
|
|
'pyinotify',
|
|
'pymysql',
|
|
'pyngus',
|
|
'pyparsing',
|
|
'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',
|
|
'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 \
|
|
{# NOTE(mnasiadka): Remove ovs from upper-constraints.txt because python3-openvswitch
|
|
is usually newer than UC entry and older version would get installed
|
|
in venv (see https://launchpad.net/bugs/1961874).
|
|
#}
|
|
&& sed -i /^ovs=/d /requirements/upper-constraints.txt \
|
|
{# NOTE(mnasiadka): Remove neutron from upper-constraints.txt LP#1979703 #}
|
|
&& sed -i /^neutron=/d /requirements/upper-constraints.txt \
|
|
&& 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
|
|
|
|
{# NOTE: pin setuptools on python 3.9 (centos,debian) due to horizon build failures #}
|
|
{% if distro_python_version == '3.9' %}
|
|
RUN {{ macros.install_pip(['pip', 'wheel', 'setuptools==67.2.*']) }} \
|
|
{% else %}
|
|
RUN {{ macros.install_pip(['pip', 'wheel', 'setuptools']) }} \
|
|
{% endif %}
|
|
&& {{ 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 %}
|