![Vladislav Belogrudov](/assets/img/avatar_default.png)
Currently we cannot import source archives with names different than expected by hardcoded line in Dockerfiles. This worked well for Openstack services' tarballs where we expected SERVICE-* root folder after extraction or kanaka-noVNC for nova-novncproxy docker. The latter fails if one tries to clone or get tarball under other names. This fix allows any archive (tar,tgz,zip) or repo name to be imported into dockerfile. Change-Id: I869a6a19afaf0e93925572746c22b7589b6600c9 Closes-Bug: #1491415
74 lines
2.8 KiB
Django/Jinja
74 lines
2.8 KiB
Django/Jinja
FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
|
|
MAINTAINER Kolla Project (https://launchpad.net.kolla)
|
|
|
|
{% if install_type == 'binary' %}
|
|
{% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
|
|
|
|
RUN yum -y install \
|
|
openstack-dashboard \
|
|
httpd \
|
|
mod_wsgi \
|
|
&& yum clean all \
|
|
&& chown -R apache: /usr/share/openstack-dashboard/static \
|
|
&& useradd --user-group horizon \
|
|
&& sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
|
|
&& ln -s /usr/share/openstack-dashboard/openstack_dashboard /usr/lib/python2.7/site-packages/openstack_dashboard \
|
|
&& ln -s /usr/share/openstack-dashboard/static /usr/lib/python2.7/site-packages/static \
|
|
&& chown -R horizon: /etc/openstack-dashboard
|
|
|
|
RUN sed -i "s|WEBROOT = '/dashboard/'|WEBROOT = '/'|" /etc/openstack-dashboard/local_settings \
|
|
&& cp /usr/share/openstack-dashboard/manage.py /usr/bin/manage.py \
|
|
&& /usr/bin/python /usr/bin/manage.py collectstatic --noinput --clear \
|
|
&& pip install -U django-pyscss \
|
|
&& /usr/bin/python /usr/bin/manage.py compress --force
|
|
|
|
# djano-pyscss causes manage.py compress to fail as shipped with current
|
|
# RDO. Upgrading to latest version appears to get mange.py to work properly
|
|
|
|
{% elif base_distro in ['ubuntu', 'debian'] %}
|
|
|
|
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
|
|
&& /bin/false
|
|
|
|
{% endif %}
|
|
{% elif install_type == 'source' %}
|
|
{% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
|
|
|
|
RUN yum install -y \
|
|
httpd \
|
|
mod_wsgi \
|
|
&& yum clean all \
|
|
&& sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf
|
|
|
|
{% elif base_distro in ['ubuntu', 'debian'] %}
|
|
|
|
RUN apt-get install -y --no-install-recommends \
|
|
apache2 \
|
|
libapache2-mod-wsgi \
|
|
&& echo > /etc/apache2/ports.conf \
|
|
&& apt-get clean
|
|
|
|
{% endif %}
|
|
|
|
ADD horizon-archive /horizon-source
|
|
RUN ln -s horizon-source/* horizon \
|
|
&& pip --no-cache-dir install /horizon \
|
|
&& useradd --user-group horizon \
|
|
&& mkdir -p /etc/openstack-dashboard /home/horizon \
|
|
&& ln -s /etc/openstack-dashboard/local_settings /usr/lib/python2.7/site-packages/openstack_dashboard/local/local_settings.py \
|
|
&& 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 /usr/bin/manage.py \
|
|
&& /usr/bin/python /usr/bin/manage.py collectstatic --noinput --clear \
|
|
&& /usr/bin/python /usr/bin/manage.py compress --force \
|
|
&& chown -R horizon: /etc/openstack-dashboard /home/horizon /usr/lib/python2.7/site-packages/static
|
|
|
|
{% endif %}
|
|
|
|
COPY start.sh /
|
|
COPY config-external.sh /opt/kolla/
|
|
|
|
CMD ["/start.sh"]
|
|
|
|
{{ include_footer }}
|