1cda1acc7f
This commit removes the hardcoded KOLLA_DISTRO_PYTHON_VERSION and replaces it with dynamic Python version detection during container images build. Dockerfiles and scripts now use general python3 references, simplifying maintenance and ensuring compatibility with future Python versions. Test cases relying on distro_python_version were also cleaned up. Change-Id: I891749598247a5e951ed4a873b16acfd0566f59c
76 lines
2.9 KiB
Django/Jinja
76 lines
2.9 KiB
Django/Jinja
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
|
|
# NOTE(kevko): This dance with local settings python paths below is needed
|
|
# because we are using different distros with different python version and we need to
|
|
# know to which path symlink should point to.
|
|
RUN ln -s horizon-source/* horizon \
|
|
&& {{ macros.upper_constraints_remove("horizon") }} \
|
|
&& {{ 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.py \
|
|
&& local_settings=$(python -c 'import os;import openstack_dashboard;settings=os.path.dirname(openstack_dashboard.__file__) + "/local/local_settings.py";print(settings);') \
|
|
&& rm -f $local_settings \
|
|
&& ln -s /etc/openstack-dashboard/local_settings.py $local_settings \
|
|
&& mkdir -p /etc/openstack-dashboard/local_settings.d \
|
|
&& local_settings_d=$(python -c 'import os;import openstack_dashboard;settings_d=os.path.dirname(openstack_dashboard.__file__) + "/local/local_settings.d";print(settings_d);') \
|
|
&& rm -rf $local_settings_d \
|
|
&& ln -s /etc/openstack-dashboard/local_settings.d $local_settings_d \
|
|
&& 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/python3/site-packages/*/locale; do \
|
|
(cd ${locale%/*} && /var/lib/kolla/venv/bin/django-admin compilemessages) \
|
|
done \
|
|
&& chmod 644 /usr/local/bin/kolla_extend_start
|
|
|
|
{% block horizon_footer %}{% endblock %}
|
|
{% block footer %}{% endblock %}
|