FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} {% block labels %} LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" {% endblock %} {% block horizon_header %}{% endblock %} {% import "macros.j2" as macros with context %} {{ macros.configure_user(name='horizon') }} {% if base_package_type == 'rpm' %} {% set horizon_packages = [ 'gettext' ] %} {{ macros.install_packages(horizon_packages | customizable("packages")) }} {% elif base_package_type == 'deb' %} {% set horizon_packages = [ 'gettext', 'locales', 'tzdata' ] %} {{ macros.install_packages(horizon_packages | customizable("packages")) }} {% block horizon_ubuntu_source_setup %} RUN ln -s ../mods-available/headers.load /etc/apache2/mods-enabled/headers.load {% endblock %} {% endif %} ADD horizon-archive /horizon-source ADD plugins-archive / {% set horizon_pip_packages = [ '/horizon' ] %} {% set horizon_plugins_pip_packages = [ '/plugins/*' ] %} COPY extend_start.sh /usr/local/bin/kolla_extend_start # NOTE(hrw): to install horizon from unpacked sources we cannot have it in upper-constraints.txt RUN ln -s horizon-source/* horizon \ && sed -i /^horizon=/d /requirements/upper-constraints.txt \ && {{ macros.install_pip(horizon_pip_packages | customizable("pip_packages")) }} \ && mkdir -p /etc/openstack-dashboard \ && cp -r /horizon/openstack_dashboard/conf/* /etc/openstack-dashboard/ \ && cp /horizon/openstack_dashboard/local/local_settings.py.example /etc/openstack-dashboard/local_settings \ && cp /horizon/manage.py /var/lib/kolla/venv/bin/manage.py \ && if [ "$(ls /plugins)" ]; then \ {{ macros.install_pip(horizon_plugins_pip_packages) }}; \ fi \ && for locale in /var/lib/kolla/venv/lib/python{{distro_python_version}}/site-packages/*/locale; do \ (cd ${locale%/*} && /var/lib/kolla/venv/bin/django-admin compilemessages) \ done \ && chown -R horizon: /etc/openstack-dashboard \ && chmod 644 /usr/local/bin/kolla_extend_start {% block horizon_footer %}{% endblock %} {% block footer %}{% endblock %}